Есть счетчик wb-map3e, подключен через wb-mio-2 к iobroker. Данные идут, все регистры опрашиваются нормально, ошибок и сбоев нет. Но коэффиценты токовых трансформаторов “пляшут” - уходят от заданного значения, потом возвращаются обратно, причем на первой фазе значение, куда уходит, меняется, на второй и третьей - нет. На этом же иоброкере с этими настройками стоят еще несколько wb-map, у них такой фигни нет. В какую сторону копать?
Здравствуйте!
Как я понимаю – у вас нет нашего контроллера.
Чтобы исключить влияние стороннего ПО, прошу опросить данный регистр с помощью нашей утилиты modbus_client через тот же преобразователь и понаблюдать за его значением.
modbus_client_1.3.0 --debug -mtcp -a22 -c1 -r5216 -t0x03 -o300 -p24 192.168.12.250
Connecting to 192.168.12.250:24
[00][01][00][00][00][06][16][03][14][60][00][01]
Waiting for a confirmation…
ERROR Unknown error: select
ERROR occured!
Даже представить себе не могу что это значит. В руководстве по модбас клиенту ничего про ошибки не нашел.
Отключите опрос сторонней программы. Проверьте введенные данные в соответствии с настройками преобразователя wb-mio. Если у вас есть USB-RS485 преобразователь, то сначала попробуйте через него.
опрос отключил. проверить что именно? порт и айпишник правильные, адрес опрашиваемого устройства тоже, что-нибудь еще надо?
преобразователем не могу - до счетчика сильно далеко.
А наверное же можно в веб-интерфейсе mio запрос отправить? По нему вообще никакой документации не нашел, делаю строку запроса в дипсике, 16 03 14 60 00 01 E9 C6, получаю ответ Can not transfer to HEX!
Покажите что у вас параметры порта у счетчика и у преобразователя совпадают.
Попробуйте считать адрес устройства (-r128).
ну у меня же данные в иоб шли, разве это могло бы быть, если бы не совпадали?
Адрес тоже не отдает.
modbus_client_1.3.0 --debug -mtcp -a22 -c1 -r128 -t0x03 -o300 -p24 192.168.12.250
Connecting to 192.168.12.250:24
[00][01][00][00][00][06][16][03][00][80][00][01]
Waiting for a confirmation…
ERROR Unknown error: select
ERROR occured!
Я подозреваю в чем дело. Чтобы работал modbus_client в настройках WB-MIO-E временно пропишите TCP server —> Modbus TCP Коммуникационные параметры для протокола Modbus TCP
ух нифигаж себе. Оставил страницу с введенным запросом на mio, после нажатия “ок” на сообщении об ошибке ничего не нажимал. Туда насыпалось:
Receive hex data
16 03 14 60 00 01 E9 C6Receive HEX: 0x16 0x3 0x8 0x0 0xa0 0x0 0x0 0x0 0x0 0x0 0x0 0x7b 0x69
Receive HEX: 0x16 0x3 0x10 0x13 0x8a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x0 0x0 0x4 0xa8 0xfb 0x52 0xf4 0xab
Receive HEX: 0x16 0x3 0x80 0x9b 0x7f 0x0 0x26 0x0 0x0 0x0 0x0 0xfa 0xfa 0x0 0xd 0x0 0x0 0x0 0x0 0x5 0x84 0x0 0xc 0x0 0x0 0x0 0x0 0x9a 0xf8 0x0 0xc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x72 0x26 0x0 0xe 0x0 0x0 0x0 0x0 0xf1 0xb6 0x0 0x4 0x0 0x0 0x0 0x0 0x2 0xed 0x0 0x5 0x0 0x0 0x0 0x0 0x7c 0xcb 0x0 0x4 0x0 0x0 0x0 0x0 0xde 0x7b 0x0 0x5 0x0 0x0 0x0 0x0 0xbd 0xe7 0x0 0x1 0x0 0x0 0x0 0x0 0x95 0xb3 0x0 0x1 0x0 0x0 0x0 0x0 0x8a 0x22 0x0 0x2 0x0 0x0 0x0 0x0 0x33 0x2a
Receive HEX: 0x16 0x3 0x8 0x0 0xa0 0x0 0x0 0x0 0x0 0x0 0x0 0x7b 0x69
Receive HEX: 0x16 0x3 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0x80
Receive HEX: 0x16 0x3 0x10 0x13 0x89 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x0 0x0 0x4 0xa4 0xfb 0x56 0x76 0x6a
Receive HEX: 0x16 0x3 0x1e 0x5c 0x66 0x50 0x0 0x5b 0x9 0xd4 0x0 0x59 0xe7 0x88 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x9f 0xbb 0x9c 0x25 0x9c 0xd7 0xe0 0xa9
Receive HEX: 0x16 0x3 0x80 0x9b 0x80 0x0 0x26 0x0 0x0 0x0 0x0 0xfa 0xfa 0x0 0xd 0x0 0x0 0x0 0x0 0x5 0x84 0x0 0xc 0x0 0x0 0x0 0x0 0x9a 0xf8 0x0 0xc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x72 0x26 0x0 0xe 0x0 0x0 0x0 0x0 0xf1 0xb6 0x0 0x4 0x0 0x0 0x0 0x0 0x2 0xed 0x0 0x5 0x0 0x0 0x0 0x0 0x7c 0xcb 0x0 0x4 0x0 0x0 0x0 0x0 0xde 0x7b 0x0 0x5 0x0 0x0 0x0 0x0 0xbd 0xe7 0x0 0x1 0x0 0x0 0x0 0x0 0x95 0xb3 0x0 0x1 0x0 0x0 0x0 0x0 0x8a 0x22 0x0 0x2 0x0 0x0 0x0 0x0 0x83 0x65
Receive HEX: 0x16 0x3 0x8 0x0 0xa1 0x0 0x0 0x0 0x0 0x0 0x0 0x6b 0xa9
Receive HEX: 0x16 0x3 0x6 0xb 0xb8 0xb 0xb7 0xb 0xb9 0x1f 0x65
Receive HEX: 0x16 0x3 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0x80
Receive HEX: 0x16 0x3 0x10 0x13 0x8a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x0 0x0 0x4 0xa7 0xfb 0x54 0x44 0xaa
Ну и так далее. А может быть хреновый контакт в rs485? Или наводки? У меня устройства висят рядом, но это в силовом щите станков, терминатора нет, провода обычные ПВС-3 0,75 мм2.
Да, теперь MC должен считать.
сработало.
modbus_client_1.3.0 --debug -mtcp -a22 -c1 -r128 -t0x03 -o300 -p24 192.168.12.250
Connecting to 192.168.12.250:24
[00][01][00][00][00][06][16][03][00][80][00][01]
Waiting for a confirmation…
<00><01><00><00><00><05><16><03><02><00><16>
SUCCESS: read 1 of elements:
Data: 0x0016
Что дальше делать и как сделать чтобы это не повторялось? На остальных счетчиках такой беды нет без этой настройки
Это мы сделали чтобы работал modbus_client. теперь нужно считать нужный нам регистр с коэффициентом, который менялся в вашей программе iobroker и отследить изменения здесь.
запросил много раз, ответ всегда <00><01><00><00><00><05><16><03><02><0B> , если верить дипсику, то 3000, все правильно
раз на 50й пришло такое:
modbus_client_1.3.0 --debug -mtcp -a22 -c1 -r5216 -t0x03 -o300 -p24 192.168.12.250
Connecting to 192.168.12.250:24
Connection failed: No error
Ошибки связи могут возникать по разным причинам.
Как вариант - увеличьте таймаут.
Если значение в регистре -r5216 через modbus_client не изменится, значит ищите проблему в вашем ПО верхнего уровня.
переобжал, ошибки связи пропали. Теперь такая проблема: драйвер иоброкера спотыкается на опросе 64 регистров за полл. Сколько регистров допустимо опрашивать в одном запросе?
апд. поменял на 16 за раз, лучше не стало. после опроса регистра 4608 спотыкается. Причем данные в 4608 поступают.
modbus.3 2025-06-25 19:58:16.276 warn [DevID_22] Poll error count: 4 code: “App Timeout”
modbus.3 2025-06-25 19:58:16.268 debug [DevID_22/holdingRegs] Poll address 4608 DONE
У меня получается опросить до 125 регистров за один запрос без проблем.
Напишите подробнее, что вы делаете и что ожидаете от этого действия.
Значение в регистре -r5216 через modbus_client считывается одинаковое?
А что такое “спотыкается”?
Ну совершенно недосточно информации…
Какая команда (байты) отправляется? Что принимается в ответ?
Добрый день!
Вам удалось разобраться?




