Working with WB devices without a controller: различия между версиями
(не показано 30 промежуточных версий 6 участников) | |||
Строка 3: | Строка 3: | ||
== Аппаратная часть == | == Аппаратная часть == | ||
Большинство устройств Wiren Board могут работать без управления контроллером | Большинство устройств Wiren Board могут работать без управления контроллером — достаточно подать питание на клеммы «V+» и «GND». Но для их настройки и считывания данных потребуется подключиться к ним по протоколу Modbus. Для этого вы можете использовать компьютер с ОС Windows или Linux и адаптер USB-RS485. | ||
Чтобы начать обмен с modbus-устройством, нужно клеммы '''A''' и '''B''' устройства подключить ко входам адаптера, подать на устройство питание и настроить программное обеспечение на компьютере. | |||
== Подготовка к работе == | == Подготовка к работе == | ||
Строка 16: | Строка 16: | ||
== Программы для работы по протоколу Modbus == | == Программы для работы по протоколу Modbus == | ||
[[ | [[File:rilheva-modbus-poll-interface.png|450px|thumb|right|Интерфейс программы Rilheva Modbus Poll]] | ||
Для работы с устройствами по протоколу Modbus мы рекомендуем использовать программу <b>[https://www.rilheva.com/rilheva-modbus-poll-desktop-edition/ Rilheva Modbus Poll]</b>. Эта программа бесплатна, не требует установки, имеет понятный интерфейс и возможность сохранения настроек обмена и конфигурации регистров. | |||
Программа написана для ОС Windows. Однако ОС Linux программа может быть запущена с помощью эмулятора [https://www.winehq.org/ wine] (проверено на wine 7.0) и указанием пути к исполняемому файлу: | |||
<syntaxhighlight lang="console"> | |||
wine ~/RilhevaModbusPoll_1.0.7/RilhevaModbusPoll.exe | |||
</syntaxhighlight> | |||
Также можно использовать утилиты [https://www.modbustools.com/download.html Modbus Poll] из комплекта Modbus Tools (программа платная, но с бесплатным пробным периодом в 30 дней) и [http://s2-team.ru/wrkrs/prods/modbus-tools/termite/ termite] (есть «Pro» и «Free» версия) в ОС Windows и утилиту [[Modbus-client| modbus_client]] в ОС Linux. | Также можно использовать утилиты [https://www.modbustools.com/download.html Modbus Poll] из комплекта Modbus Tools (программа платная, но с бесплатным пробным периодом в 30 дней) и [http://s2-team.ru/wrkrs/prods/modbus-tools/termite/ termite] (есть «Pro» и «Free» версия) в ОС Windows и утилиту [[Modbus-client| modbus_client]] в ОС Linux. | ||
Строка 43: | Строка 46: | ||
</gallery> | </gallery> | ||
== Работа с программой | == Работа с программой Rilheva Modbus Poll == | ||
=== Создание собственной конфигурации === | |||
Работа с устройством по протоколу Modbus RTU: | |||
# Выберите в главном окне программы Rilheva Modbus Poll подключение по последовательному порту | |||
# Укажите номер используемого порта. | |||
# Настройте параметры обмена: скорость, четность, количество стопбитов в соответствии с настройками модуля, а также таймаут ответа и частоту повторения запросов. | |||
# Добавьте регистры устройства, которые необходимо опрашивать.Нажмите кнопку <b>Add register</b> и в появившемся диалоговом окне заполните поля в соответствии с картой регистров используемого модуля: | |||
#* '''Address''' — адрес регистра в десятичном формате | |||
#* '''Alias''' - описание регистра | |||
#* '''Read only''' - запрет на запись значений в регистр. Для регистров, значения которых нужно изменять снимите галочку | |||
#* '''Read function''' - выбор типа регистра и соответствующей modbus-функции для его опроса | |||
#* '''Type''' - задает формат данных | |||
#* '''Multiplier''' - коэффициент, на который умножается значение регистра для удобного отображения | |||
#* '''Offset''' - значение, которое прибавляется к значению регистра для удобного отображения | |||
#* '''Decimal places''' - количество десятичных знаков при отображении | |||
#* '''Add further registers with the same kind''' - опция позволяет добавить сразу несколько регистров одного типа в список опроса | |||
# Запустите опрос устройства, для этого нажмите кнопку <b>Connect</b>. | |||
# Чтобы изменить значение регистра типов <code>holding</code> или <code>coil</code>, задайте новое значение в поле '''Current value''' | |||
# Остановите опрос устройства, для этого нажмите на кнопку <b>Disconnect</b>. | |||
Рассмотрим работу с устройством по протоколу Modbus RTU на примере модуля реле [[WB-MR6C_v.2_Modbus_Relay_Modules | WB-MR6C v.2]]. Считаем состояние выхода 1, счетчик срабатываний входа 1 и серийный номер модуля: | |||
# В [[Relay_Module_Modbus_Management | таблице регистров модуля реле]] найдите описание этих регистров: | |||
#* состояние выхода 1 реле: адрес регистра 0, тип coil, формат bool | |||
#* счетчик срабатываний входа 1: адрес регистра 32, тип input, формат u16 | |||
#* серийный номер модуля: адреса регистров 270, 271, тип input, формат u32 | |||
# Впишите эти параметры в настройках опроса регистров и включите опрос. | |||
# Если параметры обмена и конфигурация регистров корректны, то в поле '''Current value''' отобразится содержимое регистров. | |||
Конфигурацию можно сохранить и использовать её для настройки таких же устроййтв. | |||
<gallery mode="packed" heights="150px" caption="Пример опроса устройства"> | |||
Image: Rilheva-modbus-poll-register1-config.png | Конфигурирование опроса регистра состояния выхода 1 реле | |||
Image: Rilheva-modbus-poll-register2-config.png | Конфигурирование опроса регистра счетчика срабатываний входа 1 | |||
Image: Rilheva-modbus-poll-register3-config.png | Конфигурирование опроса регистра серийного номера модуля | |||
Image: Rilheva-modbus-poll-register-polling.png | Опрос регистров устройства Wirenboard | |||
</gallery> | |||
=== Использование готовых конфигураций регистров для модулей Wirenboard === | |||
Чтобы упросить пользователям настройку наших устройств без нашего контроллера, мы написали несколько готовых шаблонов для программы Rilheva Modbus Poll. При необходимости, вы можете сделать подобные и для других устройств. | |||
Использование: | |||
# Скачайте файл конфигурации к себе на компьютер. | |||
# Запустите программу Rilheva Modbus Poll | |||
# Загрузите файл конфигурации в программу. | |||
# Настрйоки обмена будут заполнены значениями по умолчанию, при необхолдимости, измените их. | |||
# Укажите modbus-адрес устройства и выберите используемый последовательный порт. | |||
# Опросите устройство, для этого нажмите кнопку '''Connect'''. Значения регистров из устройства будут показаны в таблице. | |||
# Установите нужные значения в поле '''Current value''', они будут сразу отправлены в устройство. | |||
# Остановите опрос кнопкой '''Disconnect'''. | |||
<gallery mode="packed" heights="150px"> | |||
Image: Rilheva-modbus-poll-wb-mr6с.png | Настройка модуля реле WB-MR6С | |||
Image: Rilheva-modbus-poll-wb-mdm3.png | Настройка диммера WB-MDM3 | |||
Image: Rilheva-modbus-poll-wb-mrgbw-d.png | Настройка диммера WB-MRGBW-D | |||
</gallery> | |||
==== Файлы конфигураций регистров модулей Wirenboard ==== | |||
[[Media:Common-registers-wb-device.zip | Файл регистров, общих для всех Modbus-устройств Wiren Board]] | |||
Файлы регистров и настроек для Modbus-модулей Wirenboard по типам: <br> | |||
[[Media: Registers-wb-mr6xx-with-inputs.zip | WB-MR6C v.2, WB-MR6LV/x, WB-MR6HV/x, WB-MR6C/NC (6-канальный модуль реле)]] <br> | |||
[[Media: Registers-wb-mr3xx-with-inputs.zip | WB-MR3LV/x, WB-MR3HV/x, WB-MRWL3 (3-канальный модуль реле)]] <br> | |||
[[Media: Registers-wb-mr6xx-without-inputs.zip | WB-MR6CU v.2, WB-MRPS6 (6-канальный модуль реле)]] <br> | |||
[[Media: Registers-wb-mrgbw-d-fw3.zip | WB-MRGBW-D fw3 (4-канальный диммер светодиодных лент c прошивкой 3.x)]] <br> | |||
[[Media: Registers-wb-mdm3.zip | WB-MDM3 (3-канальный диммер)]] <br> | |||
== Работа с программой modbus_client == | == Работа с программой modbus_client == | ||
Для работы с modbus-утройством в ОС Linux также можно использовать консольную утилиту modbus_client. | Для работы с modbus-утройством в ОС Linux также можно использовать консольную утилиту [[Modbus-client| modbus_client]]. | ||
Для этого скачайте [https://github.com/ | Для этого скачайте [https://github.com/contactless/modbus-utils/releases/download/1.2/modbus-utils_1.2_amd64.deb пакет для настольных компьютеров с Linux]. | ||
Перейдите в папку со скаченным пакетом и установите его командой: | Перейдите в папку со скаченным пакетом и установите его командой: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo apt install ./modbus-utils_1. | sudo apt install ./modbus-utils_1.2_amd64.deb | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Также автоматически должен установиться пакет <code>libmodbus</code>, если этого не произошло — установите его из репозитория apt. | Также автоматически должен установиться пакет <code>libmodbus</code>, если этого не произошло — установите его из репозитория apt. | ||
Как работать и примеры использования смотрите в статье [[Modbus-client| modbus_client]]. | Как работать и примеры использования смотрите в статье[[Modbus-client| modbus_client]]. |
Версия 12:37, 21 июня 2022
Аппаратная часть
Большинство устройств Wiren Board могут работать без управления контроллером — достаточно подать питание на клеммы «V+» и «GND». Но для их настройки и считывания данных потребуется подключиться к ним по протоколу Modbus. Для этого вы можете использовать компьютер с ОС Windows или Linux и адаптер USB-RS485.
Чтобы начать обмен с modbus-устройством, нужно клеммы A и B устройства подключить ко входам адаптера, подать на устройство питание и настроить программное обеспечение на компьютере.
Подготовка к работе
Перед настройкой устройства вам нужно знать:
- modbus-адрес устройства,
- коды функций чтения и записи регистров,
- адреса регистров устройства.
Перечень общих для всех устройств Wiren Board регистров можно найти в таблице общих регистров. Полный список регистров для каждого устройства смотрите в документации к нему.
Программы для работы по протоколу Modbus
Для работы с устройствами по протоколу Modbus мы рекомендуем использовать программу Rilheva Modbus Poll. Эта программа бесплатна, не требует установки, имеет понятный интерфейс и возможность сохранения настроек обмена и конфигурации регистров.
Программа написана для ОС Windows. Однако ОС Linux программа может быть запущена с помощью эмулятора wine (проверено на wine 7.0) и указанием пути к исполняемому файлу:
wine ~/RilhevaModbusPoll_1.0.7/RilhevaModbusPoll.exe
Также можно использовать утилиты Modbus Poll из комплекта Modbus Tools (программа платная, но с бесплатным пробным периодом в 30 дней) и termite (есть «Pro» и «Free» версия) в ОС Windows и утилиту modbus_client в ОС Linux.
Выбор порта
В ОС Windows узнать, к какому порту у вас подключен адаптер, можно в диспетчере устройств. Найдите в дереве тип устройств Порты (COM и LPT), разверните ветку и найдите в ней свой адаптер. Если устройство выделено восклицательным знаком — это значит, что драйвер не был установлен автоматически. Установите его вручную по инструкции производителя.
В ОС Linux порт можно узнать с помощью команды команды dmesg -wH
, которую нужно запустить перед физическим подключением USB-адаптера. В диагностических сообщениях будет выведено сообщение об обнаружении адаптера и назначении ему порта:
[ +7,705022] usb 3-7: new full-speed USB device number 6 using xhci_hcd
[ +0,149142] usb 3-7: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.62
[ +0,000014] usb 3-7: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ +0,000005] usb 3-7: Product: USB2.0-Serial
[ +0,001500] ch341 3-7:1.0: ch341-uart converter detected
[ +0,000549] usb 3-7: ch341-uart converter now attached to ttyUSB0
В данном примере был назначен порт /dev/ttyUSB0.
В интерфейсе программы Rilheva Modbus Poll для адаптера обычно нужно выбрать COM-порт с самым большим номером. Чтобы проверить правильность выбора порта в Linux, нужно в пользовательской директории со списком портов эмулятора wine (~/.wine/dosdevices
) найти файл, который является символической ссылкой на реальный USB-порт, к которому подключен адаптер.
Работа с программой Rilheva Modbus Poll
Создание собственной конфигурации
Работа с устройством по протоколу Modbus RTU:
- Выберите в главном окне программы Rilheva Modbus Poll подключение по последовательному порту
- Укажите номер используемого порта.
- Настройте параметры обмена: скорость, четность, количество стопбитов в соответствии с настройками модуля, а также таймаут ответа и частоту повторения запросов.
- Добавьте регистры устройства, которые необходимо опрашивать.Нажмите кнопку Add register и в появившемся диалоговом окне заполните поля в соответствии с картой регистров используемого модуля:
- Address — адрес регистра в десятичном формате
- Alias - описание регистра
- Read only - запрет на запись значений в регистр. Для регистров, значения которых нужно изменять снимите галочку
- Read function - выбор типа регистра и соответствующей modbus-функции для его опроса
- Type - задает формат данных
- Multiplier - коэффициент, на который умножается значение регистра для удобного отображения
- Offset - значение, которое прибавляется к значению регистра для удобного отображения
- Decimal places - количество десятичных знаков при отображении
- Add further registers with the same kind - опция позволяет добавить сразу несколько регистров одного типа в список опроса
- Запустите опрос устройства, для этого нажмите кнопку Connect.
- Чтобы изменить значение регистра типов
holding
илиcoil
, задайте новое значение в поле Current value - Остановите опрос устройства, для этого нажмите на кнопку Disconnect.
Рассмотрим работу с устройством по протоколу Modbus RTU на примере модуля реле WB-MR6C v.2. Считаем состояние выхода 1, счетчик срабатываний входа 1 и серийный номер модуля:
- В таблице регистров модуля реле найдите описание этих регистров:
- состояние выхода 1 реле: адрес регистра 0, тип coil, формат bool
- счетчик срабатываний входа 1: адрес регистра 32, тип input, формат u16
- серийный номер модуля: адреса регистров 270, 271, тип input, формат u32
- Впишите эти параметры в настройках опроса регистров и включите опрос.
- Если параметры обмена и конфигурация регистров корректны, то в поле Current value отобразится содержимое регистров.
Конфигурацию можно сохранить и использовать её для настройки таких же устроййтв.
- Пример опроса устройства
Использование готовых конфигураций регистров для модулей Wirenboard
Чтобы упросить пользователям настройку наших устройств без нашего контроллера, мы написали несколько готовых шаблонов для программы Rilheva Modbus Poll. При необходимости, вы можете сделать подобные и для других устройств.
Использование:
- Скачайте файл конфигурации к себе на компьютер.
- Запустите программу Rilheva Modbus Poll
- Загрузите файл конфигурации в программу.
- Настрйоки обмена будут заполнены значениями по умолчанию, при необхолдимости, измените их.
- Укажите modbus-адрес устройства и выберите используемый последовательный порт.
- Опросите устройство, для этого нажмите кнопку Connect. Значения регистров из устройства будут показаны в таблице.
- Установите нужные значения в поле Current value, они будут сразу отправлены в устройство.
- Остановите опрос кнопкой Disconnect.
Файлы конфигураций регистров модулей Wirenboard
Файл регистров, общих для всех Modbus-устройств Wiren Board
Файлы регистров и настроек для Modbus-модулей Wirenboard по типам:
WB-MR6C v.2, WB-MR6LV/x, WB-MR6HV/x, WB-MR6C/NC (6-канальный модуль реле)
WB-MR3LV/x, WB-MR3HV/x, WB-MRWL3 (3-канальный модуль реле)
WB-MR6CU v.2, WB-MRPS6 (6-канальный модуль реле)
WB-MRGBW-D fw3 (4-канальный диммер светодиодных лент c прошивкой 3.x)
WB-MDM3 (3-канальный диммер)
Работа с программой modbus_client
Для работы с modbus-утройством в ОС Linux также можно использовать консольную утилиту modbus_client.
Для этого скачайте пакет для настольных компьютеров с Linux.
Перейдите в папку со скаченным пакетом и установите его командой:
sudo apt install ./modbus-utils_1.2_amd64.deb
Также автоматически должен установиться пакет libmodbus
, если этого не произошло — установите его из репозитория apt.
Как работать и примеры использования смотрите в статье modbus_client.