Modbus

Modbus драйвер устройства позволяет AggreGate Server взаимодействовать с устройствами, используя Modbus протокол. Данные устройства могут быть подключены к системе и, подобно всем другим типам устройств, их данные преобразовываются в специальную форму, так что доступ к ним возможен от разных экземпляров AggreGate. Смотрите статью Device для более подробной информации о "нормализованном" представлении устройств в AggreGate.

Modbus драйвер поддерживает сетевые версии (Modbus TCP и Modbus UDP) и серийные версии (Modbus RTU, Modbus ASCII и Modbus BIN) протокола. Серийные устройства Modbus должны быть подключены к COM портам компьютера, запускающего AggreGate Server.  

Если множественные устройства Modbus находятся на serial bus (например, на RS-485 bus), все устройства будут соединены с AggreGate путем единственного аккаунта устройства. Регистры, которые принадлежат к разным устройствам, должны быть добавлены к общей таблице регистров (см. ниже) с различными значениями Unit ID.

Охват устройств modbus путем сети IP

Есть два основных пути соединения последовательного устройства Modbus к AggreGate по сети IP:

Использование serial-over-ip конвертера

В этом случае конвертер изменяет физический протокол (от Serial на Ethernet или Wi-Fi), но не изменяет протокол на уровне приложения. Поэтому данные Modbus ASCII или Modbus RTU передаются по сети IP "как есть". На стороне сервера виртуальный последовательный драйвер порта необходим, чтобы "поймать" трафик IP и предоставить его с помощью классического последовательного порта. На стороне AggreGate Server аккаунт устройства должен быть настроен для того, чтобы работать в режиме Modbus Serial, взаимодействуя путем верхнего виртуального последовательного порта.

Tibbo предлагает широкий дапазон конвертеров Serial-over-IP (такие как DS1206 програмируемые контроллеры запущенной Serial-over-IP микропрограммы), также как и Virtual Serial Port Driver для ОС Windows и Linux.

Сторонние конвертеры, работающие в паре со сторонними виртуальными последовательными портами, также могут быть использованы для преобразований serial-over-IP.

Использование конвертера modbus serial в modbus TCP

В этом случае конвертер изменяет да протокола: физический (из Serial в Ethernet или Wi-Fi) и на уровне приложения (Modbus ASCII или RTU в Modbus TCP). Таким образом, данные Modbus TCP передаются по сети IP. На стороне сервера драйвер устройства Modbus AggreGate должен быть настроен для работы в режиме Modbus TCP и прямо соединяться с устройством (или несколькими устройствами по bus) с помощью сети IP.

Любой из программируемых контроллеров Tibbo (такие как DS1206), который может запустить приложение конвертер Modbus, выполняющий прикладной и физический протокол преобразования.

Сторонние конвертеры также могут быть использованы для преобразования Modbus Serial в Modbus TCP.

Конфигурация AggreGate Server для серийных коммуникаций

Смотрите включение серийных коммуникаций, если возникли проблемы при подключении к серийным устройствам Modbus.

Информация о драйвере

ID плагина драйвера:

com.tibbo.linkserver.plugin.device.modbus

Общие настройки

Не определены.

Настройки уровня пользователя

Не определены.

Свойства device

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

Настройки подключения определяют, как AggreGate Server взаимодействует с определенным устройством Modbus. Данные настройки доступны через опцию Изменить свойства Device контекста Device. Доступны следующие свойства подключения:

Свойство

Описание

Версия Modbus

Выбор Modbus TCP, Modbus UDP и Modbus Serial.

Идентификатор устройства (Unit ID)

Идентификатор устройства Modbus. Идентификация (адрес) удаленного подчиненного узла, подключенного к серийной линии или другим информационным каналам(например, RS485).

IP адрес или имя хоста

Адрес устройства Modbus (для Modbus TCP/UDP).

Порт

Порт устройства Modbus (номер IP порта, заданный по умолчанию на 502 для Modbus TCP/UDP; имя серийного порта для Modbus Serial).

Кодирование

Выбор RTU, ASCII или BIN (для Modbus Serial).

Скорость передачи информации (Baud Rate)

Скорость передачи информации (для Modbus Serial).

Контроль входящего потока

Тип контроля входящего потока: None, CTS/RTS, или XON/XOFF (для Modbus Serial).

Контроль исходящего потока

Тип контроля исходящего потока: None, CTS/RTS, или XON/XOFF (для Modbus Serial).

Биты данных (Data Bits)

Биты последовательных данных (для Modbus Serial).

Стоп-биты (Stop Bits)

Стоп-биты последовательных данных (для Modbus Serial).

Четность (Parity)

Четность (для Modbus Serial).

Таймаут

Время ожидания выполнения команды (5 секунд по умолчанию).

Повторы

Количество повторов для каждой команды.

Повторное подключение для каждой команды

Заставляет каждую транзакцию Modbus TCP выполняться при отдельном подключении.

Режим записи

Определяет, какие команды протокола Modbus используются для установки значений регистра:

  • Авто. Используются команды Записать один регистр флага и Записать один регистр, если свойство Размер в Регистре устройства равно одному. В ином случае используются команды Записать несколько регистром флага и Записать несколько регистров.

  • Один регистр на команду (Записать Один). Для всех записей будут использоваться команды Записать один регистр флага и Записать один регистр. Несколькими командами будут производиться записи Регистры устройств с Размером больше, чем один.

  • Несколько регистров на команду (Записать несколько). Даже для одного регистра будут использоваться команды Записать несколько регистров флага и Записать несколько регистров (даже записи Регистры устройств с Размером, равным одному).

Регистры устройства

Данное свойство содержит список регистров устройства Modbus, которые доступны для и управляются AggreGateом. как только добавлено новое устройство, должен быть сконфигурирован один и более регистр, чтобы данные устройства были доступны системе. Каждый регистр Modbus представлен одной переменной контекста Device.

Устройства Modbus не создают метаданных, поэтому AggreGate Server не может знать о наличии доступных регистров Modbus определенного устройства. Так что необходимо вручную конфигурировать регистры.

Ниже приведен список свойств каждого регистра Modbus:

Свойство

Описание

Имя

Имя регистра. Будет использоваться в качестве переменной контекста Device, необходимой для доступа к регистру, поэтому она состоит только из букв, однозначных чисел и подчеркивания.

Описание

Текстовое описание регистра. Будет использовано в качестве описания переменной Контекста Device.

Тип

Тип регистра Modbus. Возможные значения:Coil, Discrete Input, Input Register и Holding Register.

Адрес регистра (десятичный)

Адрес регистра Modbus в десятичном формате.

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

Например, Адресу (смещению) 1 для регистра типа Регистр хранения соответствует:

  • Адрес протокола 40000

  • Адрес модели данных 40001

Размер

Количество однотипных регистров, читаемых одной операцией ввода/вывода Modbus и хранимых в переменной контекста AggreGate Server. Может быть полезно прочитать несколько регистров за раз в следующих случаях:

  • Если они логически представляют массив

  • Если они логически представляют строку

  • Если они логически представляют различные части сложных данных, которые должны читаться при помощи одной элементарной операции

Эта настройка имеет значение по умолчанию 1. Значение по умолчанию не должно меняться в большинстве случаев.

Действительное количество регистров, читаемых при помощи одной операции ввода/вывода - N * M, где

  • N - количество регистров, необходимых для хранения одного значения AggreGate Server, зависящего от Типа и Формата

  • M - это значение параметра Размер

Например:

  • если Тип - это Входной регистр, Формат - 8 байт, плавающий, а Размер - 4, сервер читает 32 регистра и представляет их в виде массива в 4 элемента (Таблица данных в одну колонку) с числами с плавающей точкой

  • если Тип - Регистр хранения, Формат - Текст переменного размера, а Размер - 64, сервер читает 64 регистра в виде Таблицы Данных в одну ячейку, содержащую строчное значение.

Unit ID

Modbus Unit ID. Идентификация (адрес) удаленного ведомого, соединенного на последовательной линии или на других шинах (например, RS485).

Вы можете импортировать список регистров из файла (например, файл CSV), используя функцию Импорт компонента Редактор таблицы данных

Если вы хотите подключить несколько схожих устройств Modbus к AggreGate, вы можете заполнить таблицу регистров устройства только один раз, затем скопировать ее на другие устройства, используя действие репликации.

Активы device

Драйвер не поддерживает активы.

Настройки device

Драйвер устройства Modbus создает одну переменную настройки Device для каждого регистра.

Тип конвертации

Данная таблица показывает, как Регистры Modbus конвертируются в переменные контекста Device. Заметьте, что количество строк в каждой переменной зависит от значения параметра Размер. По умолчанию все переменные имеют одну строку, т.е. скалярны.

Тип регистра

Формат

Формат переменной AggreGate Server

Дискретный выход (Coil)

отсутствует

Читаемый/записываемый, 1 колонка типа Логическое

Дискретный вход (Discrete Input)

отсутствует

Только для чтения, 1 колонка типа Логическое

Выходной регистр (Holding Register)

2-байтный Int Unsigned

Читаемый/записываемый, 1 колонка типа Целое


2-байтный Int Signed

Читаемый/записываемый, 1 колонка типа Целое


4-байтный Int Unsigned

Читаемый/записываемый, 1 колонка типа Целое


4-байтный Int Signed

Читаемый/записываемый, 1 колонка типа Целое


4-байтный Int Unsigned Swapped

Читаемый/записываемый, 1 колонка типа Целое


4-байтный Int Signed Swapped

Читаемый/записываемый, 1 колонка типа Целое


4-байтный Float

Читаемый/записываемый, 1 колонка типа Плавающее


4-байтный Float Swapped

Читаемый/записываемый, 1 колонка типа Плавающее


8-байтный Int Signed

Читаемый/записываемый, 1 колонка типа Длинное


8-байтный Int Signed Swapped

Читаемый/записываемый, 1 колонка типа Длинное


8-байтный Float

Читаемый/записываемый, 1 колонка типа Двойное


8-байтный Float Swapped

Читаемый/записываемый, 1 колонка типа Двойное


2-байтный BCD

Читаемый/записываемый, 1 колонка типа Целое


4-байтный BCD

Читаемый/записываемый, 1 колонка типа Целое


Символьный

Читаемый/записываемый, 1 колонка типа Строка. Сервер читает количество регистров, указанных в параметре Размер, и представляет их как строку, которая всегда имеет длину в 64 символа.


Строковый

Читаемый/записываемый, 1 колонка типа Строка. Сервер читает количество регистров, указанных в параметре Размер, и представляет их как строку. Эта строка разрывается первым регистром со значением ноль.

Входной регистр (Input Register)

Любое

То же, что и для Выходного регистра с одинаковым Форматом, но только для чтения.

Операции device

Драйвер не выполняет операции.

События

Device

Драйвер не представляет события.

Подключение

Драйвер переводит устройство в режим онлайн если:

  • Последовательный порт успешно открыт (для устройств Modbus)

  • Установлено TCP соединение с устройством (для  Modbus TCP устройств)

  • Всегда (для Modbus UDP устройств)

Синхронизация

Синхронизация между AggreGate Server и устройством Modbus включает следующие шаги:

  • Создание кэша настроек согласно списку регистров устройства. Каждая переменная используется для доступа к одному регистру устройства Modbus.

  • Чтение значений регистра Modbus и их хранение в кэше настроек.