Данные измерений от WB-MSW v.3

Здравствуйте!
У нас датчик wb-msw v.3 подключенный к преобразователю wb-mge. Снимаем показания температуры (регистр 4), влажности (регистр 5) и co2 (регистр 8) каждые 15 секунд. По данным co2 все впорядке, а вот показания температуры и влажности иногда выдают некорректные значения. Температура бывает 1-2 градуса или далеко за 300. Влажность иногда показывает около 2-3%. На картинке видно температуру.
in1
Причем такое также происходит если температуру и влажность считывать из регистров 0 и 1.
Перезагрузка датчика не меняет картины, перезагружаю записью единички в регистр 120.
Подскажите, это брак датчика температуры/влажности или такие скачки нормальное явление?

[Raiderovi4](https://support.wirenboard.com/u/Raiderovi4, добрый день! Похоже на брак.
Свяжитесь с нашими менеджерами (https://wirenboard.com/ru/pages/contacts), чтобы согласовать замену. Сошлитесь на эту тему при обращении.

Поменяли датчик, показания такие же странные


иногда получаем данные значения по умолчанию/ошибка (по температуре это 328 градусов), но часто проскакивают показания в 1-2 градуса. Подскажите, это опять брак или мы неправильно показания снимаем? Спасибо.

Да, очень выглядит странно! Мы проверили, первый и второй датчик из разных партий, что сводит к минимуму вероятность наличия компонентов с однотипным браком. Все, конечно, возможно.
Когда получим от вас предыдущий модуль, обязательно его протестируем.
Сейчас вы считываете input-регистр 4? делите значение на 100 и получаете температуру. Верно?
Скажите, а вы можете прислать фрагмент побайтового обмена данными на шине (в шестнадцатеричном виде) на момент появления этих странных температур?

Получили ваш экземпляр, тестируем.

Похоже что ошибка у меня в коде. Исправил, сейчас пусть поработает некоторое время, чтобы посмотреть будут ли отклонения в значениях (вроде температуры 2 градуса).

“Сейчас вы считываете input-регистр 4? делите значение на 100 и получаете температуру. Верно?” - да, именно так делаем.

Вот фрагмент обмена, когда возникает ошибка по температуре:
request: 48 04 00 04 00 01 7E 52
temperature: response 48 04 02 7F FF 04 8E data 7FFF result 32767
Фрагмент, когда все ок:
request: 48 04 00 04 00 01 7E 52
temperature: response 48 04 02 09 B4 62 D9 data 09B4 result 2484

Добрый день, Raiderovi4!
Смотрите, это ошибка даже не в вашем коде, это ошибка, которую возвращает модуль, когда он не может получить значения от датчика, в коде она у вас просто не обрабатывается.
А вот почему значение температуры от датчика модуль не может получить, это вопрос, скорее, к нам. Будем смотреть.

Дополнил еще таблицу в документации значениями при ошибке.

На всякий случай, вот ссылка на таблицу регистров датчиков:
https://wirenboard.com/wiki/index.php/Sensors_Modbus_Management

Добрый день, аналогичная проблема значения температуры скачут до максимума на двух из 5 датчиков, на одной линии сидят все 5 опрос через MOXA mgate, есть ли программная заплатка этой проблемы? Менять времени нет, от слова совсем.

Добрый день!

Специальной прошивки для WB-MSW под это нет.
Можете попробовать фильтровать эти значения на верхнем уровне.

А какая у вас версия прошивки датчиков?

Вы нашли, в чём была проблема по этому случаю?

В последних версиях прошивки (4.12.0 и выше) работу в этом месте улучшили. У вас наблюдаются похожие проблемы? Если да, то опишите их пожалуйста подробнее и попробуйте обновить прошивку, как описано в документации, если она не последняя.