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

Навигация

UART Communication Settings: различия между версиями

 
(не показано 14 промежуточных версий 2 участников)
Строка 6: Строка 6:
{{Wbincludes:Modbus Default Settings}}
{{Wbincludes:Modbus Default Settings}}


== Настройка параметров ==
== Изменение скорости обмена ==
{{Anchor|baud-rate}}
Для ускорения отклика устройств на шине RS485 рекомендуем поднять скорость обмена до 115 200 бит/с.
 
Отметим, что низкая скорость обмена прощает многие ошибки построения шины, но на высоких скоростях выполнение [[RS-485:Физическое подключение | рекомендаций по построению шины]] обязательно.
 
=== Смена уровня доступа к веб-интерфейсу ===
{{Wbincludes:WebUI Change Access Level}}
 
=== Настройка ===
{{YouTube
|link= https://www.youtube.com/watch?v=d_olK15Xhkw
|text= Смена скорости устройства через веб-интерфейс (12:59)
|start=779
}}
[[Image: WebUI Change Baud Rate.png |250px|thumb|right| Выбор желаемой скорости обмена в настройках устройства ]]
Увеличим скорость обмена в Modbus-устройствах Wiren Board со значения по умолчанию до 115 200 бит/с:
# Подключите и настройте все устройства на скорости 9600 бит/с, которая стоит у них по умолчанию.
# Убедитесь, что все работает как надо: данные идут со всех устройств, каналы не горят красным, в системном журнале нет ошибок порта.
# Откройте [[Wiren_Board_Web_Interface | веб-интерфейс]] контроллера и перейдите '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration'''.
# Выберите нужный порт, в параметрах устройства в группе '''General''' поставьте флажок '''Baud rate''' и выберите желаемую скорость обмена: 115 200 бит/с. Скорость порта пока оставьте прежней.
# Вверху страницы нажмите на кнопку '''Save''', это запустит запись нового значения скорости в устройство.
# Как только новое значение будет записано, каналы устройства на вкладке '''Devices''' станут красными. Если вы меняли настройки нескольких устройств, дождитесь, пока они все не «покраснеют». Драйвер пишет новые значения не моментально, а по очереди во все устройства с соблюдением таймаутов. Если на шине много устройств, для надёжности можно подождать 2-3 минуты перед следующим шагом.
# Укажите в настройках порта ту же скорость, которую вы выбрали в настройках устройства: 115 200 бит/с.
# Снова сохраните настройки. Теперь настройки устройств и порта совпадают, устройства должны начать отвечать.
 
== Настройка параметров обмена ==
Чтобы изменить параметры подключения, нам понадобится:
Чтобы изменить параметры подключения, нам понадобится:
* знать текущие настройки подключения устройства;
* знать текущие настройки подключения устройства;
Строка 14: Строка 40:
Подготовка:
Подготовка:
# Подключите устройство по [[RS-485 | шине RS-485]] к контроллеру или другому оборудованию, где будете выполнять команды.
# Подключите устройство по [[RS-485 | шине RS-485]] к контроллеру или другому оборудованию, где будете выполнять команды.
# Если вы выполняете команды на контроллере:
# Если вы выполняете команды на контроллере, вместо '''modbus_client''' можно использовать '''modbus_client_rpc''' — вторая утилита не требует остановки драйвера [[wb-mqtt-serial]]. Синтаксис утилит одинаков, просто добавьте <code>_rpc</code> к командам ниже.
#:* откройте консоль контроллера по [[SSH]],
#:* [[Modbus-client#Подготовка к работе | остановите драйвер wb-mqtt-serial]].
# Можно менять настройки устройств.
# Можно менять настройки устройств.


Строка 28: Строка 52:
Теперь изменим скорость порта устройства с 9600 бит/с на 115 200 бит/с, для этого запишем в регистр <code>110</code> новое значение, формат которого можно посмотреть в таблице общих регистров:
Теперь изменим скорость порта устройства с 9600 бит/с на 115 200 бит/с, для этого запишем в регистр <code>110</code> новое значение, формат которого можно посмотреть в таблице общих регистров:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r110 1152
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a12 -t0x06 -r110 1152
</syntaxhighlight>
</syntaxhighlight>


Строка 35: Строка 59:
Остальные параметры меняются аналогично: смотрите, в каком регистре хранится значение и записываете в него новое.
Остальные параметры меняются аналогично: смотрите, в каком регистре хранится значение и записываете в него новое.


== Если параметры подключение неизвестны ==
== Если параметры подключения неизвестны ==  
{{Anchor|unknown-params}}
<!--T:14-->
<!--T:14-->
Если параметры подключения устройства неизвестны можно узнать их выполнив [[Fast_Modbus#Сканирование_устройств_на_шине |сканирование шины]] в веб-интерфейсе контроллера.
Крайний случай — [[Wiren_Board_Device_Modbus_Address#Восстановление доступа| сбросить настройки к заводским]].


Бывает так, что параметры подключения устройства неизвестны, то можно или [[Wiren_Board_Device_Modbus_Address#Восстановление доступа| сбросить их к заводским]], или узнать перебором, для этого загрузите на контроллер скрипт [[Media:Perebor.sh.tar.gz|Perebor.sh.tar.gz]] и выполните его. Если адрес, к которому подключено устройство отличается от <code>/dev/ttyRS485-1</code>, измените его в теле скрипта.
Если вы используете старое ПО контроллера, не поддерживающее сканирование, можно узнать настройки перебором, для этого загрузите на контроллер скрипт [[Media:Perebor.sh.tar.gz|Perebor.sh.tar.gz]] и выполните его. Если адрес, к которому подключено устройство отличается от <code>/dev/ttyRS485-1</code>, измените его в теле скрипта.


<!--T:16-->
<!--T:16-->