Здравствуйте!
Есть однофазные китайские сплит-счетчики DDS238-2 ZN/S, имеющие на борту ModBus RTU и ID = 001. Один счетчик замечательно видится и опрашивается контроллером. Стоит задача подключить шесть таких счетчиков к WB6. Все уперлось в смену их адресов. На мой запрос китайцы ответили краткой инструкцией, из которой я извлек только:
Energy meter register address
|0x0015|1|ID + baud rate|First byte is ID号,the second byte is baud rate,01~04 is means Respectively 9600、4800、2400、1200
Прошу специалистов помочь с данной проблемой, т.к. в данном вопросе я самый начинающий нуб.
Преобразователь интерфейса USB/RS-485 в наличии.
Какое ПО можно использовать для этой процедуры?
Какова последовательность действий (чтение/запись) при осуществлении данной процедуры?
Заранее благодарен за помощь.
Добрый день.
судя по https://gist.github.com/alphp/95e1efe916c0dd6df7156f43dd521d53
счетчик не поддерживает запись командой 06 (это неочевидно и очень поможет!). Так что пишите с помощью modbs_client
По идее в 0x15 регистре должно быть
0x0101
Можно писать 0x0201 - для второго адреса. Ну и так далее.
Спасибо за ответ, читаю регистр 0х15:
root@wirenboard-AEGR65TE:~# modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a1 -t0x03 -r0x15
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[01][03][00][15][00][01][95][CE]
Waiting for a confirmation…
<01><03><02><01><01><78><14>
SUCCESS: read 1 of elements:
Data: 0x0101
Теперь пытаюсь в этот регистр записать значение 0х0201:
root@wirenboard-AEGR65TE:~# modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a1 -t0x10 -r0x15 0x0201
Data to write: 0x0201
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[01][10][00][15][00][01][02][02][01][64][35]
Waiting for a confirmation…
<01><10><00><15><00><01><10><0D>
SUCCESS: written 1 elements!
После чего проверяю правильность записи уже по адресу -а2:
root@wirenboard-AEGR65TE:~# modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a2 -t0x03 -r0x15
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
[02][03][00][15][00][01][95][FD]
Waiting for a confirmation…
<02><03><02><02><01><3C>
SUCCESS: read 1 of elements:
Data: 0x0201
Уважаемые форумчане,
можно более подробно рассказать как и что делать?
Нет доступа к счетчику по RS485 с компьютера.
Нужно поменять ID
majevgeny@majevgeny-Inspiron-M5010:~$ modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-1 -a2 -t0x03 -r0x15
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 1)
ERROR Can’t open the device /dev/ttyRS485-1 (No such file or directory)
Connection failed: No such file or directory
Вот что выдает терминал
За ранее спасибо
Вот нашел простой способ редактирования этих параметров в Windows https://www.modbustools.com/
Программа modbus tools
А какоe у вашего modbus-адаптера имя?
Если он USB - вытащите и вставьте, потом в выводе dmesg посмотрте, как он определился. Вполне может быть имя наподобие /dev/ttyUSBx.
Его и надо указывать