В статье рассматривается способ обмена сигналами и командами между серверами (в архитектуре клиент-сервер) с помощью преобразователя протоколов «Эликонт-КС»
на примере серверов OPC UA и Modbus TCP. Решение позволяет избежать передачи данных через контрольный кабель или верхний уровень АСУ ТП.
При интеграции локальных САУ разных поставщиков в общее АСУ ТП существует задача передачи данных и команд, участвующих в алгоритмах автоматического управления, распределенных между ПЛК, так называемое межмашинное взаимодействие. Однако исторически сложилось, что в ПЛК чаще реализована только серверная часть протоколов, например, Modbus RTU “slave” или сервер MODBUS TCP или OPC UA, а функции опроса выполняет SCADA. В случаях, когда ПЛК поддерживает функции и клиента, и сервера какого-то протокола, зачастую существующие ограничения производительности или допустимых проектных решений не позволяют использовать их одновременно.
Эта проблема обычно имеет два варианта решения, схематичное отображение которых представлено на Рисунке 1:
а) Использование физических каналов ввода-вывода ПЛК и контрольного кабеля
б) Ретрансляцию данных через уровень SCADA

Рисунок 1. Типичные варианты реализации взаимодействия между устройствами одного уровня
Оба варианта имеют существенные недостатки.
Для первого необходимо иметь полный доступ к прошивкам обоих контроллеров, необходимое количество свободных каналов ввода-вывода, потратить существенное количество времени и средств на монтаж кабельных связей. В результате этот вариант оправдан только для критических сигналов, например, участвующих в функциях защиты и блокировок.
Во втором случае на надежность работы алгоритмов начинает влиять состояние SCADA серверов. Во многих отраслях это недопустимо по действующим нормам, но даже там, где это явно не запрещено, надо иметь в виду следующее:
- Ретрансляция каждого сигнала требует лицензию на 2 тега в SCADA;
- Быстродействие алгоритма будет зависеть от общей загрузки сервера SCADA;
- Серверы SCADA часто резервируются, что тоже надо учитывать в логике во избежание дублирования передачи данных на конечные устройства;
- В инструкциях по обслуживанию серверов SCADA необходимо прописывать их участие в автоматических алгоритмах управления.
Для удобного и простого решения этих задач в релизе 2.2 преобразователя протоколов
"Эликонт-КС" (
скачать дистрибутив) добавлена функция ретрансляции сигналов внутри КС из клиента в клиент протоколов OPC UA или ModbusTCP/RTU.
При ретрансляции сигналов в клиентский канала OPC UA производится запись значения сигнала в узел адресного пространства OPC UA. При ретрансляции сигналов из клиентского канала OPC UA в клиентский канал Modbus RTU/TCP производится запись значения сигнала в дискретный или аналоговый выход Modbus RTU/TCP. Для записи значения используется команда соответствующего протокола.
То есть КС может принять сигнал от устройства с севером протокола и передать его на сервер другого устройства, как команду. При правильной конфигурации системы это фактически означает возможность передачи не только сигнала, но именно команды от сервера к серверу. Для этого оформляется подписка на канал (для протоколов с подпиской типа OPC UA) или осуществляется стандартный опрос канала в случае протокола без подписки (например, Modbus). В случае изменения значения сигнала это интерпретируется как команда и передаётся на другое устройство. Схема такого решения представлена на Рисунке 2.
Стоит заметить, что "команда" может быть передана не одному, а множеству устройств, по аналогии с размножением сигналов через промежуточный клеммник или дополнительные контакты реле.

Рисунок 2. Схема реализации межсерверной коммуникации с использованием Эликонт-КС
Такая функциональность была использована в составе АСУ ТП энергоблока ТЭЦ на базе ПТК "СУРА" для интеграции шкафов управления горелками с контроллерами Simatic S7-1200.
Пример настройки ретрансляции сигнала в клиентский канал
Задача: Обеспечить запись значения сигнала из клиентского канала OPC UA в клиентский канал Modbus TCP.
Исходное состояние: Контролер-1, связь с которым установлена по OPC UA, и Контролер-2, связь с которым осуществляется по Modbus TCP.
Оба контролера являются источниками сигналов и при информационном обмене выступают в качестве сервера OPC UA и сервера Modbus TCP. На контролерах имеется один сигнал (переменная) с одинаковым типом данных. На сервере Modbus TCP сигнал доступен для записи.
Настройка Эликонт-КС:
- В Конфигураторе добавить в проект два клиентских канала по протоколам OPC UA (клиент) и Modbus TCP (клиент), Рисунок 3;
- Для уровня канала связи указать адреса для подключения к внешним устройствам;
- Добавить сигнал для канала OPC UA;
- Добавить команду на канале Modbus TCP, Рисунок 4;
- В свойствах команды в поле «Ретрансляция» указать ссылку на сигнал из канала OPC UA, Рисунок 4;
- Загрузить конфигурацию в Коммуникационное ядро.

Рисунок 3. Сигнал-источник в КС

Рисунок 4. Команда для ретрансляции сигнала в КС
Результат: При изменении значения сигнала на Контролере-1 (OPC UA) происходит изменение (запись) значения сигнала Контролер-2 (канале Modbus TCP).
Более подробно ознакомится с функциями и особенностями работы отечественного коммуникационного сервера «Эликонт-КС», решающего задачи не только OPC сервера, но и мультисервера «все-во-все», можно в Описании программы и Руководстве пользователя.