OPC – štandard priemyselnej komunikácie II.

08. Máj, 2009, Autor článku: Blaho Michal, Elektrotechnika, Študentské práce
Ročník 2, číslo 5 This page as PDF Pridať príspevok

OPC (OLE for Process Control) predstavuje štandardný spôsob komunikácie v priemysle. V predchádzjúcom článku sme sa venovali základnej architekrúre OPC. V dnešnom článku si povieme niečo o niektorých rozhraniach a objektoch, ktoré OPC poskytuje.

OPC špecifikácia popisuje OPC COM objekty a ich rozhrania, ktoré sú implementované OPC servermi. Klient aplikácie sa potom môžu pripájať na OPC serveri od jedného alebo viacerých výrobcov ako vidno na nasledujúcom obrázku. Výrobcovia poskytujú popis serverov a definujú zariadenia ku ktorým majú ich serveri prístup, definujú názvy dát ktoré ich server poskytuje a detaily ako fyzicky pristupuje k dátam z hardwaru.


Obr.1 – Vzťah server/klient

Na najvyššej úrovni sa OPC DataAccess server, čiže najčastejšia implementácia OPC DataAccess rozhrania skladá z objektov: server, group a item. OPC server objekty obsahujú informácie o serveri a slúžia ako kontajner pre OPC group objekty. Tieto obsahujú informácie o sebe a poskytujú presne definovaný mechanizmus pre uchovávanie a logickú organizáciu OPC item objektov. OPC group objekty poskytujú pre klient aplikácie spôsob ako organizovať dáta prijímané zo serveru.

Vzťah group objektov a item objektov je znázornený na dalsom obrázku. Dáta a teda aj server, group a item objekty môžu byť z OPC serveru čítané alebo naň zapisované. Medzi klientskou aplikáciou a item objektami, ktoré sú organizované v group objektoch na serveri sa môžu nadväzovať, povoľovať a zakazovať okrem bežného spojenia taktiež spojenia založené na výnimkách. Pripojená aplikácia vie nastavovať aj rýchlosť akou jej OPC server posiela nové dáta.


Obr.2 – Vzťah group a item objektov

Group a item objekty sa rozdeľujú na dve skupiny, verejné a lokálne. Verejné sú určené na zdieľanie medzi viacerými klientami a lokálne sú určené len pre konkrétneho klienta. Pre verejné group objekty sú k dispozícii aj špecificky voliteľné rozhrania. V každom OPC group objekte musí byť definovaný minimálne jeden OPC item objekt. OPC item objekt reprezentuje vnútri servera jednotlivé pripojenia na zdroje dát a on samotný nie je pre pripojenú aplikáciu prístupný. Preto nie je ani definované žiadne externé rozhranie pre item objekty. Prístup k nim je zabezpečený cez group objekty, ktoré “obsahujú“ item objekty, alebo jednoducho v ktorých sú item objekty definované.

Každý item objekt je popísaný parametrami Value, Quality a Time Stamp. Parameter Value reprezentuje hodnotu dát ktoré objekt reprezentuje a je dátového typu Variant. Dátový typ a hodnota parametra Quality je daný zbernicou, ktorou komunikuje OPC server so zariadeniami priamo vo výrobe. Dôležité je uvedomiť si, že item objekty nie sú dátové zdroje, iba ich reprezentujú. Item objekt je možné si jednoducho predstaviť ako adresu určitých dát, nie ako fyzický zdroj dát na ktoré adresa ukazuje.

OPC špecifikácia obsahuje aj rozhrania, ktoré definujú mechanizmus notifikácie pripojených aplikácii o špecifických udalostiach a alarmových stavoch zariadení. Poskytuje tiež služby, ktoré dovoľujú aplikáciám typu klient určovať podmienky alarmov a udalosti, na ktoré budú upozorňované ako aj zisťovať ich momentálny stav. V OPC sa pod alarmom rozumie splnenie podmienky pri ktorej nastane neprirodzený, chybový alebo užívateľom určený stav OPC Event Serveru, alebo niektorého jeho objektu, ktorý sníma obsluhovaná aplikácia. Napríklad tag môže mať nasledujúce stavy:

  • LowLow Alarm
  • Low Alarm
  • Normal
  • High Alarm
  • HighHigh Alarm

V stave Normal má tag požadovanú hodnotu, alebo je v pásme prípustných hodnôt. V stave Low Alarm, alebo High Alarm má mierne zvýšenú, alebo zníženú hodnotu pri ktorej bude užívateľ prvý krát upozornený. Stavy LowLow Alarm, alebo HighHigh Alarm nastanú vtedy, keď je hodnota tagu zvýšená nad kritickú hodnotu pri ktorej hrozí napríklad nebezpečenstvo priameho poškodenia zariadenia, alebo poškodenia výrobku.

Na druhej strane, udalosťou sa v OPC serveri rozumie taký detekovateľný jav v OPC serveri alebo zariadení reprezentovanom serverom, ktorý má význam pre samotný server, alebo klient aplikáciu k nemu pripojenú. Udalosť môže a nemusí byť spojená s nejakým stavom. Napríklad prechody z jedného alarmového stavu do druhého sú príkladmi udalostí, ktoré nastanú pri splnení definovanej podmienky. Avšak zásahy užívateľa, systémové a konfiguračné zmeny, alebo systémové chyby sú príkladmi udalostí, ktoré nie sú spojené so splnením špecifickej podmienky. IOPCEventServer rozhranie poskytuje metódy umožňujúce klientskej aplikácii:

  • určiť typy udalostí, ktoré OPC server podporuje
  • reagovať na špecifické udalosti, takže klientská aplikácia môže prijať upozornenie pri nastaní udalosti a použiť filtre na definovanie podmnožiny možných udalostí, na ktoré chce byť upozorňovaná
  • nastavovať stavy, ktoré sú implementované OPC severom

Navyše spolu s IOPCEventServer rozhraním môže OPC Event Server poskytovať voliteľné rozhrania pre prehľadávanie stavov implementovaných serverom a pre organizovanie verejných skupín udalostí.

OPC Historical Data Access rozhranie poskytuje mechanizmus pre prístup k dátam z “historical“ systémov čo sú prevažne databázy SCADA systémov. V súčasnosti takmer všetky tieto systémy používajú svoje vlastné rozhrania pre šírenie dát. V tomto prostredí, preto už nie je možné ďalej používať existujúce “historical“ riešenia, alebo rozširovať ich možnosti a tak musia vývojári prerábať niektoré infraštruktúry pre svoje aplikácie. Preto by všetci výrobcovia mali vyvíjať nezávisle a jednoducho znovu použiteľné systémy. Pri zameraní sa na ideu integrovania dát na všetkých úrovniach podniku, “historical“ dáta sa môžu považovať za ľubovoľný typ dát, podľa toho čo reprezentujú. Zo serverov poskytujúcich “historical“ dáta a podporovaných touto špecifikáciou môžeme spomenúť :

  • Simple Trend Data Server – tento server poskytuje len málo viac ako jednoduché uloženie dát (dáta sú typu, ktorý dostupný z OPC DataAccess serveru zvyčajne vo forme vektoru [Time, Value, Quality] )
  • Komplexný server pre kompresiu a analýzu dát – tento server poskytuje kompresiu dát rovnako ako jednoduché uloženie dát, je schopný poskytnúť aj : sumárne dáta, funkcie pre analýzu dát ako maximum, minimum, alebo priemernú hodnotu dát, aktualizáciu dát a históriu aktualizácii dát.

OPC špecifikácia vždy obsahuje dve sady rozhraní: užívateľské a automatizačné. Špecifikuje COM rozhrania a nie priamo ich implementácie čiže určuje správanie, ktoré rozhranie očakáva od aplikácii komunikujúcich zo serverom. Obsahujú aj popis najvhodnejších rozhraní na implementovanie z hľadiska architek architektúry komunikácie, ktorej schéma je na ďalšom obrázku.


Obr.3 – Architektúra komunikácie pomocou OPC

Tak ako všetky COM implementácie, aj architektúra OPC je typu klient-server, kde OPC Server komponent poskytuje rozhranie OPC objektom a riadi ich. Hlavnou otázkou je však frekvencia transferu dát cez nezdieľateľné komunikačné cesty do fyzických zariadení alebo ostatných dátových základní. Preto sa očakáva, že OPC servery budú lokálne aj vzdialené aplikácie obsahujúce kód zodpovedný za efektívny transport dát z fyzických zariadení a dátových báz. OPC klient aplikácia komunikuje s OPC serverom cez špecifické užívateľské a automatizačné rozhrania. OPC Server implementuje užívateľské rozhranie a ideálne môže implementovať aj automatizačné rozhranie. V niektorých prípadoch OPC Foundation poskytuje štandardný “wrapper“ pre automatizačné rozhranie. DLL ( dynamic-link library ) knižnica pre tento “wrapper“ môže byť používaná serverom od ľubovoľného výrobcu.

Článok vznikol v rámci odboného praktika, ktoré vypracoval Jaroslav Zubák na Ústave riadenia a priemyselnej informatiky FEI STU v Bratislave.

3 príspevky(ov) k článku “OPC – štandard priemyselnej komunikácie II.”

  1. Martin Foltin napísal:

    V článkoch sa píše o otvorenosti štadardu OPC. Zároveň, je ale táto technológia postavená na OLE, COM a DDE čo sú veci uzavreté a drží ich spoločnosť Microsoft. Ako je to teda s tou komunikáciou ? Môže existovať OPC server alebo klient aj na inom operačnom systéme ako Windows ?

  2. Peter Fodrek napísal:

    OPC je otvoreny stanadrd, ale v Clanku je opisana modifikacia OPC urobena Microsoftom OPC ide aj pod Linuxom, symbianom aj MAC OS X +pod embedded Hard Realtime OS… Ale bez COM/DCOM/COM+,
    DDE je aj pre Linux (aj server aj client)
    OLE ma Linux svoje tiez… aj ked KDE ma ine OLE ako GNOME…

  3. Juraj Margeta napísal:

    Dá sa použiť štandard OPC aj na jednočipaku? Ma s tým dakto skusenosti?

Napísať príspevok