Формат значений регистров Modbus не работает

Добрый день
Подключил к WB7 счетчик электроэнергии Algodeu UPM204 по RS485.
Читаю данные с регистров тока по фазам. На одной из фаз периодически приходят некорректные показания. Опытным путем выяснил что ошибки идут при значениях тока близких к 0. Если потребление по фазе 1А и выше, ошибок нет.
Вот лог

Зеленым обвел правильное значение, синим неправильное (с 8-кой в старшем байте и таким же точно значением) и красным трансляцию значения.
В Истории это выглядит так:

При этом в настройках этого канала Modbus формат данных стоит 64 разрядный целое со знаком.

Вопросы:

  1. Откуда берется плавающая запятая если я выбрал целое со знаком?
  2. Не сталкивались с появлением 8ки в старшем байте регистра при значениях близких к 0? Что это может быть? бит знака?

Спасибо заранее

Здравствуйте! Полагаю, что для данных неправильно задан порядок слов или байт при декодировании числа. Это нужно уточнить в документации на счетчик.
У вас сейчас, вероятно, задан порядок Big Endian. При этом считанное число (обведено синим) без перестановки регистров декодируется в число, обведенное красным. Оно целое со знаком (то есть декодируется как целое со знаком), но в веб-интерфейсе отображается в виде мантиссы и степени десяти.
Попробуйте задать порядок слов Little Endian, то считанное число (обведено синим) будет декодировано с перестановкой данных регистров в число 2493228515328, а восьмерка будет уже не старшем байте, а в 4м.
Попробуйте изменить настройку порядок слов на Little Endian:

Для иллюстрации - небольшой пример:

Подробнее можно почитать здесь: WB-MAP3E(T), прошивка 2.x: измеряемые и вычисляемые величины — Wiren Board,%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%B8%D0%B5%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D1%8B,%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F

Если нужно менять порядок байт, то это придется делать уже программно, например, с помощью правил wb-rules.

Спасибо за ответ.
Но дело не в этом. Пробовал ставить другой порядок слов, результаты измерений вообще бредовые - по 8 цифр в произвольном порядке. И судя по документации порядок стоит правильный, младшие байты в конце.
Проблема похоже в самом счетчике-анализаторе. Вчера перебрал с нуля схему подключения и обнаружил что он отдает в регистрах тока ненулевые значения (около 0,5А) при полностью отключенной нагрузке (и даже отключенных трансформаторах тока) по всем фазам. Проверил токовыми клещами - 0.
Проверил с клещами под нагрузкой. От 1А и выше показывает правильные значения. Меньше 1А начинаются погрешности, меньше 0,5А - вообще не реагирует, показывает 0,5 и все.
Так что беда с прибором.
А драйвер modbus некорректно работает с форматами чисел. При указанном формате “64 битное целое” выводит в веб интерфейсе число с плавающей точкой.
Буду покупать другой счетчик.
Еще раз спасибо.

Понятно. Вам спасибо за информацию.

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