Плагин Modbus

Скачать: intraHouse.plugin-Modbus.zip  (14 KB)

Лицензия: MIT

Author: intraHouse

Плагин Modbus предназначен для работы с устройствами по протоколу Modbus.

Установка плагина

Процедура установки плагина показана здесь

Настройка плагина

Двойным кликом на строке плагина открыть окно свойств плагина:

На вкладке Параметры заполнить следующие поля:

  • Транспорт — на данный момент только Modbus TCP
  • IP — адрес устройства (контроллера)
  • Порт — порт устройства (для Modbus по умолчанию 502)
  • Ожидание ответа на запрос — время ожидания ответа от устройства (контроллера) на запрос. Если время ожидания превышено, плагин переходит к следующему запросу.
  • Интервал между запросами — некоторые устройства (контроллеры) не могут обрабатывать запросы с маленьким интервалом. Рекомендуем оставить по умолчанию — 100ms
  • Максимальное количество слов при чтении диапазона. Плагин способен считывать информацию с устройства (контроллера) не по отдельным регистрам, а блоками. Диапазон блока информации плагин формирует автоматически. Здесь можно задать максимальный размер одного блока.
  • Порядок байтов для 2 байтовых значений. В разных устройствах (контроллерах) этот порядок определен по разному. Нужно установить так, как задано в вашем устройстве (контроллере).
  • Порядок байтов для 4 байтовых значений. Нужно установить так, как задано в вашем устройстве (контроллере).

Настройка каналов

Нажать кнопку вызова списка каналов и выбрать «Список каналов»:

Нажать кнопку «+» 

В окне свойств канала заполнить следующие поля: 

  • Канал — имя канала. Любое буквенно-цифровое обозначение.
  • Тип устройства — выбрать из списка соответствующий тип.
  • Unit ID — адрес устройства на шине. Если устройство одно, адрес обычно равен 1.
  • Адрес регистра — адрес регистра в таблице Modbus
  • Тип переменной.
  • Функция Modbus.
  • Группировать при чтении. Если галка не установлена, этот регистр будет читаться отдельным запросом. Если установлена, то плагин формирует один запрос для группы регистров. Таким образом существенно повышается скорость опроса регистров.

 

Кроме этого, если установить галку «Преобразование значения», можно задать следующие параметры:

  • Минимальное значение логического уровня
  • Максимальное значение логического уровня
  • Минимальное значение физического уровня
  • Максимальное значение физического уровня

Эти параметры позволяют преобразовать значения пользовательского интерфейса (яркость, уровень) в значения, передаваемые в регистры Modbus. Например, на интерфейсе отображается вентиляционная заслонка. У нее угол поворота от 0 до 90 градусов. А на физическом уровне в регистры передаются значения от 0x1999 до 0x7FFF.
Значения физического уровня можно вводить как в десятичном виде (154), так и в шестнадцатиричном (0x9A).

После сохранения канала появляется возможность привязки канала к виртуальному устройству :

На вкладке «Обработка» доступны следующие варианты обработки информации на стороне сервера:

  • Инвертировать входное значение. Например, от стандартных датчиков движения приходит ноль при сработке. Это не удобно при отображении на мнемосхеме и дальнейшей обработке в сценариях.
  • Инвертировать выходное значение. Применяется только для дискретных актуаторов.
  • Формула расчета входного значения. Например от датчика температуры поступает значение 247. Можно его сразу преобразовать в 24,7 формулой: value/10
  • Формула расчета выходного значения. Аналогично примеру выше, но в обратную сторону.
  • При выполнении команды подтверждения не ждать. Стандартный алгоритм системы подразумевает отображение состояния только после получения реального значения с устройства. Но некоторые медленные устройства отправляют подтверждение о выполнении команды с большой задержкой. Если поставить эту галку, то система выполнит операции не ожидая подтверждения. Например, при нажатии на иконку светильника, она моментально изменит состояние не ожидая подтверждения от реального устройства.
    Второй вариант применения этой опции: работа с устройствами, которые в принципе не имеют обратной связи.

Если для чтения состояния устройства используется один регистр, а для команды управления другой регистр, нужно поставить галку «Настроить команды»:

Появится вкладка «Команды»:

  • Команда — Включить (On), Выключить (Off), Установить значение (Set)
  • Адрес регистра в таблице Modbus — адрес регистра для команды управления
  • Тип переменной.
Закрыть меню