OPC Unified Architecture (OPC UA) – protokół komunikacyjny opracowany przez OPC Foundation w celu ujednolicenia komunikacji między maszynami, bazuje na ogólnie przyjętych komunikacyjnych protokołach takich jak TCP/IP, HTTP, SOAP, co zapewnia bardzo dużą skalowalność rozwiązań implementowanych w oparciu o tę technologię. OPC Unified Architecture umożliwia przesyłanie danych za pośrednictwem różnych formatów m.in. formatu opartego na XML i formatu binarnego. Serwer OPC zbudowany w oparciu o Unified Architecture definiuje swoim klientom (zobacz klient opc) zestaw usług, jakie oferuje oraz format danych procesowych za pośrednictwem, którego ma odbywać się komunikacja. W poprzedniej wersji standardu OPC każda ze specyfikacji (np. OPC DA, OPC HDA) definiowała swoją własną przestrzeń adresową i swój własny zestaw usług. OPC Unified Architecture definiuje zunifikowaną przestrzeń adresową (ang. Address Space) oraz szereg usług (ang. Services), które mogą być udostępnione przez serwer OPC[1].
Specyfikacja OPC UA składa się z kilkunastu części:
- OPC UA Part1 Concepts
- OPC UA Part2 Security Model
- OPC UA Part3 Address Space Model
- OPC UA Part4 Services
- OPC UA Part5 Information Model
- OPC UA Part6 Mappings
- OPC UA Part7 Profiles
- OPC UA Part8 Data Access
- OPC UA Part9 Alarms
- OPC UA Part10 Commands
- OPC UA Part11 Historical Access
- OPC UA Part12 Discovery
- OPC UA Part13 Aggregates
- OPC UA Part14 PubSub
- OPC UA Part100 Device Information Model
Standard OPC Unified Architecture (OPC UA), jest wynikiem wieloletniej współpracy liderów przemysłowych, których celem było stworzenie otwartego standardu wymiany informacji w systemach zarządzania procesem w sposób bogatszy i pełniejszy, zorientowany usługowo i bezpieczny w porównaniu do aktualnie wykorzystywanych standardów bazujących na platformie DCOM. Ten standard to odpowiedź na fundamentalne potrzeby mapowania i wymiany rzeczywistych informacji w sposób zorientowany obiektowo.
Nowy standard został opracowany tak, by nie wiązać go z żadną istniejącą technologią komunikacyjną, specyfikacja przewiduje udostępnianie usług na różne sposoby. Twórcy OPC UA zdają sobie sprawę, że to co nowoczesne dziś, za kilka lat może już wyjść z użycia. Aktualnie specyfikacja przewiduje możliwość wykorzystania jednego z dwóch sposobów komunikacji i jednocześnie pozostawia furtkę, by w przyszłości dodanie innych było możliwe. Pierwszym sposobem jest udostępnienie danych poprzez web serwisy, drugim natomiast są binarne strumienie danych.
OPC UA ma dwoistą naturę, tzn. jest zorientowana obiektowo i usługowo jednocześnie. Natura zorientowana obiektowo powoduje, że OPC UA może być wykorzystywane do wielu celów w warstwie procesowej i zapewnia wsparcie dla zaawansowanych struktur danych i elastyczny model danych. Natura zorientowana usługowo zapewnia lepsze wsparcie w dziedzinie przenośności na różnych platformach, lepszy dostęp i bezpieczeństwo.
Cechy
- wbudowana obsługa danych złożonych (ang. complex data)
- zaawansowana przestrzeń adresowa (ang. address space) – OPC UA pozwala na bardzo dokładne reprezentowanie procesu, które zawiera jego strukturę, opis występujących w nim informacji oraz aktualne wartości określające jego stan;
- bogaty zbiór usług – bazowa część specyfikacji OPC UA definiuje podstawowe usługi do przeglądania i tworzenia zapytań o przestrzeń adresową, odczyt i zapis danych, publikowanie i subskrybowanie zdarzeń lub zmian danych. Bazowe specyfikacje OPC UA mają charakter ogólny. Pozostałe funkcje opisane przez aktualne specyfikacje OPC są rozszerzeniami specyfikacji bazowych;
- skalowalność – w porównaniu do aktualnych (bazujących na DCOM) implementacje OPC UA charakteryzują się większą skalowalności, ponieważ pozwala na reprezentowanie modeli systemów danych o dowolnej wielkości i komplikacji, od modelu całego przedsiębiorstwa lub ich grupy, aż po małe systemy zawierające dane tylko z jednego urządzenia;
- odporność – OPC UA ma wbudowane rozbudowane mechanizmy diagnostyczne oraz reakcji na błędy z wykorzystaniem redundancji;
- bezpieczeństwo – szyfrowanie i uwierzytelnianie na poziomie danych z wykorzystaniem infrastruktury klucza publicznego gwarantuje bardzo wysoki poziom bezpieczeństwa.
Należy się spodziewać, że dzięki tym cechom technologia OPC UA będzie dostępniejsza dla systemów ERP czy MES, pozwalając na wyjście OPC poza płaszczyznę automatyzacji.
Brak konieczności wykorzystywania technologii DCOM, która jest komponentem systemu Windows, otwiera możliwości implementacji technologii OPC UA w urządzenia procesowych, takich jak sterowniki przemysłowe, analizatory i inne.
Ostatnim, ale nie najmniej ważnym elementem jest to, że OPC UA oferuje wspólny zestaw usług dla wszystkich istniejących dotąd specyfikacji. Inaczej mówiąc: jeden serwer OPC UA może jednocześnie pełnić rolę serwera DA, HDA, A&E itp.
Infrastruktura komunikacyjno-usługowa
Trzeba zauważyć, że OPC UA specyfikuje pewien abstrakcyjny opis usług (głównie w specyfikacji OPC UA części 4). Opis usług nie jest związany z żadnym konkretnym sposobem komunikacji lub technologią komunikacyjną. Dopiero inna część specyfikacji (specyfikacja OPC UA część 6) opisuje ich implementację z wykorzystaniem konkretnej technologii (ang. technology mapping). Aktualnie specyfikacji zakłada użycie Web Serwisów i binarnych strumieni danych, ale pozostawia również furtkę, że w przyszłości wykorzystany zostanie inny sposób wymiany danych (zmieni się sposób przesyłania wiadomości, ale model usługowy i model informacyjny pozostanie bez zmian).
Dodatkowo OPC UA nie precyzuje natomiast konkretnego API (Application Program Interface – Interfejs programowy aplikacji), tak jak to miało miejsce w przypadku OPC Classic opartego na DCOM. OPC UA specyfikuje format przesyłanych wiadomości. Stosy komunikacyjne klienta lub serwera użyte do zaszyfrowania lub odszyfrowania danych, wywołań lub odpowiedzi również nie są definiowane. Stosy komunikacyjne różnych dostawców powinny być w stanie komunikować się, jeśli tylko używają tej samej technologii (ang. technology mapping).
Najważniejsze informacje, które są istotne dla opisywanej infrastruktury komunikacyjno-usługowej:
- Specyfikacje OPC UA definiują usługi w sposób abstrakcyjny, mapowanie na konkretną technologię komunikacyjną odbywa się niezależnie od definicji usługi, przestrzeni adresowej i modelu informacji.
- Specyfikacje OPC UA przedstawiają aktualnie dwie technologie przesyłowe:
- Web Serwisy oparte na protokole HTTP/HTTPS i SOAP
- binarne strumienie danych przesyłane poprzez protokół TCP
- Specyfikacje OPC UA przedstawiają dwa sposoby kodowania
- binarne (opisane w specyfikacji)
- XML
- Zabezpieczenia wbudowane w OPC UA wykorzystują mechanizmy WS-Secure Conversation (WS-SC) lub mechanizmy opracowane na bazie WS-SC i TLS (w przypadku binarnych strumieni danych)
- Mechanizm publikowania dla elementów monitorowanych subskrypcji umożliwia optymalizację komunikacji i wywołania pseudo-asynchroniczne.
Zobacz też
Przypisy
- ↑ F. Iwanitz, J. Lange, OPC Fundamentals, Implementation and Application.
Linki zewnętrzne
- www.opcfoundation.org – Strona organizacji OPC Foundation
- www.commsvr.com. commsvr.com. [zarchiwizowane z tego adresu (2018-04-07)]. – Podręcznik OPC
- OPC Unified Architecture e-Book. commsvr.com. [zarchiwizowane z tego adresu (2009-01-30)].
- Artykuł na temat OPC UA
- Artykuł: Infrastruktura komunikacyjno-usługowa OPC Unified Architecture (OPC UA)
- Artykuł poświęcony pakietom SDK i innemu oprogramowaniu zgodnemu z OPC UA
- Woopsa, Web Object Oriented Protocol for Software and Automation
- ANeG OPC UA Stack