OpenSCADAWiki: Home Page En/Doc/OPCUA ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Doc/OPCUA from 2010-06-03 16:24:08..

The <OPC_UA> module of “Data acquisition” and “Transport protocols” subsystems

Russian (1 Kb) Русская версия
Ukrainian (1 Kb) Українська версія


Parameter Module 1 Module 2
ID: OPC_UA OPC_UA
Name: OPC_UA OPC_UA
Type: DAQ Protocol
Source: daq_daq_OPC_UA.so
Version: 0.5.0 0.5.0
Author: Roman Savochenko
Translated:Maxim Lysenko
Description: Provides the implementation of client service of OPC UA. Provides the implementation of the OPC UA protocol.
License: GPL

Contents

Introduction

OPC (OLE for Process Control) - это семейство протоколов и технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Создание и поддержку спецификаций OPC координирует международная некоммерческая организация OPC Foundation, созданная в 1994 году ведущими производителями средств промышленной автоматизации.


В виду того, что значительное влияние в организации OPC Foundation имеет корпорация Microsoft, протоколы OPC до последнего времени были одноплатформеными и закрытыми, ввиду привязки к закрытым технологиям MS Windows. Однако, с недавних пор организацией OPC Foundation были созданы такие многоплатформенные интерфейсы, как OPC XML DA и OPC UA. Наибольший интерес из них представляет интерфейс OPC UA, как унифицирующий все интерфейсы ранних версий в рамках открытых и многоплатформенных технологий.


Данный модуль реализует поддержку интерфейса и протокола OPC UA как в виде клиентского сервиса, так и в виде сервера OPC UA. Клиентский сервис OPC UA реализуется одноимённым модулем подсистемы "Сбор данных", а сервер реализуется модулем подсистемы "Протоколы".


В текущей версии данных модулей реализуются бинарная часть протокола и базовые сервисы в небезопасном режиме. В последствии планируется расширение модуля для работы через HTTP/SOAP, поддержки политик безопасности и реализации остальных сервисов OPC UA.


Хотя протокол OPC UA и является многоплатформенным, его спецификация и SDK не являются свободнодоступными, а предоставляются только членам организации OPC Foundation. По этой причине реализация данных модулей столкнулась со значительными препятствиями и проблемами.


Во-первых, протокол OPC UA сложен и реализация его вообще без спецификации крайне трудоёмка. По этой причине работы над данными модулями долгое время не начиналась, и только благодаря спонсорской помощи одной из организаций-члена OPC Foundation проект OpenSCADA получил документацию спецификации. При этом SDK и исходные тексты ANSIС-API протокола OPC-UA получены не были по причине несовместимости их лицензии с GPL и, как следствие, потенциальной угрозы нарушения лицензии при работе с исходными текстами, что могло привести к последующим юридическим проблемам при свободном распространении данных модулей.


Во-вторых, даже наличие спецификации не позволяет решить ряд технических вопросов без примера реализации и возможности проверки на рабочем прототипе клиента и сервера OPC UA. Например, именно технические особенности реализации алгоритмов симметричного шифрования и получения ключей для них не позволили закончить реализацию поддержки политик безопасности на данный момент.


Для отладки функционирования модулей было использовано демонстрационное ПО фирмы Unified Automation в составе OPC UA клиента - UA Expert и сервера - OPC UA Demo Server.

1. Протокол OPC UA

OPC UA - это платформо-независимый стандарт, с помощью которого системы и устройства различного типа могут взаимодействовать путём отправки сообщений между клиентом и сервером через различные типы сетей. Протокол поддерживает безопасное взаимодействие путём валидации клиентов и серверов, а также противодействия атакам. OPC UA определяет понятие Сервисы, которые сервера могут предоставлять, а также сервисы, которые сервер поддерживает для клиента. Информация передаётся в виде типов данных, определённых OPC UA и производителем, кроме того сервера определяют объектную модель, для которой клиенты могут осуществлять динамический обзор.


OPC UA предоставляет совмещёние интегрированного адресного пространства и сервисной модели. Это позволяет серверу интегрировать данные, нарушения (Alarms) и события (Events), историю в этом адресном пространстве, а также предоставлять доступ к ним посредством интегрированных сервисов. Сервисы также предоставляют интегрированную модель безопасности.


OPC UA позволяет серверам предоставлять для клиентов определения типов для доступа к объектам из адресного пространства. OPC UA допускает предоставление данных в различных форматах, включая бинарные структуры и XML-документы. Через адресное пространство клиенты могут запросить у сервера метаданные, которые описывают формат данных.


OPC UA добавляет поддержку множественной связности между узлами вместо простого довольствования иерархичностью. Такая гибкость в комбинации с определением типов позволяет применять OPC UA для решения задач в широкой проблемной области.


OPC_UA спроектирован для обеспечения надёжной выдачи данных. Основная особенность всех OPC серверов - способность выдавать данные и события.


OPC_UA спроектирован для поддержки широкого диапазона серверов, от простых ПЛК до промышленных серверов. Эти сервера характеризуются широким спектром размеров, производительности, платформ исполнения и функциональной ёмкости. Следовательно, OPC UA определяет исчерпывающее множество возможностей, и сервер может имплементировать подмножества этих возможностей. Для обеспечения совместимости OPC UA определяет подмножества, именуемые Профилями, которые сервера могут указывать для согласования. Клиенты могут в последствии выполнять обзор профилей сервера и пробрасывать взаимодействие с сервером, основанном на профилях.


OPC UA спецификация спроектирована как ядро в слое, изолированном от подлежащих компьютерных технологий и сетевых транспортов. Это позволяет OPC UA при необходимости расширяться на будущие технологии без отторжения основы дизайна. На данный момент спецификацией определены два способа кодирования данных: XML/text и UA Binary. В дополнение, определено два типа транспортного слоя: TCP и HTTP/SOAP.


OPC UA спроектирован как решение для миграции с OPC клиентов и серверов, которые основаны на Microsoft COM технологиях. OPC COM сервера (DA, HDA и A&E) могут быть легко отражены в OPС UA. Производители могут самостоятельно осуществлять такую миграцию или же рекомендовать пользователям использовать обёртки и конверторы между этими протоколами. OPC UA унифицирует предыдущие модели в едином адресном пространстве с единым множеством сервисов.

2. Модуль реализации протокола

Модуль протокола содержит код реализации протокольной части OPC UA как для клиентского, так и для серверного сервисов. Для построения OPC UA сервера достаточно создать входящий транспорт и выбрать в нём модуль данного протокола.

2.1. Обслуживание запросов по протоколу OPC UA

Входящие запросы к модулю-протоколу обрабатываются модулем в соответствии со сконфигурированными конечными узлами OPC UA (EndPoints) (рис.1).


Endpoint nodes of the protocol. (62 Kb)
Рис.1. Конечные узлы протокола.

Конечный узел протокола OPC UA - это фактически объект сервера OPC UA. Конечные узлы в OPC UA могут быть как локальными, так и удалёнными. Локальный конечный узел предназначен для предоставления ресурсов станции по протоколу OPC UA, в то время как удалённые конечные узлы служат как для выполнения сервиса обзора доступных OPC-UA узлов, так и для шлюзования запросов к удалённым станциям. В данной версии модуля поддерживается только конфигурация локальных конечных узлов.


Общая конфигурация конечного узла осуществляется на главной вкладке страницы конечного узла (рис.2) параметрами:


Main tab of the endpoint node's page. (129 Kb)
Рис.2. Главная вкладка страницы конечного узла.

3. Модуль сбора данных

Модуль сбора данных предоставляет возможность опроса и записи атрибутов значения(13) узлов типа "Переменная".

3.1. Контроллер данных

Для добавления источника данных OPC UA создаётся и конфигурируется контроллер в системе OpenSCADA. Пример вкладки конфигурации контроллера данного типа изображен на рис.3.


Controller's object configuration tab. (129 Kb)
Рис.3. Вкладка конфигурации контроллера.

С помощью этой вкладки можно установить:


С целью облегчения идентификации узлов на удалённой станции, а также выбора их для вставки в параметре контроллера в объекте контроллера предусмотрена вкладка навигации по узлам удалённой станции, где можно пройти по дереву объектов и ознакомится с их атрибутами (рис.4).


The "Server nodes browser" tab of the controller's object page. (117 Kb)
Рис.4. Вкладка "Обзор узлов сервера" страницы контроллера.

3.2. Параметры

Модуль сбора данных предоставляет только один тип параметров - “Стандарт”. Дополнительным конфигурационным полем параметра данного модуля (рис.5) является перечень узлов OPC UA. Атрибут в этом перечне записывается следующим образом: [ns:id].
Где:

ns - область имён, числом;
id - идентификатор узла, числом или строкой.

Пример:

'0:84' - корневая директория;
'3:BasicDevices2' - узел базовых устройств в области имён 3.

Configuration tab of the parameter's object. (97 Kb)
Рис.5. Вкладка конфигурации параметра.

В соответствии с указанным списком узлов выполняется опрос и создание атрибутов параметра (рис.6).


The parameter's attributes tab. (72 Kb)
Рис.6. Вкладка атрибутов параметра.

Ссылки

Referring pages: HomePageEn/Doc
HomePageEn/Function
HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs
HomePageEn/Works/RoadMap


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]