OPC UA w przemyśle
Redakcja serwisu print
OPC to popularny w przemyśle standard wymiany informacji. Jego wprowadzenie było swojego czasu rewolucją, która znacząco ułatwiła łączenie ze sobą sprzętu i oprogramowania różnych firm. Wraz ze wzrostem złożoności i ilości informacji przetwarzanych w instalacjach przemysłowych, powstała potrzeba modernizacji standardu OPC. Efektem starań w tym zakresie jest standard OPC UA.
Pierwotnie, tj. od 1996 roku, w którym opracowano OPC, rozwinięciem tego skrótu było „OLE for Process Control”, przy czym skrót OLE rozwijany był jako „Object Linking and Embedding”. Niektóre osoby mogą słusznie kojarzyć skrót OLE z systemem operacyjnym Microsoft Windows. Był to interfejs do przekazywania danych pomiędzy różnymi rodzajami programów i właśnie na nim została opracowana pierwotna specyfika OPC. Ze względu na rozwój sprzętu i oprogramowania, w 2011 roku, grupa zajmująca się rozwojem OPC zmieniła rozwinięcie skrótu na „Open Platform Communications”, po tym, jak kilka lat wcześniej wprowadzono nową wersję standardu o nazwie OPC Unified Architecture.
OPC ułatwia komunikację pomiędzy urządzeniami przemysłowymi, pełniąc rolę uniwersalnego sterownika do wymiany danych. Dzięki zastosowaniu otwartych standardów, korzystanie z OPC jest dobrowolne i dostępne dla wszystkich. Zapewniło to dużą popularność omawianemu standardowi. OPC bazuje na architekturze klient-serwer, w której aplikacje chcące korzystać z danych są określane „klientami”, a dostarczające dane – serwerami.
Większa uniwersalność
Pomimo pozornej uniwersalności klasycznego standardu OPC, miał on w sobie zaszyte pewne ograniczenia, które utrudniały w pełni swobodną komunikację oraz tworzenie zaawansowanych systemów. Klasyczne OPC było oparte na technologii DCOM firmy Microsoft. Wprowadzając OPC UA pozbyto się tego ograniczenia, dzięki czemu standard ten umożliwia tworzenie sterowników w wielu językach, a wśród nich w: Javie, .Net i ANSI C. OPC UA nie jest związane z żadną konkretną technologią.
Duże znaczenie ma też fakt, że w OPC UA zostało przygotowane do pracy obiektowej, dzięki której łatwiej jest wymieniać dane o specyficznych formatach oraz tworzyć skomplikowane aplikacje. Obiektowe cechy nowej wersji OPC ułatwiają również ponowne wykorzystanie wcześniej stworzonego kodu serwerów OPC, co wraz ze wzrostem złożoności tworzonych systemów nabrało dużego znaczenia. Obiekty w OPC UA mogą po sobie dziedziczyć, co oznacza że możliwe jest tworzenie uniwersalnego kodu, którego wspólne funkcje będą następnie wykorzystywane w poszczególnych, specyficznych obiektach, wprowadzanych w wybranych serwerach OPC.
Skalowalność i bezpieczeństwo
Obiektowa natura OPC zwiększa też możliwości skalowania aplikacji. W praktyce OPC UA bardzo dobrze sprawdzi się zarówno jako mechanizm wymiany danych pomiędzy prostymi sterownikami, jak i pomiędzy dużymi centrami danych, takich jak np. serwery danych historycznych. Wbudowane mechanizmy diagnostyczne pozwalają zapewnić niezawodną komunikację, nawet przy przesyle dużych ilości informacji. To istotna odmiana w stosunku do klasycznego OPC, gdzie problemy z komunikacją mogły być zgłaszane dopiero z opóźnieniem. W nowej wersji standardu zastosowano buforowanie danych, by zapobiec ich utracie, szybkie mechanizmy przywracania łączności oraz narzędzia do podtrzymywania połączeń. Dużą uwagę poświęcono też bezpieczeństwu, które uzyskano dzięki szyfrowaniu oraz uwierzytelnianiu na poziomie danych, z wykorzystaniem powszechnie uznanych algorytmów, z użyciem cyfrowych certyfikatów bezpieczeństwa.
Przestrzeń adresowa
Wśród najważniejszych zmian odnoszących się do OPC UA wymieniana jest też wspólna, obszerna przestrzeń adresowa. Dzięki niej, poszczególne urządzenia mogą się ze sobą komunikować, bez potrzeby stosowania elementów pośrednich, które tłumaczyłyby adresy z jednej przestrzeni na adekwatne w innej. W klasycznym OPC, poszczególne przestrzenie adresowe były od siebie zupełnie niezależne, co wymagało zapewnienia dodatkowych mechanizmów pośredniczących w wymianie danych pomiędzy odległymi urządzeniami. W przypadku OPC UA problem ten został rozwiązany, a każde urządzenie może względnie bezpośrednio odwoływać się do innych urządzeń korzystających z OPC UA. Oczywiście, odwołanie to będzie najczęściej przechodziło poprzez inne urządzenia, ale translacja adresów nie będzie konieczna. W efekcie pozwala to na organizację komunikacji w oparciu o usługi, co oznacza, że urządzenie A może zażądać kontaktu z urządzeniem B, by skorzystać z usługi świadczonej przez drugie z nich. Adresowanie w OPC UA pozwala klientowi na łączenie się z serwerem i przeglądanie zestawu udostępnianych przez niego danych, co w klasycznym OPC nie było tak po prostu możliwe.