Working with WB devices without a controller

Материал из Wiren Board

Многие устройства Wiren Board могут работать независимо, без участия контроллера. Для этого требуется подать питание на соответствующие клеммы V+ и GND. Однако для настройки и опроса устройств по Modbus без контроллера потребуются дополнительные меры.

Аппаратная часть

Пример схемы подключения 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

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

Read/Write Definition

Заполняем следующие поля:

Slave Id "ХХ"
берется с наклейки на устройстве, напечатан как "Addr: XX"
Function "03"
Мы хотим считать holding регистр
Тип регистра - из таблицы в документации
Address "110"
Из таблицы регистров устройства. Этот - из "Common_Modbus_Registers", общих для всех устройств разработки wirenboard регистров
Обратите внимание: Если в таблице адрес указани в шестнадцатеричном виде - нужно переключить Address mode в Hex или пересчитать адрес в десятичный.
Quantity "1"
Количество считываемых последовательно регистров, начиная с Address
Address in cell
Отображение адреса регистра в ячейке (необязательно)
Заполнение полей

Нажимаем OK


Видим:

Успешное соединение

Получим "Прямая активная энергия для фазы L1" Настроим чтение 4 регистров input (значение имеет формат u64) с адреса 0x1204 (для MAP3)

Настрйка для получения u64

Теперь видим:

Исходные значения энергии

Для отображения в десятичном виде - переключим формат в меню:

Переключение на u64

И получаем

Десятичный вид

В новом счетчике в младшем регистре есть ненулевое значение - оно туда записано из-за проверки на стенде.

Работа на Linux

Для работы под Linux достаточно установить утилиту Modbus-client и дальше работать так же как на контроллере Wiren Board.

Для этого скачайте пакет для настольных компьютеров с Linux и установите командой

apt install ./modbus-utils_1.2_amd64.deb

Так же по зависимости должен установиться пакет libmodbus. Если это не случилось установите libmodbus в ручную.

Подробнее о работе с Modbus-client тут