скрипт Perebor.sh.tar.gz куда надо загрузить на WB ?
Да, в общем куда угодно. Как правило в /root и копируют.
вот так или я что то делаю не так
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s2 /dev/MOD1 -a0x01 -t0x03 -r112
Opening /dev/MOD1 at 19200 bauds (N, 8, 2)
ERROR Can’t open the device /dev/MOD1 (No such file or directory)
Connection failed: No such file or directory
Такого устройства нет.
Если выполняете на контроллере - то, скорее всего, /dev/ttyMOD1
Проверять можно на компьютере, если это привычнее.
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0000
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][00][00][01][85][DB]
Waiting for a confirmation…
<0B><03><02><05><90><23><79>
SUCCESS: read 1 of elements:
Data: 0x0590
Как я понял устройства ответило
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0001
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][01][00][01][D4][1B]
Waiting for a confirmation…
<0B><03><02><07>
SUCCESS: read 1 of elements:
Data: 0x07da
еще на такую команду ответило
modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0002
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][02][00][01][24][1B]
Waiting for a confirmation…
<0B><03><02><00><0B><61><82>
SUCCESS: read 1 of elements:
Data: 0x000b
еще и на такой запрос ответило
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0003
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][03][00][01][75][DB]
Waiting for a confirmation…
<0B><03><02><00><59><25>
SUCCESS: read 1 of elements:
Data: 0xa200
еще такой запрос
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x00 -t0x03 -r0xXX
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][00][00][01][85][DB]
Waiting for a confirmation…
<0B><03><02><05><90><23><79>
SUCCESS: read 1 of elements:
Data: 0x0590
еще на такой запрос ответил
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0xXX -t0x03 -r0x46
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][46][00][01][64][0E]
Waiting for a confirmation…
<0B><03><02><00><01><85>
SUCCESS: read 1 of elements:
Data: 0x0001
еще запросы
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0022
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][22][00][01][25][D1]
Waiting for a confirmation…
<0B><03><02><00><3B>
SUCCESS: read 1 of elements:
Data: 0x00a9
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0010
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][10][00][01][84][1E]
Waiting for a confirmation…
<0B><03><02><1E><00><29>
SUCCESS: read 1 of elements:
Data: 0x1e00
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0x0000 -t0x03 -r0x0011
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][11][00][01][D5][DE]
Waiting for a confirmation…
<0B><03><02><00><05><46>
SUCCESS: read 1 of elements:
Data: 0x0005
О, отлично. Но - на широковещательный адрес. По стандарту на него устройства отвечать вообще-то не должны.
Ну, раз связь установлена - то набросаю шаблон, как обещал.
Сейчас займусь.
Спасибо. Но мне адрес устройства таки не удалось узнать?
Да, это проблема. Шаблон скорее не будет работать с широковещательным. Адрес следует задать.
Ну и шаблон:
ectocontrol.json (1,0 КБ)
Можете подсказать как адрес устройства найти ? по сколько производитель не дает информацию. Или можете помочь как задать новый адрес устройства ?
Вы же выложили цитату от производителя про установку адреса вот тут
ПО контроллера не работает с нестандартными функциями.
Есть два пути:
- первый - использовать контроллер
-
- например Serial_tool — Wiren Board То есть посчитать нужную последовательность команды смены адреса и отправить ее.
-
- то же, но скриптом: https://wiki.wirenboard.com/wiki/Rule_Examples#Отправка_команд_по_RS-485
-
- использовать скрипт для RPC, для примера Примеры правил — Wiren Board
- Второй - использовать компьютер, тут проще так как можно пользоваться привычными программами.
Ну и я бы попробовал все ж для начала прочитать вот это:
И я предполагаю что тут в документации производителя ошибка.
То есть обратите внимание, один регистр Modbus всегда содержит два байта.
При этом в таблице для третьего - 1 байт а для четвертого - три. Это создает неопределенность, к сожалению. Если я не уверен что понимаю точно инструкцию - я не могу точно что-то советовать.
Можно предположить что адрес - в младшей части регистра 2.
Тогда судя по
адрес - 0x0b или 11.
Проверьте его.
А что из регистра читается?
этот регистр отвечает за максимальную температуру как я понял. сделал шаблон и продолжил его но вроде бы есть еще ошибки и не понимания как все это сделать. вот шаблон но он давления правильно показывает. На счет остального вроде все с ошибкой или временами ошибками. Текущая температура гуляет 0-59 до фактической
вот эти пункты не понимая как сделать 1A и 1B буквы не заполняются.
А также как сделать чтобы читать разные байты или их сразу вместе надо сделать
вот файл шаблона
ectocontrol.json (4,1 КБ)
вот как я попытался сделать 39 регистр
Собственно как и обещал - тестовый шаблон на пару регистров.
Тут надо смотреть в лог, что за ошибки. Ну и сравнивать - что читается из регистров и как отображается.
Как это - не заполняются?
Вот тут описано.
1A и 1B буквы дописал и после этого шаблон не ведет WB8.5 и проверка не проходит в создании шаблона
1A ….. 1F Чтобы написать надо было воспользоваться калькулятором программиста и адреса регистров поменять Hex 1F= 31DEC
До меня дошло когда опрашивал устройства и меня формат 0х0018 как в карте регистров на 18 и 18 это Hex =24 Dec. заметил что при опресе в 4 (18) не всегда
root@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a11 -t0x03 -r0x0018
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[0B][03][00][18][00][01][04][A7]
Waiting for a confirmation…
<0B><03><02><02><61><71>
SUCCESS: read 1 of elements:
Data: 0x02cfroot@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0B -t0x03 -r24
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][18][00][01][05][DC]
Waiting for a confirmation…
<0B><03><02><03><0E><71>
SUCCESS: read 1 of elements:
Data: 0x030eroot@wirenboard-ALSPTZPR:~# modbus_client --debug -mrtu -b19200 -pnone -s1 /dev/ttyMOD1 -a0B -t0x03 -r18
Opening /dev/ttyMOD1 at 19200 bauds (N, 8, 1)
[00][03][00][12][00][01][25][DE]
Waiting for a confirmation…
<0B><03><02><00><00><20><45>
SUCCESS: read 1 of elements:
Data: 0x0000
вот калькуляция
Вот так получилось. осталось решить вопрос как прописать https://tgen.wirenboard.com/
Горелка, Отопления, ГВС -3 в режиме ожидания
Отопления, ГВС-2 работает горелка и мигает ГВС (идет обогрев ГВС)
и 39 регистр это регистр команд на фото виджета Отопление ГВС 7 и красным
прочитал статью по ссылке чуть не понял можно ли сделать это в https://tgen.wirenboard.com/
Операции с отдельными битами выполняются вот так.










