12 063
правки
Admin (обсуждение | вклад) |
(Подготовка страницы к переводу) |
||
Строка 1: | Строка 1: | ||
Смотрите также [[UART_Communication_Settings]]. | <languages/> | ||
<translate> | |||
Смотрите также [[Special:MyLanguage/UART_Communication_Settings|UART_Communication_Settings]]. | |||
== Определение текущего Modbus-адреса == | == Определение текущего Modbus-адреса == | ||
Modbus-адрес устройств Wiren Board нанесен на наклейке (адрес указан в десятичном формате). Eсли устройство уже было в эксплуатации и адрес его оказался изменен, адрес необходимо каким-либо способом узнать. Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus (Modbus-адрес устройств Wiren Board хранится в регистре 0x80). Справку по команде можно получить, выполнив ее безо всяких параметров, подробное описание находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]]. | Modbus-адрес устройств Wiren Board нанесен на наклейке (адрес указан в десятичном формате). Eсли устройство уже было в эксплуатации и адрес его оказался изменен, адрес необходимо каким-либо способом узнать. Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus (Modbus-адрес устройств Wiren Board хранится в регистре 0x80). Справку по команде можно получить, выполнив ее безо всяких параметров, подробное описание находится на странице [[Special:MyLanguage/Modbus-client|Modbus-client]]. Доступ к командной строке описан в статье [[Special:MyLanguage/SSH|SSH]]. | ||
[[Файл:modbus_address_mr14.png|150px|thumb|left|Modbus-адрес, установленный на производстве]] | [[Special:MyLanguage/Файл:modbus_address_mr14.png|150px|thumb|left|Modbus-адрес, установленный на производстве]] | ||
'''Перед работой с портом из командной строки остановите драйвер wb-mqtt-serial:''' | '''Перед работой с портом из командной строки остановите драйвер wb-mqtt-serial:''' | ||
Строка 12: | Строка 15: | ||
Результат: адрес подключенного устройства — 0x0072, то есть 114. Перебор всех адресов от 1 до 247 занимает чуть больше 2 минут. В параметрах вызова команды modbus_client мы указываем 2 стоп-бита( -s2), отсутствие контроля четности ( -pnone), скорость 9600 бит/с устанавливается автоматически. Чтение выполняем командой READ_HOLDING_REGISTERS с кодом 3 (-t3) из регистра с адресом 0x80 ( -r0x80), адрес меняется в цикле от 1 до 247 ( -a$i). | Результат: адрес подключенного устройства — 0x0072, то есть 114. Перебор всех адресов от 1 до 247 занимает чуть больше 2 минут. В параметрах вызова команды modbus_client мы указываем 2 стоп-бита( -s2), отсутствие контроля четности ( -pnone), скорость 9600 бит/с устанавливается автоматически. Чтение выполняем командой READ_HOLDING_REGISTERS с кодом 3 (-t3) из регистра с адресом 0x80 ( -r0x80), адрес меняется в цикле от 1 до 247 ( -a$i). | ||
На некоторых устройствах при обмене с ними данными мигает индикатор. | На некоторых устройствах при обмене с ними данными мигает индикатор. | ||
[[Файл:Status_flash_mr14.gif|300px|thumb|left|Светодиод Status мигает при обмене данными по RS-485 с модулем WB-MR14]] | [[Special:MyLanguage/Файл:Status_flash_mr14.gif|300px|thumb|left|Светодиод Status мигает при обмене данными по RS-485 с модулем WB-MR14]] | ||
== Изменение Modbus-адреса == | == Изменение Modbus-адреса == | ||
Мы можем задать устройству адрес, который нам необходим (например, 1), командой | Мы можем задать устройству адрес, который нам необходим (например, 1), командой | ||
Строка 41: | Строка 44: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Отлично, устройство с адресом 0x01 при чтении регистра 0x80 вернуло значение 1 (мы помним, что один регистр хранит два восьмибитных значения, поэтому вывод команды содержит четыре шестнадцатеричных цифры: 0x0001). Желтый светодиод снова моргнул при обращении к устройству. | Отлично, устройство с адресом 0x01 при чтении регистра 0x80 вернуло значение 1 (мы помним, что один регистр хранит два восьмибитных значения, поэтому вывод команды содержит четыре шестнадцатеричных цифры: 0x0001). Желтый светодиод снова моргнул при обращении к устройству. | ||
</translate> |
правки