Power Meter Measuring Registers: различия между версиями

Нет описания правки
Строка 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-битного регистра всегда прямой, в соответствии со стандартом.


----
----