Универсальное устройство Modbus и ТРМ1032

Пытаюсь прочитать текущее значение температуры наружного воздуха из ТРМ1032, используя драйвер “Универсальное устройство Modbus”. Ничего не получается, помогите!

Попробуйте считать данное значение любым приложением, которое читает данные по протоколу Modbus, например Modbus Poll.

Я считываю данное значение приложением ЛЭРС УЧЕТ, драйвером для ТРМ1032. Получается 11,9 градусов Цельсия. Но мне нужно считать то же значение драйвером “Универсальное устройство Modbus”, как это сделать?

Судя по всему требуется доработка драйвера “Универсальное modbus устройство” для возможности задавать порядок чтения чисел с плавающей точкой. Поскольку такие параметры занимают два регистра modbus, требуется указание не только “Старшим байтом вперед/Младшим байтом вперед”, но и “Младшим регистром вперед/Старшим регистром вперед”.
Для примера вот скриншот заводского ПО Owen OPC Server:
image

Может формулу какую можно придумать для “Универсальное устройство Modbus”, не пробовали?

При вот таких настройках привязки чтение работает некорректно:
image
Если изменить порядок на “Младшим байтом вперёд” - так же некорректно считывается значение

Я думаю, можно считать как UInt64, а затем формулой преобразовать в значение с плавающей запятой, но это пока только идея.

Достаточно будет UInt32

Или, проще, написать ещё одно Предложение по улучшению для ЛЭРС УЧЕТ :slight_smile:

В Modbus Poll значение считывается корректно, если задать отображение как “32-Bit Float big endian byte swap”:

Что подтверждает моё предположение о том, что требуется возможность “byte swap” в драйвере “Универсальное modbus устройство”

@7in, пользователь @Sly уже создал предложение по улучшению по вопросу доработки “Универсальное modbus устройство”. Обсуждения по деталям предлагаю перенести в это предложению, чтобы не возникло параллельного обсуждения.

Как вариант на данный момент вы можете создать отчетную форму, в которой преобразовать считанные значения к нужному типу в вычисляемом поле. Либо реализовать такие преобразования в расчетной точке.