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

Строка 861: Строка 861:
</div>
</div>


На что следует обратить внимание в этом шаблоне? В первую очередь в параметрах устройства мы указываем, что одновременно следует считывать не более 60 регистров, чтобы не останавливать надолго опрос остальных устройств: '''"max_read_registers": 60'''.
Также показательным является параметр, описывающий накопленную реактивную энергию по фазе L1:
<pre>
  {
    "name": "RP energy L1",
    "reg_type": "input",
    "address": "0x1224",
    "type": "value",
    "format": "u64",
    "scale": 3.125e-05,
    "round_to": 0.0001,
    "word_order": "little_endian"
  },
</pre>


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


====MSU34+TLP, MSU24 и MSU21 и подобные устройства====
====MSU34+TLP, MSU24 и MSU21 и подобные устройства====
5813

правок