Добрый день
Подключил к WB7 счетчик электроэнергии Algodeu UPM204 по RS485.
Читаю данные с регистров тока по фазам. На одной из фаз периодически приходят некорректные показания. Опытным путем выяснил что ошибки идут при значениях тока близких к 0. Если потребление по фазе 1А и выше, ошибок нет.
Вот лог
Зеленым обвел правильное значение, синим неправильное (с 8-кой в старшем байте и таким же точно значением) и красным трансляцию значения.
В Истории это выглядит так:
Здравствуйте! Полагаю, что для данных неправильно задан порядок слов или байт при декодировании числа. Это нужно уточнить в документации на счетчик.
У вас сейчас, вероятно, задан порядок Big Endian. При этом считанное число (обведено синим) без перестановки регистров декодируется в число, обведенное красным. Оно целое со знаком (то есть декодируется как целое со знаком), но в веб-интерфейсе отображается в виде мантиссы и степени десяти.
Попробуйте задать порядок слов Little Endian, то считанное число (обведено синим) будет декодировано с перестановкой данных регистров в число 2493228515328, а восьмерка будет уже не старшем байте, а в 4м.
Попробуйте изменить настройку порядок слов на Little Endian:
Спасибо за ответ.
Но дело не в этом. Пробовал ставить другой порядок слов, результаты измерений вообще бредовые - по 8 цифр в произвольном порядке. И судя по документации порядок стоит правильный, младшие байты в конце.
Проблема похоже в самом счетчике-анализаторе. Вчера перебрал с нуля схему подключения и обнаружил что он отдает в регистрах тока ненулевые значения (около 0,5А) при полностью отключенной нагрузке (и даже отключенных трансформаторах тока) по всем фазам. Проверил токовыми клещами - 0.
Проверил с клещами под нагрузкой. От 1А и выше показывает правильные значения. Меньше 1А начинаются погрешности, меньше 0,5А - вообще не реагирует, показывает 0,5 и все.
Так что беда с прибором.
А драйвер modbus некорректно работает с форматами чисел. При указанном формате “64 битное целое” выводит в веб интерфейсе число с плавающей точкой.
Буду покупать другой счетчик.
Еще раз спасибо.