Опрос универсального устройства ModBus

Здравствуйте!
Необходимо настроить опрос расходомера Геострим-71.
Передача информации с ЭБ расходомера осуществляется
через интерфейс RS-485 по протоколу Modbus RTU. В протоколе обмена реализованы команды для считывания параметров: уровень жидкости, текущий расход жидкости, объем жидкости (в двух направлениях), код ошибки.
Формат обмена: 8 бит данных, 1 стоповый бит, без контроля четности.
В приборе реализована команда чтения двоичных значений из
нескольких регистров хранения (read holding registers) 03 (0x03).
Для чтения двоичных значений входных регистров (read input registers) – 04. Формат представления данных – float inverse, т. е. один регистр данных соответствует двум регистрам Modbus. Последовательность регистров (вместе с адресами):
17
0 … 1 – уровень жидкости (м);
2 … 3 – объемный расход жидкости (м3/c);
4 … 5 – объем расхода в положительном направлении (м3);
6 … 7 – объем расхода в обратном (отрицательном) направлении (м3).

Прошу помощи настройки прибора в ЛЭРС-учет как универсального mod-bus устройства. Для опроса всего двух его значений – объемный расход жидкости (м3/c);
– объем расхода в положительном направлении (м3). Помогите правильно указать адреса в полях настройки устройства в ЛЭРС-учет (см. картинку)


Обратите внимание, что через “Универсальное устройство Modbus” вы можете считывать только текущие потребление и текущие интеграторы.
Все параметры протокола, которые вы видите в таблице должны быть такими же, какими вы их задаете в сторонней программе на вашем скриншоте. В ней вы задаете адрес 0, а в ЛЭРС УЧЕТ 4. Также вы задаете задаете в сторонней программе “Input register”, а в ЛЭРС УЧЕТ “Holding register”.

Иван, здравствуйте.
Картинки были для примера имеющихся полей для заполнения.
У меня не получается подобрать адрес в ЛЭРС для нужного значения из регистар прибора…
Подскажите как правильно указать адрес в поле настройки прибора в ЛЭРС если в инструкции прибора указано следующее описание регистров:
"(read input registers) – 04. Формат представления данных – float inverse, т. е. один регистр данных соответствует двум регистрам Modbus. Последовательность регистров (вместе с адресами):
17
0 … 1 – уровень жидкости (м);
2 … 3 – объемный расход жидкости (м3/c);
4 … 5 – объем расхода в положительном направлении (м3);
6 … 7 – объем расхода в обратном (отрицательном) направлении (м3).

В ЛЭРС УЧЁТ адрес вводится в десятичном виде. Если в сторонней программе он так же вводится в десятичном виде, то значит в ЛЭРС УЧЁТ он должен быть таким же как в сторонней программе.

К сожалению не имею опыта опроса данного прибора учёта, поэтому не могу подсказать как именно вычислить сам адрес. По данному вопросу вам стоит обратиться в техническую поддержку производителя данного прибора учета. Также возможно кто либо из наших пользователей поделится опытом успешной такой настройки.

Методом научного втыка.
Для прибора Геострим адрес регистра “объем расхода в положительном направлении (м3)” = десятеричный 6, тип данных single, старшим байтом вперед. Записываю в интегратор.
Текущее показание расхода “объемный расход жидкости (м3/c)” = десятеричный 4, тип данных single, старшим байтом вперед.;