Standard wymiany danych OPC (OLE for Process Control) Przemysłowe Sieci Informatyczne Opracował dr inż. Jarosław Tarnawski 1
Plan wykładu Organizacja OPC Foundation Definicje OPC Historia powstania OPC Foundation i pierwszego standardu OPC OLE, COM, DCOM Rodzaje specyfikacji OPC Sposób organizacji danych w OPC DA OPC UA Główni dostawcy aplikacji OPC Prezentacja działania wymiany danych za pomocą OPC 2
OPC Foundation [1] Organizacja OPC Foundation powstała w celu zapewnienia współdziałania (interoperatywności ang. interoperability) przez opracowywanie i utrzymywanie otwartych specyfikacji, które standaryzują komunikację z wykorzystaniem: danych o charakterze: aktualnych danych procesowych, alarmów i systemów zdarzeniowych, danych historycznych, danych wsadowych, urządzeń różnych producentów takich jak czujniki, urządzenia wykonawcze, PLC, RTU (ang. RemoteTerminal Unit), DCS (ang. Distribiuted Control System), HMI, systemy obsługi trendów, systemy alarmów i wielu innych w wielu gałęziach przemysłu. 3
OPC Foundation cd. Organizacja OPC posiada ponad 300 członków z całego świata wliczając w to niemal wszystkich głównych producentów systemów sterowania, producentów urządzeń pomiarowych i wykonawczych, aplikacji SCADA itd. Pierwsze opracowania organizacji zostały wypracowane w sierpniu 1996r. Fundacja wykorzystuje głównie istniejące technologie, a nie opracowuje ich od zera. Microsoft jest jednym z wiodących z członków organizacji OPC Foundation, dostarczających silne wsparcie dotyczące obecnych i przyszłościowych rozwiązań dotyczących ogólnie pojętej komunikacji. 4
Co to jest OPC Definicja OPC Foundation: OPC is open connectivity via open standards. They fill a need in automation like printer drivers did for Windows. OPC jest otwartą łącznością (komunikacją, wymianą danych) z wykorzystaniem otwartym standardów. Wypełnia w automatyce rolę, potrzebę analogiczną do sterowników drukarek w systemie Windows. OPC jest otwartą łącznością (komunikacją, wymianą danych) w automatyce przemysłowej i branżach powiązanych. OPC ma zapewniać współdziałanie - interoperatywność (ang. interoperability) za pomocą opracowania i utrzymywania (prowadzenia) otwartych standardów specyfikacji komunikacji. 5
Co to jest OPC cd. OPC jest przemysłowym standardem komunikacji opracowanym przez organizację OPC Foundation opartym na opracowanej przez Microsoft technologii OLE COM (ang. Component Object Model) i DCOM (ang. Distributed Component Object Model) Standard OPC definiuje sposoby komunikacji między urządzeniami przemysłowymi, przez co pozwala uniezależnić oprogramowanie monitorujące i sterujące, archiwizujące, wizualizacyjne itd. od producentów sprzętu. Do wielu zalet technologii OPC można zaliczyć m.in.: standaryzację komunikacji i wymiany danych przemysłowych, dużą uniwersalność i skalowalność rozwiązań, znaczne obniżenie kosztów integracji dużych systemów przemysłowych 6
Klasyczna wymiana danych Display Application Trend Application Report Application Software Driver Software Driver Software Driver Software Driver 7
Wymiana danych z OPC Display Application Trend Application Report Application OPC OPC OPC OPC OPC OPC OPC Software Software Driver Driver Software Driver Software Driver 8
Historia OPC [2] Wraz z rozwojem oprogramowania i potrzebą wykorzystania go w systemach automatyki przemysłowej, pojawiała się konieczność stworzenia standardowych, gotowych do wykorzystania w wielu systemach modułów programowych zapewniających komunikację pomiędzy różnymi urządzeniami i oprogramowaniem. Brak standardu, jakim jest OPC powodował konieczność stosowania sterowników dedykowanych. Każdy twórca oprogramowania musiał stworzyć własne sterowniki do wszystkich urządzeń, z którym dany program miał współpracować. Wynikało z tego wiele problemów - wybór oprogramowania dla danego sprzętu był bardzo ograniczony, a jego tworzenie wymagało większych nakładów czasu i pracy. Stało się oczywiste, że konieczne jest wprowadzenie standardu. 9
Historia OPC cd. Dynamiczny rozwój systemów z rodziny Windows umożliwił powstawanie technologii pozwalających na komunikację komponentów programowych za pośrednictwem standardowych interfejsów. Pierwszym krokiem była technologia DDE (Dynamic Data Exchange), która pojawiła się na przełomie lat 80. i 90.; dzięki niej wymiana danych między aplikacjami stała się łatwiejszą, częściowo uniezależniając oprogramowanie od sprzętu. Szybko okazało się jednak, że DDE to za mało. Przede wszystkim technologia była mało wydajna, nie oferowała też komunikacji za pośrednictwem sieci. W efekcie opracowane zostały różne rozszerzenia dla DDE (np. NetDDE, FastDDE autorstwa Wonderware czy AdvanceDDE autorstwa Rockwell Software). Nie były one jednak standardem, a jedynie kolejnymi rozwiązaniami autorskimi. 10
Historia OPC cd. W 1992 roku wprowadzono technologię OLE 2.0, która miała z czasem zastąpić większość zastosowań DDE. W tym samym czasie działalność rozpoczęła grupa WinSEM (Windows in Science, Engineering and Manufacturing), zainteresowana wykorzystaniem OLE w systemach przemysłowych czasu rzeczywistego. Mimo przedstawienia paru ciekawych propozycji, nie udało się jej jednak wypracować standardu. W 1995r. uformowała się grupa OPC Task Force, w skład której weszły firmy: Fisher-Rosemount, Intellution, Intuitive Technology, Opto22, Rockwell i Siemens AG. Po intensywnych pracach, w sierpniu 1996 roku opublikowano pierwszą specyfikację OPC. We wrześniu 1996r. powołano do życia OPC Foundation, która od tamtego czasu koordynuje działania mające na celu utrzymywanie i publikowanie nowych specyfikacji OPC. 11
12
OLE [8], [9] OLE: Technologia integracji programów, której można używać w celu współużytkowania informacji między programami. Wszystkie programy pakietu MS Office obsługują technologię OLE, dzięki czemu można współużytkować informacje przez łączenie i osadzanie obiektów. OLE (ang. Object Linking and Embedding) - mechanizm osadzania m. in. obiektów. Nazwa OLE nie jest jednoznaczna; wraz z czasem Microsoft nazywał w ten sposób różne technologie.tak więc OLE może oznaczać kilka różnych technologii. Aż do 1993 roku, nazwą OLE (OLE 1) określało się technologie osadzania dokumentów w innych dokumentach. I tak np. w dokumencie programu MS-Word, można było osadzić wykres z programu MS-Excel; zmiany w wykresie wykonane w Excelu, powodowały automatyczną ich aktualizację w dokumencie programu Word, gdzie wykres Excela był osadzony. Jednak od 1993 roku Microsoft wprowadził nową technologię - OLE 2, opartą na technologii COM. OLE 2 nie oznaczało już tylko osadzania dokumentu w innym dokumencie, ale znacznie szerszą technologię budowania programów opartą na komponentach. W 1996 roku, komponenty OLE (COM) które są związane z interfejsem otrzymały nazwę AcitiveX. 13
COM [8], [9] COM (ang. Component Object Model) standard definiowania i tworzenia interfejsów programistycznych na poziomie binarnym dla komponentów software wprowadzony przez firmę Microsoft wraz z bibliotekami zapewniającymi podstawowe ramy i usługi dla współdziałania komponentów COM i aplikacji. Środowisko programistyczne Visual Studio oparte na framework.net umożliwia komunikację ze starszymi aplikacjami z interfejsem typu COM. Na bazie standardu COM została zdefiniowana znaczna część niskopoziomowego API dla produktów firmy Microsoft m.in. Dla DirectX, SQL Server,MS Access, MSHTML, MSXML. 14
DCOM [9] DCOM (ang. Distributed Component Object Model) - interfejs programistyczny realizujący rozproszony obiektowy model składników) jest opracowanym przez Microsoft sposobem budowania składników programowych i zapewniania komunikacji między nimi w małej sieci komputerowej. Skonstruowany został również zestaw bazowy takich składników. Rozwinięty z COM jako odpowiedź na CORBA, stał się później częścią COM+. Został przez Microsoft uznany za przestarzały na rzecz platformy.net. 15
OPC struktura informacyjna przedsiębiorstwa Motywacją dla powstania OPC było opracowanie standardowego mechanizmu komunikacyjnego dla wielu źródeł danych, urządzeń przemysłowych oraz przemysłowych baz danych. Struktura informacyjna przedsiębiorstwa posiada następujące poziomy: Poziom obiektowy (field): pomiary, urz. wykonawcze, I/O Poziom procesowy (process): DCS, SCADA, PLC, Poziom zarządzania (business): analizy ekonomiczne, optymalizacja Najważniejsza jest efektywna i otwarta komunikacja pomiędzy poziomami, zorientowana na dostęp do danych, a nie na ich typ 16
OPC struktura informacyjna przedsiębiorstwa cd. 17
Rodzaje specyfikacji OPC OPC Common OPC Data Access (DA) OPC Alarms & Events (A&E) OPC Historical Data Access (HDA) OPC Batch OPC Data Exchange (DX) OPC XML 18
Specyfikacje OPC OPC Data Access Przeznaczone do przesyłania bieżących danych (real-time data) z PLC, DCS i innych urządzeń do HMI, SCADA i innych urządzeń prezentujących bieżące dane OPC Alarms & Events Przeznaczone do powiadomień o alarmach i zdarzeniach na życzenie (w odróżnieniu od ciągłego przepływy danych w specyfikacji Data Access). Dane zawierają alarmy procesowe, polecenia operatora, komunikaty informacyjne OPC Batch Specyfikacja przeznaczona dla potrzeb procesów wsadowych (batch processes). Zawiera interfejs do wymiany informacji o możliwościach sprzętowych oraz bieżących warunkach operacyjnych. 19
Specyfikacje OPC cd. OPC Data exchange 20 Ta specyfikacja umożliwia wymianę danych pomiędzy różnymi sieciami warstwy obiektowej Ethernet, stosując połączenie serwer-serwer (a nie klient-serwer). To umożliwia komunikację pomiędzy sieciami wielu różnych producentów oraz zdalną konfigurację, diagnostykę i monitoring. OPC Historical Data Access OPC Data Access umożliwia dostęp do danych bieżących, aktualnie zmieniających się. OPC Historical Data Access dostarcza danych, które zostały już zapisane. Zaletą jest zunifikowany, taki sam dostęp do danych zarówno dla złożonych systemów SCADA jak i mniejszych klientów danych historycznych OPC Security Dane procesowe nieprawidłowo uaktualnione/zmodyfikowane mogą mieć katastrofalny wpływ na cały proces wytwórczy. OPC Security określa dostęp sterujących aplikacji klienckich do serwerów w celu ochrony krytycznych danych przed nieautoryzowanym dostępem i ich modyfikacją.
Specyfikacje OPC cd. OPC XML-DA Dostarcza elastycznych, zwartych zasad i formatów dla udostępniania danych procesowych za pomocą XML dla SOAP i innych usług sieciowych. SOAP jest protokolem bazującym na XML-u pozwalającym komponentom oraz aplikacjom komunikować się używając standardowego internetowego protokółu HTTP. - SOAP to skrót od Simple Object Access Protocol - SOAP jest protokołem komunikacyjnym - SOAP służy do komunikacji między aplikacjami - SOAP jest formatem wysyłania wiadomości - SOAP jest stworzony do komunikacji poprzez Internet - SOAP jest niezależny od platformy - SOAP jest niezależny od języka - SOAP bazuje na XML - SOAP jest prosty i rozszerzalny - SOAP będzie rozwijany jako standard W3C 21
Zastosowanie OPC DA i OPC DX DX serwer/serwer DA-klient/serwer 22
Model wykorzystania OPC 23
OPC DA organizacja zasobów serwera Serwer z danymi bieżącymi zorientowany jest w następujący sposób: Serwer -> Grupy -> Elementy Możliwe jest nadawanie nazw zmiennym umożliwiających ich łatwą lokalizację np. cisnienie2, grzalka, dioda, sterownik itd Umożliwia to utrzymanie porządku w serwerze i taką organizację jaka odpowiada użytkownikowi np. można utworzyć grupy Pomiary, Wykonawcze, PLC, SCADA itd. Koniec z nic nie mówiącymi zmiennymi %M167, %R245, %Q894 24
OPC DA OPCServer OPCGroup OPCGroup OPCGroup(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) OPCItem(s) 25
OPC DA Każdy element (ang. item) serwera posiada następujące pola: czasu (ang. time), wartości (ang. value), jakości (ang. quality) oznaczane w skrócie (TVQ). Monitorując stan zmiennej mamy zatem nie tylko informację o wartości zmiennej, ale także o dacie jej pobrania i weryfikacji (poprawności). 26
OPC UA Unified Architecture [2] OPC Unified Architecture jest niezależnym od platformy systemowej standardem, który pozwala na komunikację pomiędzy różnymi typami systemów i urządzeń poprzez wysyłanie wiadomości pomiędzy klientem a serwerem. Niezależność od Microsoft! 27
OPC oparte na COM/DCOM [2] Poprzednie wersje specyfikacji OPC bazowały na modelu COM/DCOM co praktycznie uniemożliwiało komunikację pomiędzy różnymi platformami. Architektura ta została przedstawiona na poniższym rysunku 28
OPC UA [2] Nowa strategia rozwoju OPC została oparta o język XML i protokół SOAP. Strategia ta została przyjęta już kilka lat temu w tym czasie upowszechniły się usługi internetowe, które musiały zostać uwzględnione w nowej strategii rozwoju. Dzięki zastosowaniu ogólnie przyjętych standardów sieciowych serwer OPC i klient OPC mogły działać na różnych platformach. 29
OPC UA [2] OPC Unified Architecture, 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 o XML i formatu binarnego. Serwer OPC zbudowany w oparciu o Unified Architecture definiuje swoim klientom 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 serwery OPC. Podczas tworzenia specyfikacji OPC UA położono szczególny nacisk na bezpieczeństwo. Specyfikacja nowej technologii opracowanej przez OPC Foundation jest zgodna ze specyfikacjami WS-* takimi jak: WS-Security, WS- Trust, WS-Polic, WS-Secure Conversation. 30
Prezentacja działania OPC Symulacyjny serwer OPC firmy Matrikon Klient OPC Matrikon Explorer Serwer OPC dla GE Fanuc firmy Keepware OPC klient w Matlab/Simulink OPC klient w aplikacji wizualizacyjnej Cimplicity Machine Edition / View OPC w Wonderware InTouch 31
Matrikon OPC Explorer 32
33
34
35
Bibliografia i źródła [1.] OPC Foundation - www.opcfoundation.org OPC Overview 1.00 [2.] CAS - http://www.cas.eu/opc/ (strona w j. polskim) [3.] OPC Programmers connection - http://www.opcconnect.com/ [4.] Iconics www.iconics.com [5.] Matrikon www.matrikon.com [6.] Keepware www.keepware.com [7.] Mathworks (Matlab) - http://www.mathworks.com/access/helpdesk/help/toolb ox/opc/ 36
Bibliografia i źródła cd. [8] Microsoft - http://support.microsoft.com [9] Wikipedia http://pl.wikipedia.org/wiki/ Hasła: OLE, COM, DCOM 37