logo
Konspekt_lektsy_KISU_redaktirovannyy_308

25.1. Специфікація opc ua.

Стандарт ОРС UA встановлює методи обміну повідомленнями між ОРС-сервером і клієнтом, не залежні від апаратно-програмної платформи, від типу взаємодіючих систем і мереж. ОРС UA забезпечує надійну і безпечну комунікацію, протидію вірусним атакам, гарантує ідентичність інформації клієнта і сервера.

У новому стандарті використовується поняття об'єкту, під яким розуміється фізичний або абстрактний елемент системи. Прикладами об'єктів можуть бути фізичні пристрої, системи, що включають їх, і підсистеми. Датчик температури, наприклад, може бути представлений як об'єкт, який включає значення температури, набір параметрів сигналізацій і межі їх спрацьовування. Об'єкт, по аналогії з об'єктно-орієнтованим програмуванням, визначається як екземпляр класу, а клас розглядається як тип даних. Об'єкти включають змінні, події і методи.

ОРС UA використовує декілька різних форматів даних, основними з яких є бінарні структури і XML-документи. Формат даних може бути визначений постачальником ОРС-сервера або стандартом. Для роботи з довільними форматами клієнт може запитати у сервера інформацію про опис цього формату. У багатьох випадках використовується автоматичне розпізнавання формату даних під час їх передачі.

ОРС UA володіє високою робастністю* даних і повідомлень про події. Робастність забезпечується механізмом швидкого виявлення помилок комунікації і відновлення даних.

Сервери можуть мати доступ, як до поточних, так і до даних, що архівуються, до подій і аварійних сигналів. ОРС UA може бути впроваджений в різні комунікаційні протоколи, а дані можуть бути закодовані способами, оптимальними по співвідношенню ефективності і переносимості на інші платформи.

Архітектура, орієнтована на сервіси. Основною відмінністю ОРС UA від ОРС є відмова від технології СОМ і DCOM фірми Microsoft і перехід до архітектури SOA (Service Oriented Architecture — архітектура, орієнтована на сервіси) з метою обміну інформацією і забезпечення сумісності з безліччю різних апаратно-програмних платформ. Під сервісом в ОРС UA розуміється деяка функціональність, реалізована в програмному компоненті, який може бути транспортований від сервера до клієнта або назад і викликаний віддалено. Виклик сервісу аналогічний виклику методу в мовах об'єктно-орієнтованого програмування. Інтерфейс між клієнтом ОРС UA і сервером визначається як набір сервісів. Основним принципом SOA є незалежність від програмної технології, від обчислювальної платформи, від мов програмування, від конкретних застосувань, а також організація сервісів як слабозв'язаних компонентів для побудови систем. Сервіси включають засоби для забезпечення інформаційної безпеки.

Завдяки побудові сервера ОРС UA на основі сервісів з'явилася можливість змінювати розмір (масштабувати) сервер для його використання на платформах з різними обчислювальними ресурсами: для вбудованих застосувань може бути використаний скорочений набір сервісів, для корпоративних мережевих серверів — повний набір.

Сервіси ОРС UА діляться на логічні групи:

Незалежність від COM, DCOM. Відмова від DCOM стала можлива завдяки появі нових транспортних механізмів, заснованих на SOAP, XML, HTTP і сервісах. Завдяки ним ОРС UA дозволяє здійснити безпечну і надійну доставку інформації і об'єднати в одному сервері функціональність ОРС DA, ОРС HDA і ОРС А&E-серверів.

Стандарт ОРС UA не призначений для заміни існуючих ОРС-спецификацій, а доповнює і розширює їх можливості.

Безпека. Для забезпечення інформаційної безпеки в ОРС UA використовуються стандартні веб-сервиси безпеки, такі як WS-Security, WS-Trust або WS-SecureConversation. Діапазон можливостей засобів безпеки тягнеться від простої аутентифікації за допомогою пароля і обміну цифровими підписами до повного шифрування передаваних повідомлень. ОРС-повідомлення в стандарті UA передаються за допомогою повідомлень SOAP у вигляді XML-тексту. Оскільки кодування і декодування текстового формату займає досить багато часу, стандарт передбачає альтернативний спосіб представлення інформації у вигляді бінарного файлу.

Достоїнства нового стандарту. Основними достоїнствами ОРС UA є:

Концепція системи на базі ОРС UA. Система на базі ОРС UA може містити безліч клієнтів і серверів. Кожен клієнт може працювати паралельно з декількома серверами, і кожен сервер може обслуговувати декількох клієнтів. Призначене для користувача застосування (наприклад, SCADA) може створювати комбіновані групи клієнтів і серверів для ретрансляції повідомлень, якими воно обмінюється з іншими клієнтами і серверами, як показано на рис. 25.1.

Рис. 25.1. ОРС-UA-клиент і сервер можуть бути скомбіновані в одному застосуванні для взаємодії з іншими ОРС-UA-клієнтами і серверами.

Клієнтом при взаємодії з ОРС-сервером є прикладна програма, наприклад, SCADA. Структура клієнта показана на рис. 25.2. Клієнтська програма виконує запити сервісів ОРС-серверу через внутрішній інтерфейс, який є ізолюючим прошарком між програмою і комунікаційним стеком. Комунікаційний стек конвертує запити клієнтської прикладної програми в повідомлення для виклику необхідного сервісу, які посилає серверу. Після отримання відповіді на запити комунікаційний стек передає їх в клієнтську програму.

Рис. 25.2. Структура клієнтської програми в стандарті ОРС UA.

Структура сервера ОРС UA представлена на рис. 25.3. Модулі введення-виводу, ПЛК, інтелектуальні пристрої і програми, які можуть поставляти дані через ОРС-сервер, позначені на рис. 25.4 як «реальні об'єкти». Серверне застосування є програмною реалізацією функцій, які повинен виконувати сервер. Взаємодія ОРС UA-сервера з клієнтом виконується через інтерфейс прикладної програми (рис. 25.4) шляхом відправлення запитів і отримання відповідей.

Рис. 25.4. Структура сервера в стандарті ОРС UA.

Адресним простором ОРС-сервера є безліч вузлів, доступних клієнтській програмі за допомогою сервісів ОРС UA. «Вузли» в адресному просторі використовуються, щоб представити реальні об'єкти, їх визначення і перехресні посилання. У адресному просторі виділяється підпростір вузлів, які сервер робить «видимими» для клієнта. Видимі вузли організовуються у вигляді ієрархічної структури, для зручності навігації їх клієнтською програмою.

Обмін даними між клієнтом і сервером може виконуватися як шляхом отримання миттєвих відповідей на запити, так і за схемою «видавець-підписчик». У другому випадку клієнтська програма здійснює «підписку» на отримання певних даних, які сервер повинен буде надати у міру їх появи. Для реалізації режиму підписки сервер здійснює безперервний контроль (моніторинг) вузлів і відповідних їм реальних об'єктів з метою виявлення змін. При виявленні змін в даних, подіях або аварійних сигналах (алармах) сервер генерує повідомлення, яке передається клієнтові каналом підписки.

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

Для захисту вже зроблених інвестицій в ОРС на базі DCOM організація OPC Foundation розробила стратегію переходу на нову технологію із застосуванням «UA-оболонки», яка допускає обмін даними між старими і новими продуктами. Така оболонка дозволяє, наприклад, DCOM ОРС серверу працювати з ОРС UA клієнтом, і навпаки.