Wb-mqtt-serial templates: различия между версиями

м
→‎WB-MAP3H: Вычитка
м (→‎WBIO-DO-R10A-8: Вычитка)
м (→‎WB-MAP3H: Вычитка)
Строка 1102: Строка 1102:
  </syntaxhighlight>
  </syntaxhighlight>


На что следует обратить внимание в этом шаблоне? В первую очередь в параметрах устройства мы указываем, что одновременно следует считывать не более 60 регистров, чтобы не останавливать надолго опрос остальных устройств: <code>"max_read_registers": 60</code>.  
Обратите внимание в параметрах устройства мы указываем, что одновременно следует считывать не более 60 регистров, чтобы не останавливать надолго опрос остальных устройств: <code>"max_read_registers": 60</code>.  
 
Также показательным является параметр, описывающий накопленную реактивную энергию по фазе L1:
Также показательным является параметр, описывающий накопленную реактивную энергию по фазе L1:
<syntaxhighlight lang="JSON">
<syntaxhighlight lang="JSON">
Строка 1118: Строка 1119:


Здесь стоит обратить внимание на то, что адрес регистра может задаваться и в шестнадцатеричном виде: <code>"address": "0x1224"</code>, вещественный коэффициент масштабирования можно задавать в экспоненциальной записи: <code>"scale": 3.125e-05</code>, при считывании значения округлять его до нужного порядка: <code>"round_to": 0.0001</code>, а также учитывать, что число в modbus-регистрах хранится в порядке от младшего к старшему: <code>"word_order": "little_endian"</code>.   
Здесь стоит обратить внимание на то, что адрес регистра может задаваться и в шестнадцатеричном виде: <code>"address": "0x1224"</code>, вещественный коэффициент масштабирования можно задавать в экспоненциальной записи: <code>"scale": 3.125e-05</code>, при считывании значения округлять его до нужного порядка: <code>"round_to": 0.0001</code>, а также учитывать, что число в modbus-регистрах хранится в порядке от младшего к старшему: <code>"word_order": "little_endian"</code>.   
Форматы хранения для 16-битных Modbus регистров описываются следующим образом:
Форматы хранения для 16-битных modbus-регистров описываются следующим образом:
<pre>
<pre>
         big-endian    : ( [0xAA 0xBB] [0xCC 0xDD] => 0xAABBCCDD )  
         big-endian    : ( [0xAA 0xBB] [0xCC 0xDD] => 0xAABBCCDD )