Skip to content

OpcDevices - Генератор устройств Opc

Данный материал описывает внешний модуль OpcDevices — исполнитель генерации OPC UA-устройств в alpha.DevStudio.

Ожидаемый результат: пользователь понимает, какие модели необходимо подготовить, как запустить модуль и какие объекты будут созданы.

OpcDevices - Генератор устройств Opc — внешний модуль системы Uniplant Atomix для автоматизированного создания опроса устройств по протоколу OPC UA сервером Alpha. Модуль создаёт и настраивает OPC UA-серверы, карты адресов, сервисные узлы и диагностические IOS-представления.

Модуль запускается из внутреннего модуля «OPC Device Конфигуратор». Пользователь выбирает в конфигураторе одно или несколько OPC-устройств, после чего OpcDevices обрабатывает выбранные строки и создаёт соответствующую структуру проекта.

Карточка внутреннего модуля «OPC Device Конфигуратор»

Рисунок 1 — Внутренний модуль «OPC Device Конфигуратор», из которого запускается генерация

Исходные данные и результат генерации

Section titled “Исходные данные и результат генерации”
Описание
Исходные данныеСтроки экземпляров из OpcDeviceList.xlsx: TAG, GateTag, ServerTag, ConnectionPointName, PathDevStudio, тип устройства и другие параметры
Исходные данныеПодключаемый по IOBJ файл описания устройства с листами OPT.Device, OBJ.* и MBM.*
Исходные данныеМодель OBJTYPE типа OpcDev или OpcPlc, включая параметры листа NetDiag.opt
Исходные данныеГлобальная переменная OPC_DEVICES_DIRECTORY_PATH и выбранные в конфигураторе устройства
Результат генерацииУстройство или ПЛК с тегом GateTag и описанными в модели сетями
Результат генерацииApplication с экземплярами, компонентом карты OPC и сформированной картой адресов
Результат генерацииКомпонент OpcUaServer, добавленный в найденный или автоматически созданный OpcUaClient
Результат генерацииСервисные узлы и диагностический IOS-экземпляр на сервере ServerTag

Перечень OPC-устройств находится по пути:

%JSC%\USR\PRJ\Conf\DevStudioDevs\OPC\OpcDeviceList.xlsx

Файл OpcDeviceList.xlsx в каталоге проекта

Рисунок 2 — Расположение файла OpcDeviceList.xlsx в проекте

Каталог, в котором конфигуратор ищет все файлы описания OPC-устройств, задаётся глобальной переменной:

ПеременнаяНазначение
OPC_DEVICES_DIRECTORY_PATHПуть к папке со всеми файлами описания OpcDevice

Файл содержит перечень экземпляров OPC-устройств и параметры, необходимые для их генерации. Поле ConnectionPointName задаёт имя точки подключения, используемое компонентом OpcUaServer в устройстве.

Описание экземпляра также содержит:

  • TAG — имя создаваемого компонента OpcUaServer;
  • GateTag — тег создаваемого устройства или ПЛК;
  • ServerTag — сервер, в котором настраиваются клиент и диагностические узлы;
  • PathDevStudio — путь размещения диагностического экземпляра на сервере;
  • IOBJ — ссылка на файл описания конкретного устройства.

Точный состав полей может зависеть от используемой версии модели и типа устройства.

Модель OBJTYPE определяет тип OPC UA-устройства, пути размещения объектов и правила создания диагностической структуры. Используются значения типа устройства:

  • OpcDev — OPC-устройство;
  • OpcPlc — OPC-ПЛК.

Параметры листа NetDiag.opt задают пути и правила генерации: ManagerName, DevStudioDeviceNamePath, DevStudioServiceNamePath, DevStudioServiceTypePath, DevStudioIosTypePath, DevStudioIosAppName_1..N и DevStudioServicePathAdapter_1..N.

Описание типа OpcDev в модели OBJTYPE

Рисунок 3 — Пример строки описания типа OpcDev

Файл описания устройства

Section titled “Файл описания устройства”

Файл конкретного устройства подключается к строке экземпляра инструкцией IOBJ.

Подключение файла описания OPC-устройства через IOBJ

Рисунок 4 — Подключение файла описания устройства через IOBJ

Подключаемый файл содержит:

ЛистНазначение
OPT.DeviceПараметры компонента OpcUaServer в устройстве и параметры сервера, добавляемого в OpcUaClient; в том числе правило размещения карты AdressMapPath
OBJ.*Экземпляры, создаваемые в Application устройства или ПЛК
MBM.*Исходные данные для формирования карты адресов OPC

Создаётся устройство или ПЛК с тегом GateTag. Путь определяется выражением DevStudioDeviceNamePath из OBJTYPE на листе NetDiag.opt.

В устройстве создаются сети в соответствии с их описанием в строке OpcDeviceList.xlsx.

В Application создаются экземпляры с листов OBJ.* подключаемого файла по общим правилам обработки XLS-моделей.

На основе листов MBM.* формируется карта адресов. Компонент карты OPC размещается по правилу AdressMapPath, заданному на листе OPT.Device.

В созданном устройстве добавляется компонент OpcUaServer с именем TAG из OpcDeviceList.xlsx. Его параметры, включая имя точки подключения, TCP-порт и путь к карте адресов, заполняются значениями из OpcDeviceList.xlsx и листа OPT.Device подключаемого файла.

Пример параметров компонента OpcUaServer

Рисунок 5 — Пример созданного компонента OpcUaServer и его параметров

5. Подключение сервера к OpcUaClient

Section titled “5. Подключение сервера к OpcUaClient”

В существующем сервере ServerTag, в менеджере ManagerName из OBJTYPE, модуль находит OpcUaClient и добавляет в него созданный OpcUaServer. Если OpcUaClient отсутствует, модуль автоматически создаёт его без вывода предупреждения. Параметры подключения заполняются по листу OPT.Device.

На сервере ServerTag, по пути DevStudioServiceNamePath из OBJTYPE, создаются сервисные узлы типа DevStudioServiceTypePath. Количество узлов и правила формирования путей определяются параметрами DevStudioServicePathAdapter_1..N.

7. Диагностический IOS-экземпляр

Section titled “7. Диагностический IOS-экземпляр”

На сервере ServerTag, по пути PathDevStudio из OpcDeviceList.xlsx, создаётся экземпляр диагностического типа DevStudioIosTypePath. Ссылки на сервисные сигналы инициализируются по правилам DevStudioIosAppName_1..N и DevStudioServicePathAdapter_1..N.

  1. Укажите корректный OPC_DEVICES_DIRECTORY_PATH.
  2. Подготовьте OpcDeviceList.xlsx, OBJTYPE и файлы, подключаемые через IOBJ.
  3. Убедитесь, что в проекте существуют серверы ServerTag. Отсутствующие компоненты OpcUaClient будут созданы автоматически.
  4. Откройте «OPC Device Конфигуратор».
  5. Выберите OPC-устройства, которые необходимо создать.
  6. Во вкладке модулей запустите «OpcDevices - Генератор устройств Opc».
  7. Проверьте журнал, созданные устройства, карты OPC, подключения клиентов и диагностические узлы.
СитуацияОжидаемое поведение
Не найден сервер ServerTagМодуль записывает сообщение в журнал; серверная часть структуры не создаётся
Не найден требуемый OpcUaClientКлиент создаётся автоматически без предупреждения, после чего генерация продолжается
Некорректен OPC_DEVICES_DIRECTORY_PATHКонфигуратор не сможет собрать перечень файлов OPC-устройств
Ошибка в IOBJ или отсутствует подключаемый файлНевозможно создать экземпляры Application и карту адресов