Gateway Modbus RTU: различия между версиями

м
Строка 84: Строка 84:
* '''Value scale''' — множитель значения. Например, если множитель равен 2 и в канале появилось значение 10, значение регистра будет 20. И наоборот, если в регистр было записано значение 30, в брокер уйдёт сообщение со значением 15.
* '''Value scale''' — множитель значения. Например, если множитель равен 2 и в канале появилось значение 10, значение регистра будет 20. И наоборот, если в регистр было записано значение 30, в брокер уйдёт сообщение со значением 15.


* '''Byte swap''' — поменять порядок байт в modbus-регистрах. По умолчанию значения записываются в регистры в формате ''big-endian''. Если установить этот флаг, регистр будет интерпретироваться как ''little-endian''. ''Важно:'' флаг действует только на отдельные регистры; в случае составных значений (размером больше 2 байт), меняется порядок только в каждом двухбайтном слове. Например, значение <code>0x12345678</code> будет записываться как <code>0x34127856</code>,
* '''Byte swap''' — поменять порядок байт в modbus-регистрах. По умолчанию значения записываются в регистры в формате ''big-endian''. Если установить этот флаг, регистр будет интерпретироваться как ''little-endian''.
:''Важно:'' флаг действует только на отдельные регистры и в случае составных значений (размером больше 2 байт), меняется порядок только в каждом двухбайтном слове. Например, значение <code>0x12345678</code> будет записываться как <code>0x34127856</code>,


* '''Word swap''' — поменять порядок слов для составных значений. Например, значение <code>0x12345678</code> будет записываться как <code>0x56781234</code>.
* '''Word swap''' — поменять порядок слов для составных значений. Например, значение <code>0x12345678</code> будет записываться как <code>0x56781234</code>.


Таким образом, чтобы записать значение в формате ''little-endian'', нужно установить оба последних флага.
Таким образом, чтобы записать значение в формате ''little-endian'', нужно установить оба последних флага.