День добрый!
Производитель устройства предоставил описание с адресацией. Интересует 4-е параметра:
- Modbus SlaveID
- Baud Rate
- Storage Device
- Play in a loop
Вот адресация каждого из них соответственно:
На примере Play in a loop:
modbus_client --debug -mtcp -t0x03 -r0x11 -p4196 192.168.1.202
Connecting to 192.168.1.202:4196
[00][01][00][00][00][06][01][03][00][11][00][01]
Waiting for a confirmation...
<00><01><00><00><00><05><01><03><02><00><00>
SUCCESS: read 1 of elements:
Data: 0x0000
записываем 1
modbus_client --debug -mtcp -t0x06 -r0x11 -p4196 192.168.1.202 1
Data to write: 0x1
Connecting to 192.168.1.202:4196
[00][01][00][00][00][06][01][06][00][11][00][01]
Waiting for a confirmation...
<00><01><00><00><00><06><01><06><00><11><00><01>
SUCCESS: written 1 elements!
считываем что получилось
modbus_client --debug -mtcp -t0x03 -r0x11 -p4196 192.168.1.202
Connecting to 192.168.1.202:4196
[00][01][00][00][00][06][01][03][00][11][00][01]
Waiting for a confirmation...
<00><01><00><00><00><05><01><03><02><0F><05>
SUCCESS: read 1 of elements:
Data: 0x0f05
что никак не 1, а 3845
Текущий код в шаблоне:
"device_address": {
"title": "Modbus Address",
"reg_type": "holding",
"address": "0xC0",
"default": 1,
"min": 1,
"max": 254,
"group": "management",
"order": 1
},
"baud_rate": {
"title": "Baud Rate",
"reg_type": "holding",
"address": "0x0B",
"default": 1,
"enum": [8, 9, 1, 2, 7, 3, 4, 5, 6],
"enum_titles": ["2400", "4800", "9600", "19200", "35250", "38400", "57600", "115200", "256000"],
"group": "management",
"order": 2
},
"storage_device": {
"title": "Storage device",
"reg_type": "holding",
"address": "0x09",
"default": 2,
"enum": [2, 4],
"enum_titles": ["SD Card", "Internal"],
"required": false,
"group": "management",
"order": 3
},
"play_in_a_loop": {
"title": "Play in a loop",
"reg_type": "holding",
"address": "0x11",
"default": 0,
"enum": [0, 1],
"enum_titles": ["Disabled", "Enabled"],
"group": "management",
"required": false,
"order": 4
}
Шаблон не работает, данные не записываются, т.к. запись по адресу идет в HI значение, а производитель явно указывает на LO значение.
Прошу помочь дописать шаблон, чтобы записывались коды из документации производителя, отмеченные красным.