Working with WB devices without a controller: различия между версиями
Brainroot (обсуждение | вклад) |
Brainroot (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
[[Файл:Modbys poll 02-test1.png|thumb|right|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|Заполнение полей]] | [[Файл:Modbys poll 02-test.png|thumb|right|Заполнение полей]] | ||
Нажимаем ''OK'' | |||
Видим: | |||
== Работа на Linux == | == Работа на Linux == |
Версия 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 тут