WB-MIO-E v.2 + WB-MAP6S + WB-MS v.2

WB-MIO-E v.2 + WB-MAP6S + WB-MS v.2
пытаюсь найти устройства на шине, нужно получать температуру и ток с катушек, со своего десктопа, установил modbus-utils_1.2_amd64.deb

for i in {1..247}; do echo -n "$i - "; D=`modbus_client --debug -mtcp -t0x10 -r0  10.227.0.9  -a$i -t3 -o100 -r200 -c6 2>/dev/null | grep Data: | awk 'gsub("Data:","")' | sed -e 's/0x00/\\\x/g' -e 's/\s//g'`; echo -e $D; done

настройки прибора. Conn Status(ETH)A: CONNECTED( 1)

Но ничего не получаю, что я делаю не так?

Добрый день. А что именно хотите сделать командой 0x10 по нулевому адресу? и зачем дважды указываете адрес регистра?

Подскажите как правильно. взял пример из вики. мне нужно получить данные о температуре и ток с катушек

У dас неправильно сформированы параметры modbus_client, попробуйте просто

modbus_client --debug -mtcp  10.0.0.71 -p502  -a41 -t 0x03 -r 0x80
Connecting to 10.0.0.71:502
[00][01][00][00][00][06][29][03][00][80][00][01]
Waiting for a confirmation...
<00><01><00><00><00><05><29><03><02><00><29>
SUCCESS: read 1 of elements:
	Data: 0x0029 

Адрес, как tcp так и modbus - измените на свой.

for i in {1..247}; do echo -n "$i - "; D=`modbus_client --debug -mtcp  10.227.0.9 -p23  -a$i -t 0x03 -r 0x80  2>/dev/null | grep Data: | awk 'gsub("Data:","")' | sed -e 's/0x00/\\\x/g' -e 's/\s//g'`; echo -e $D; done

подправил скрипт поиска устройств, результат не изменился, не находит ничего на шине.

А сам MIO-E v2 у меня правильно настроен?

Порт у вас - 502.
Советую все ж запустить без цикла, именно сам modbus_client.

я вернул в настройках прибора стандартный порт 23.

без цикла пробую, результат тот же

$ modbus_client --debug -mtcp  10.227.0.9 -p23  -a112 -t 0x03 -r 0x80
Connecting to 10.227.0.9:23
[00][01][00][00][00][06][70][03][00][80][00][01]
Waiting for a confirmation...
ERROR Connection timed out: select
ERROR occured!

у одного из MAP6S Addr: 112

Стандартный для Modbus TCP - это все ж 502.

Проверьте - увеличиваются ли в веб-интерфейсе счетчики принятых/jnghfdktyys[^
Screenshot_20231212_183324

только RX
image

поменял на 502

тоже ничего не находит

Так. А вот теперь - самое время посмотреть на светодиоды Modbus модулей, Status. Как они себя ыедут при отправке запроса? И покажите пожалуйста как сделана шина между шлюзом и модулями.

Шина сделана кабелем витая пара

обратил внимание что MIO перезагружается каждый час примерно, это нормальное поведение?

Какое наприяжение питания используется? Прочтайте пожалуйста из счетчика значения 104 и 105 input регистров.

24В LI60-20B24PR2

если я правильно задаю запрос, то не читается

modbus_client --debug -mtcp  10.227.0.9 -p502  -a112 -t 0x03 -r 105
Connecting to 10.227.0.9:502
[00][01][00][00][00][06][70][03][00][69][00][01]
Waiting for a confirmation...
ERROR Connection timed out: select
ERROR occured!

Немного неправильно, регистры input читаются командой 0x04
то есть надо

modbus_client --debug -mtcp  10.0.0.71 -p502  -a55 -t 0x04 -r 104 -c2
Connecting to 10.0.0.71:502
[00][01][00][00][00][06][37][04][00][68][00][02]
Waiting for a confirmation...
<00><01><00><00><00><07><37><04><04><00><01><04><68>
SUCCESS: read 2 of elements:
	Data: 0x0001 0x0468 

Хотя и 03 читается:

modbus_client --debug -mtcp  10.0.0.71 -p502  -a55 -t 0x03 -r 104 -c2
Connecting to 10.0.0.71:502
[00][01][00][00][00][06][37][03][00][68][00][02]
Waiting for a confirmation...
<00><01><00><00><00><07><37><03><04><00><01><04><8E>
SUCCESS: read 2 of elements:
	Data: 0x0001 0x048e 

Команда верная.
А не читается всегда или с какой-то вероятностью?
Светодод status при выполнении - мигает?

Ни разу не прочиталось, по индикации не могу сказать, оборудование в стойке в другом городе :))

MIO кстати так ни разу заметно больше часа не проработал 0day: 1hour: 13min

Все ж чаще всего - питание. Я советую его измерить на клеммах модуля, для начала. Ну еще раз проверить контакты.
А сам MIO по своему адресу, 169 - отвечает?
Если питание в норме - тогда скорее всего заменим .

Руки только дошли до железа )

напряжение на клеммах питания 24,1В

# modbus_client --debug -mtcp  192.168.78.128  -p502  -a55 -t 0x04 -r 104 -c2
Connecting to 192.168.78.128:502
[00][01][00][00][00][06][37][04][00][68][00][02]
Waiting for a confirmation...
ERROR Connection timed out: select
ERROR occured!

соединено всё коротким куском витухи, кроме map и mio ничего нет

Так… Я вижу адрес MIO 169 а адрес счетчика - 64 Откуда в команде 55?

$ for i in `seq 1 255`; do modbus_client --debug -mtcp 192.168.78.128 -p502 -a$i -t 0x04 -r 104 -c2;done

да я в цикле прогнать все адреса пробовал, результат один…