Настройка обмена с использованием технологии OPC

OPC UA-сервер. Пример подключения к MasterSCADA 4D

В данном примере будет рассмотрено подключение к OPC UA-серверу ПЛК210 клиентом MasterSCADA 4D (версия 1.3.2.32723).

Для настройки обмена следует:

  1. Добавить в проект блок OpcUAServer, настроить его входы.

    В примере используется блок OPC UA-сервера, автоматически добавляемый в новый проект для подключения Отладчиком.

    Graphic
    Дерево проекта

    На входы блока ip – IP-адрес контроллера и prt – локальный порт контроллера поданы SQL-запросы к соответствующим свойствам текущего модуля.

    Запрос IP адреса (prop_ip):

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"

    Запрос номера порта (prop_debug_port):

    <sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_debug_port"</sql>
    Graphic
    Блок OPC UA-сервера

    В данной конфигурации OPC UA-клиент будет видеть все входы/выходы блоков в проекте. Для удобства выбора переменных для обмена можно создать Раздел и добавить в него необходимые входы/выходы блоков в проекте.

    Для этого необходимо создать в модуле Раздел с именем Данные OPC UA-сервер (или любым другим).

    Graphic
    Дерево проекта
  2. Добавить в раздел необходимые входы/выходы блоков в проекте. Для этого необходимо выделить интересующий вход/выход блока, с нажатым Ctrl перенести данный вход/выход в созданный раздел ДанныеOPC UA-сервер, и в появившемся меню выбрать Добавить.

    Graphic
    Раздел Данные OPC UA-сервер
  3. Транслировать модуль и запустить программу на ПЛК. Перейти к настройке OPC UA-клиента MasterSCADA 4D.

  4. Создать новый пустой проект MasterSCADA 4D.

  5. В узле Система добавить узел АРМ.

    Graphic
    Узел АРМ
  6. В созданном узле АРМ1 добавить протокол OPC UA.

    Graphic
    Узел АРМ, протокол OPC UA
  7. В свойствах OPC UA задать адрес URI OPC UA-сервера в соответствии с блоком OpcUAServer, Имя пользователя и Пароль в соответствии со свойствами модуля (в примере модуль example_opc_ua).

    Graphic
    Свойства OPC UA
  8. В окне OPC UA нажать Подключиться без загрузки. В окне отобразятся все переменные дерева проекта контроллера. Далее необходимо выбрать интересующие переменные и нажать Применить. В узле OPC UA появится раздел с добавленными переменными.

    Graphic
    Окно OPC UA, выбор переменных
    Graphic
    Узел OPC UA
  9. Подключить узел АРМ1, наблюдать корректный обмен данными.

    Graphic
    Изменение данных в программе ПЛК
    Graphic
    Чтение данных OPC UA-клиентом
    Graphic
    Запись данных OPC UA-клиентом
    Graphic
    Изменение данных в программе ПЛК

OPC UA-клиент. Пример подключения к OPC UA-серверу ПЛК210

В данном примере будет рассмотрено подключение ПЛК210 в качестве клиента к OPC UA-серверу на ПЛК210. В качестве OPC UA-сервера использован сервер, настроенный в предыдущем примере.

Для настройки обмена в качестве OPC UA-клиента следует:

  1. Добавить в проект блок OpcUAClient, настроить его входы.

    Graphic
    Дерево проекта

    На вход блока lip – локальный IP-адрес контроллера подан SQL-запрос к соответствующему свойству текущего модуля.

    Запрос IP-адреса (prop_ip):

    "<sql>SELECT value FROM blocks_prop WHERE indx=:module AND type="prop_ip"</sql>"

    Внутри блока OpcUAClient автоматически добавляется раздел Данные.

    Graphic
    Блок OPC UA-клиента
  2. У OPC UA-сервера из предыдущего примера три входа и два выхода, что в разделе Данные клиента будет соответствовать трем выходам и двум входам (входы/выходы сервера можно связывать также с входами/выходами клиента в разделе Данные).

    Чтобы отображать/изменять данные в модуле клиента, можно создать на любой странице проекта терминальные блоки:

    Graphic
    Терминальные блоки
  3. Добавить входы/выходы созданных терминальных блоков в раздел Данные. Для этого, зажав Ctrl, перетащить вход/выход в раздел Данные и в выпадающем меню выбрать Добавить.

    Graphic
    Раздел Данные
  4. Для того, чтобы привязать данные OPC UA-сервера к созданным входам/выходам раздела Данные, следует назначить их источниками. Для этого следует открыть страницу модуля сервера с интересующими входами/выходами, зажав Ctrl, перетащить вход/выход к выходу/входу в разделе Данные, в выпадающем меню выбрать Назначить источником.

    То же самое можно сделать, перетаскивая вход/выход сервера из дерева проекта без зажатого Ctrl.

    В данной конфигурации клиент будет записывать данные входов сервера циклически. Чтобы записывать данные по изменению, следует выполнить действия из пп. 5 - 6.

    Graphic
    Раздел Данные

  5. Добавить выходам раздела Данные свойство Зона нечувствительности, равное 0.

    Если свойство Зона нечувствительности имеет значение 0, то значение на выход передается по изменению. Если свойство имеет значение больше 0, то значение на выход передается при преодолении данной зоны нечувствительности.

    Graphic
    Зона нечувствительности
  6. В свойствах модуля добавить свойство Трансляция: включить свойства входов/выходов, равное Только из разделов.

    Graphic
    Свойства модуля OPC UA-клиента
  7. Транслировать модуль OPC UA-клиента и запустить программу на обоих ПЛК.

  8. Подключиться Отладчиком к обоим модулям, наблюдать корректный обмен данными.

    Graphic
    Изменение данных в программе ПЛК-сервера
    Graphic
    Чтение данных ПЛК-клиентом
    Graphic
    Запись данных ПЛК-клиентом
    Graphic
    Изменение данных в программе ПЛК-сервера после записи ПЛК-клиентом