Перейти к содержанию

Навигация

Modbus-client: различия между версиями

м
м (→‎Аргументы командной строки: Вынес описание аргументов в таблицу)
Строка 147: Строка 147:
===Проверка подключения к устройству и считывание адреса===
===Проверка подключения к устройству и считывание адреса===


Все устройства Wiren Board с протоколом Modbus RTU хранят адрес в регистре <code>0x80</code> — его удобно считывать для проверки подключения.
Все устройства Wiren Board с протоколом Modbus RTU хранят адрес в регистре <code>128</code> — его удобно считывать для проверки подключения.


Читаем содержимое регистра <code>0x80</code> с устройства с адреса 2 с помощью функции <code>0x03 (Read Holding Registers)</code>:
Читаем содержимое регистра <code>128</code> из устройства с адресом <code>2</code>, подключенного к serial-порту <code>/dev/ttyRS485-1</code>, с помощью функции <code>0x03 (Read Holding Registers)</code>:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a2 -t0x03 -r0x80
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a2 -t0x03 -r128
</syntaxhighlight>     
</syntaxhighlight>
{| class="wikitable"
! Аргумент
! Описание
|-
| --debug
| отладка включена, будут выведены шестнадцатеричные коды отправляемых и принимаемых данных
|-
| -mrtu
| выбран протокол Modbus RTU
|-
| -pnone
| без проверки контроля четности
|-
| -s2
| стоповых битов 2
|-
| /dev/ttyRS485-1
| адрес serial-порта, к которому подключено опрашиваемое устройство
|-
| -a2
| адрес устройства, 2
|-
| -t0x03
| адрес функции чтения из holding-регистра
|-
| -r128
| адрес регистра, значение которого мы запрашиваем
|}    
Ответ:  
Ответ:  
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">