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

Навигация

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

м
м (→‎Аргументы командной строки: Добавил примечание)
Строка 168: Строка 168:
===Запись нового адреса===
===Запись нового адреса===


Записываем новый адреса устройства в регистр <code>0x80</code>, используя функцию <code>0x06 (Write Single Register)</code>.
Записываем новый адреса устройства в регистр <code>128</code>, используя функцию <code>0x06 (Write Single Register)</code>.


'''ВНИМАНИЕ:''' в примере используется широковещательный адрес <code>0x00</code>. Использование примера в таком виде '''изменит адрес на всех устройствах Wiren Board''', подключенных к порту <code>/dev/ttyRS485-1</code>. Чтобы этого не произошло — отключите другие устройства от шины.
{{note|warn|В примере используется широковещательный адрес <code>0</code>. Использование примера в таком виде ''изменит адрес на всех устройствах Wiren Board'', подключенных к порту <code>/dev/ttyRS485-1</code>. Чтобы этого не произошло — отключите другие устройства от шины.}}
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a0x00 -t0x06 -r0x80 0x02
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a0 -t0x06 -r128 2
</syntaxhighlight>
</syntaxhighlight>
Где <code>0x00</code> — широковещательный адрес, а <code>0x02</code> — адрес, который нужно задать.
Где <code>0x00</code> — широковещательный адрес, а <code>2</code> — адрес, который нужно задать.


Ответ:
Ответ:
Строка 186: Строка 186:
</syntaxhighlight>  
</syntaxhighlight>  


Сообщение об ошибке возникает всегда, когда запись производится на специальный (широковещательный) адрес <code>0 (-a0x00)</code>. Теперь к устройству нужно обращаться по адресу <code>0x02</code>.
Сообщение об ошибке возникает всегда, когда запись производится на специальный (широковещательный) адрес <code>0 (-a0)</code>. Теперь к устройству нужно обращаться по адресу <code>2</code>.


Пример '''неправильного''' использования команды:
Пример '''неправильного''' использования команды:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a0x00 -t0x06 -r0x80
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a0 -t0x06 -r128
</syntaxhighlight>
</syntaxhighlight>