3690
правок
Строка 31: | Строка 31: | ||
Версию прошивки счетчика можно проверить командой | Версию прошивки счетчика можно проверить командой | ||
<pre> | <pre> | ||
echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a$mbusaddr -t0x03 -r250 -c 16 | grep Data | sed -e 's/0x00/\x/g' -e 's/Data://' -e 's/s//g'`| xxd -r -p && echo '' | echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a$mbusaddr -t0x03 -r250 -c 16 | grep Data | sed -e 's/0x00/\x/g' -e 's/Data://' -e 's/s//g'`| xxd -r -p && echo '' | ||
</pre> | </pre> | ||
Здесь $mbusaddr -- Modbus-адрес счетчика. | Здесь $mbusaddr -- Modbus-адрес счетчика. | ||
==== Порядок байт и широкие регистры ==== | |||
Некоторые значения, измеряемые счётчиками, занимают больше 16-бит - размера одного регистра Modbus. Такие значения записываются в нескольких поряд расположенных регистрах: 32-битные в двух регистрах, а 64-битные - в четырёх. | |||
В таблицах ниже для таких регистров указаны типы u32, u64 (без знака), s32 и s64 (со знаком). В качестве адреса в таблице указан адрес первого из подряд идущих регистров. | |||
Порядок **регистров** при декодировании может быть прямой (big-endian) и обратный (little-endian). При этом порядок двух байт внутри одного 16-битного регистра всегда прямой, в соответствии со стандартом. | |||
---- | ---- |