История с периодом менее 1 сек

Есть ли возможность записывать в историю значения с частотой 20-10 Гц (20-10 раз в секунду).
При вводе в поле “Минимальный интервал записи значений (с)” в конфигурационный файл /etc/wb-mqtt-db.conf значения 0 - сервис wb-mqtt-db не стартует (code=killed, signal=FPE)

Добрый день.
Демон GitHub - wirenboard/wb-mqtt-db: Wiren Board database logger не поддерживает нулевое время.
А какую задачу хотите решить таким способом?

Тестовый стенд, данные от контроллера датчиков по Modbus (скорость 115200) поступают в контроллер WB7. Контроллер датчиков опрашивает датчики с периодом 20 мс. Данные могут меняться быстро, поэтому и встал вопрос о периоде записи и последующем анализе.

Добрый день.

А можете дать немного больше информации?
Что за датчики?
Что за область применения?
Какой технологический узел планируете автоматизировать?

1 Like

Вряд ли стандартный сервис подойдет для такой цели. Лучше реализовать свой. Например скриптом с правилом, которое на изменение значения будет писать в базу данных.

контроллер датчиков ОВЕН MB110-220.8AC, датчики температуры и давления (токовая петля). Период опроса у ОВЕНа одного датчика - 5 мс, 4 датчика - итого 20 мс.
Область применения - испытания промышленного оборудования.
Необходима история по данным датчиков во время испытания.
Принципиально можно писать в историю с дискретностью менее 1 секунды и затем выводить на график и в лог? Или 1 секунда - это минимальная дискретность?

При указании времени менее 1 секунды:

Jul 12 10:37:51 wirenboard-AWI3MCGC wb-mqtt-db[20281]: ERROR: min_interval is not a std::chrono::duration<long long, std::ratio<1ll, 1ll> > value

То есть значение должно быть 1 или больше.
Возможно - это можно переписать, но тут требуется привлечение разработчиков. Сейчас, особено если нужны графики - имеет смысл посмотреть на использование внешней БД, например Использование Grafana с контроллером Wiren Board — Wiren Board

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.