Working with WB devices without a controller: различия между версиями
Brainroot (обсуждение | вклад) |
|||
(не показано 98 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
Многие устройства Wiren Board могут работать независимо, без участия контроллера. Для этого требуется подать питание на соответствующие клеммы V+ и GND. Однако для настройки и опроса устройств по Modbus без контроллера потребуются дополнительные меры. | |||
== Аппаратная часть == | == Аппаратная часть == | ||
[[File:USB-RS485.png |450px|thumb|right|Пример схемы подключения modbus устройств через адаптер USB-RS485]] | |||
Если Вы не планируете использовать в Вашем проекте контроллер (на пример Wiren Board 6), но настройка или опрос устройств всё же потребовались можно подключить устройства к ПК через специальный адаптер USB-RS485. Клеммы A и B устройства подключаете к соответствующим входам на адаптере, при этом питание на устройства подается с отдельного блока питания. | |||
== Работа на Windows == | |||
== | |||
Для работы с Modbus на windows рекомендуем использовать утилиту Modbus Poll из комплекта Modbus Tools, либо другую программу для работы c Modbus под Windows. | |||
== | === Настройка порта === | ||
Подключите адаптер USB-RS485 к компьютеру. За тем нажмите ПКМ на меню "Пуск", выберите "Диспетчер устройств". Найдите тип устройств "Порты(COM и LPT)", разверните и найдите среди имеющихся устройств свой адаптер. Если драйвер не был установлен автоматически установите его вручную по инструкции от производителя. Далее нажмите ПКМ на адаптер 🠖 Свойства 🠖 Port Settings. Укажите параметры порта в соответствии с настройками Вашего оборудования. Для устройств WB по умолчанию 9600 8 n 2. Так же поставьте галку возле параметра "RS485", если такой имеется. | |||
=== Modbus Poll === | |||
'''[https://www.modbustools.com/download.html Modbus Poll]''' - Платная программа с бесплатным пробным периодом 30 дней. Программа работает в многооконном режиме, то есть одновременно можно опрашивать несколько разных устройств на шине. | |||
*Скачайте и установите программу | |||
*Запустите | |||
*Нажмите F3 - откроется окно настройки соединения. Выберите настройки в соответствии с Вашим оборудованием и нажмите OK (пример на скриншоте) | |||
*Нажмите Ctrl+N для создания нового окна опроса, за тем нажмите F8 - откроется окно настройки опроса. Здесь необходимо указать modbus адрес устройства, тип опрашиваемого регистра(ов), начальный регистр и количество. За что отвечают те или иные регистры смотрите в картах регистров в документации к Вашему оборудованию. На пример [https://wirenboard.com/wiki/index.php?title=Relay_Module_Modbus_Management Карта регистров модулей реле]. После сохранения Вы увидите данные выбранных регистров в активном окне опроса. | |||
*Если необходимо опрашивать несколько разных устройств на шине или несколько разных регистров или типов регистров одного устройства, еще раз нажмите Ctrl+N для создания нового окна. И снова нажмите F8 для настройки опроса. | |||
*Для записи информации в регистры нажмите в меню кнопку "Functions" и выберите необходимый пункт. | |||
На пример Если необходимо изменить modbus адрес устройства выберите "Write Single Register" (см скриншот). Введите текущий адрес устройства (параметр slave id), регистр 128 - в нем хранится modbus адрес (параметр Address), и новый modbus адрес (параметр Value). Параметр "Use Function" выберите "Write Single Register" и нажмите Send. | |||
<gallery mode="packed" heights="250px"> | |||
<gallery mode=" | File:Usbrs485-1.PNG|Настройка порта в диспетчере устройств. | ||
File:Usbrs485-2.PNG|Настройка соединения в Modbus Poll. | |||
File:Usbrs485-3.PNG|Настройка опроса в Modbus Poll. | |||
File:Usbrs485-4.PNG|Запись новых данных в регистр 128. | |||
</gallery> | </gallery> | ||
== | === Modbus Poll - подключение к счетчику === | ||
Сначала - настроим соединение, как было описано выше: | |||
[[Файл:Modbys poll 01-select port.png|thumb|right|Выбор и настройка порта]] | |||
Для теста считаем один holding регистр из прибора. Для этого щелкаем '''правой''' кнопкой на строчке и выбираем ''Read/Write Definition'' | |||
# | [[Файл:Modbys poll 02-test1.png|thumb|right|Read/Write Definition]] | ||
Заполняем следующие поля: | |||
; Slave Id "ХХ" | |||
: берется с наклейки на устройстве, напечатан как "Addr: XX" | |||
; Function "03" | |||
: Мы хотим считать [[Протокол_Modbus#.D0.9C.D0.BE.D0.B4.D0.B5.D0.BB.D1.8C_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_Modbus|holding]] регистр | |||
: Тип регистра - из таблицы в документации | |||
; Address "110" | |||
: Из таблицы регистров устройства. Этот - из "[[Common_Modbus_Registers]]", общих для всех устройств разработки [[wirenboard.com|wirenboard]] регистров | |||
; Quantity "1" | |||
: Количество считываемых последовательно регистров, начиная с '''Address''' | |||
[[Файл:Modbys poll 02-test.png|thumb|right|Заполнение полей]] | |||
Нажимаем ''OK'' | |||
Видим: | |||
== Работа на Linux == | |||
Для работы под Linux достаточно установить утилиту '''[[Modbus-client]]''' и дальше работать так же как на контроллере Wiren Board. | |||
Для работы | |||
Для этого скачайте [https://github.com/ | Для этого скачайте [https://github.com/contactless/modbus-utils/releases/download/1.2/modbus-utils_1.2_amd64.deb пакет для настольных компьютеров с Linux] и установите командой | ||
apt install ./modbus-utils_1.2_amd64.deb | |||
Так же по зависимости должен установиться пакет libmodbus. Если это не случилось установите libmodbus в ручную. | |||
Подробнее о работе с Modbus-client '''[https://wirenboard.com/wiki/index.php/Modbus-client тут]''' |
Версия 12:08, 26 ноября 2020
Многие устройства Wiren Board могут работать независимо, без участия контроллера. Для этого требуется подать питание на соответствующие клеммы V+ и GND. Однако для настройки и опроса устройств по Modbus без контроллера потребуются дополнительные меры.
Аппаратная часть
Если Вы не планируете использовать в Вашем проекте контроллер (на пример Wiren Board 6), но настройка или опрос устройств всё же потребовались можно подключить устройства к ПК через специальный адаптер USB-RS485. Клеммы A и B устройства подключаете к соответствующим входам на адаптере, при этом питание на устройства подается с отдельного блока питания.
Работа на Windows
Для работы с Modbus на windows рекомендуем использовать утилиту Modbus Poll из комплекта Modbus Tools, либо другую программу для работы c Modbus под Windows.
Настройка порта
Подключите адаптер USB-RS485 к компьютеру. За тем нажмите ПКМ на меню "Пуск", выберите "Диспетчер устройств". Найдите тип устройств "Порты(COM и LPT)", разверните и найдите среди имеющихся устройств свой адаптер. Если драйвер не был установлен автоматически установите его вручную по инструкции от производителя. Далее нажмите ПКМ на адаптер 🠖 Свойства 🠖 Port Settings. Укажите параметры порта в соответствии с настройками Вашего оборудования. Для устройств WB по умолчанию 9600 8 n 2. Так же поставьте галку возле параметра "RS485", если такой имеется.
Modbus Poll
Modbus Poll - Платная программа с бесплатным пробным периодом 30 дней. Программа работает в многооконном режиме, то есть одновременно можно опрашивать несколько разных устройств на шине.
- Скачайте и установите программу
- Запустите
- Нажмите F3 - откроется окно настройки соединения. Выберите настройки в соответствии с Вашим оборудованием и нажмите OK (пример на скриншоте)
- Нажмите Ctrl+N для создания нового окна опроса, за тем нажмите F8 - откроется окно настройки опроса. Здесь необходимо указать modbus адрес устройства, тип опрашиваемого регистра(ов), начальный регистр и количество. За что отвечают те или иные регистры смотрите в картах регистров в документации к Вашему оборудованию. На пример Карта регистров модулей реле. После сохранения Вы увидите данные выбранных регистров в активном окне опроса.
- Если необходимо опрашивать несколько разных устройств на шине или несколько разных регистров или типов регистров одного устройства, еще раз нажмите Ctrl+N для создания нового окна. И снова нажмите F8 для настройки опроса.
- Для записи информации в регистры нажмите в меню кнопку "Functions" и выберите необходимый пункт.
На пример Если необходимо изменить modbus адрес устройства выберите "Write Single Register" (см скриншот). Введите текущий адрес устройства (параметр slave id), регистр 128 - в нем хранится modbus адрес (параметр Address), и новый modbus адрес (параметр Value). Параметр "Use Function" выберите "Write Single Register" и нажмите Send.
Modbus Poll - подключение к счетчику
Сначала - настроим соединение, как было описано выше:
Для теста считаем один holding регистр из прибора. Для этого щелкаем правой кнопкой на строчке и выбираем Read/Write Definition
Заполняем следующие поля:
- Slave Id "ХХ"
- берется с наклейки на устройстве, напечатан как "Addr: XX"
- Function "03"
- Мы хотим считать holding регистр
- Тип регистра - из таблицы в документации
- Address "110"
- Из таблицы регистров устройства. Этот - из "Common_Modbus_Registers", общих для всех устройств разработки wirenboard регистров
- Quantity "1"
- Количество считываемых последовательно регистров, начиная с Address
Нажимаем OK Видим:
Работа на Linux
Для работы под Linux достаточно установить утилиту Modbus-client и дальше работать так же как на контроллере Wiren Board.
Для этого скачайте пакет для настольных компьютеров с Linux и установите командой
apt install ./modbus-utils_1.2_amd64.deb
Так же по зависимости должен установиться пакет libmodbus. Если это не случилось установите libmodbus в ручную.
Подробнее о работе с Modbus-client тут