Aktuální vydání

celé číslo

01

2025

Veletrh Amper 2025, automatizace v energetice a systémy managementu energií

Snímače teploty, tlaku, průtoku a hladiny, řídicí technika budov

celé číslo

OPC – nový průmyslový standard pro informační technologie

Automa 6/2000

Martin Stianko, Merz spol. s r. o., Liberec

OPC – nový průmyslový standard pro informační technologie

Článek uvádí základní pojmy z oblasti komunikace pomocí standardu OPC. Popisuje důvody, z jakých standard OPC vznikl a pro které se dále šíří. Vysvětluje pojmy OPC server a OPC klient, popisuje typy OPC serverů a stručně se zmiňuje o technologiích OLE, COM a DCOM, na nichž je standard OPC založen.

Úvod – co je to OPC?
OPC je nová standardizovaná metoda přenosu dat v průmyslových informačních systémech, která postupně nahrazuje dřívější méně spolehlivý přenos prostřednictvím protokolu DDE. Je založena na technologiích OLE, COM a DCOM firmy Microsoft. Z pohledu praxe se pod označením standard OPC skrývá množina rozhraní, vlastností a metod používaných pro řízení procesů a aplikací v různých oblastech průmyslu. Celkově lze OPC chápat jako společné rozhraní pro komunikaci s různými zařízeními pro řízení technologického procesu nebo se zařízeními v procesu. K hlavním přínosům standardu OPC patří nezávislost na výrobci hardwaru a softwaru a rychlý a spolehlivý přenos dat.

Obr. 1.

Průmyslové informační systémy
Komunikace mezi programy podle standardu OPC se používá k výměně dat zejména v  průmyslových informačních systémech. Typická architektura současného průmyslového informačního systému je na obr. 1.

Standard OPC, OPC Foundation, specifikace OPC
Základem standardu OPC jsou technologie OLE a COM firmy Microsoft. Specifikace OPC je v podstatě souborem definic objektů OPC COM a jejich rozhraní (interface), včetně popisu jejich implementace v konkrétní aplikaci OPC. Právě technologie COM umožňuje libovolné klientské aplikaci OPC (OPC klient) připojit se k různým OPC serverům různých výrobců, čímž je zaručena univerzálnost a nezávislost standardu na jediném výrobci. K jednomu OPC serveru může být připojen libovolný počet OPC klientů.

Standard OPC definuje a jeho udržováním, šířením a prezentací se zabývá mezinárodní dobrovolná organizace OPC Foundation se sídlem v Boca Raton, Florida, USA. V současné době sdružuje více než 220 členů z řad nejvýznamnějších světových firem zabývajících se zejména monitorováním, vizualizací a dalšími aplikacemi z oblasti sledování a řízení technologických procesů. Členy OPC Foundation jsou také významní výrobci hardwaru.

Produkty odpovídající standardu OPC (dále jen OPC produkty) lze provozovat s operačními systémy, v nichž je implementována architektura COM, tedy především s operačními systémy firmy Microsoft, a to Windows NT od verze 4.0, Windows 95/98/2000 a Windows CE. Testuje se též použití na Linuxu. Firma Microsoft je členem OPC Foundation a podílí se na dalším vývoji standardu.

Sdružení OPC Foundation označuje každé vydání specifikace standardu OPC verzemi. Jednotlivé verze se od sebe liší implementovanými rozhraními. Popisy jednotlivých specifikací OPC, jejich verzí a rozdílů mezi nimi lze nalézt v [1] až [5].

Prvním cílem standardizační iniciativy je umožnit klientským aplikacím konzistentní přístup k datům v technologických provozech. Předpokládané přínosy širokého přijetí standardu OPC jsou tyto:

  • výrobci hardwaru vystačí s jedním souborem programových komponent pro všechny zákazníky a jejich aplikace;
  • vývojáři softwaru nepotřebují psát stále nové ovládače (drivers) kvůli změnám a novým vlastnostem hardwaru v jeho nových verzích;
  • zákazníkům se otvírá svoboda volby mezi dodavateli různých součástí a zařízení jak pro vývoj špičkových integrovaných technologických celků, tak i pro integraci sledování a řízení technologie na celozávodní i celopodnikové úrovni.

OPC servery jsou tedy konkrétní třídou objektů COM, vhodnou především pro oblast sledování a řízení technologických procesů. Představují zásadní pokrok díky robustnosti a skutečné modularitě objektové technologie.

V současné době existují tři typy OPC serverů (podle podporovaných rozhraní OPC):

    OPC Data Access Server pro přístup k aktuální datům „v reálném čase“ (data sice lze opatřit časovou značkou, a tak vlastně zpracovávat i historická data, ale k tomu je určena jiná ze specifikací OPC) – jsou uvolněny verze 1.0a a 2.03; OPC Alarm&Event Server poskytující OPC klientům informace o výskytech specifikovaných událostí a alarmů – je uvolněna verze 1.0; OPC Historical Data Server pro přístup k historickým datům (tato specifikace nebyla doposud – červen 2000 – oficiálně uvolněna).

Obr. 2.

OPC klient, OPC server
Výměna dat podle standardu OPC se děje podle všeobecně přijatého a osvědčeného schématu klient/server: tedy jeden nebo několik serverů představuje zdroj dat pro jednoho klienta nebo několik klientů. Typická konfigurace systému s OPC produkty je znázorněna na obr. 2. Zde jsou vidět celkem tři počítače ve funkci OPC Data Server, tedy PC, která si vyměnují data s podsystémy řídícími vlastní výrobní stroj (např. PLC) – na obrázku jako zařízení 1, 2, 3 a 4. Vlastní výměnu dat zajišťuje v uvedených třech počítačích tzv. OPC server, tedy programové vybavení s implementovaným komunikačním protokolem „srozumitelným“ připojenému podsystému. V horní části obr. 2 se nacházejí celkem čtyři počítače s programovým vybavením typu OPC klient. Počítačovou sítí (Ethernet) jsou propojeny s OPC servery. OPC klienti a OPC servery si vzájemně vyměňují data, která jsou podle potřeby prostřednictvím OPC serverů dále směrována do podsystémů anebo z nich přenášena (obr. 3).

Z obr. 2 je zřejmé, že OPC servery jsou závislé na komunikačním protokolu příslušného podsystému. Přestože jsme, zejména v poslední době, svědky stále sílící snahy o standardizaci komunikačních protokolů řídicích systémů (Profibus, Interbus, CAN atd.), lze téměř bez nadsázky říci, že každý z používaných podsystémů komunikuje s okolím pomocí svého specifického protokolu nebo, v lepším případě, používá podmnožinu z některého ze standardizovaných protokolů. Proto sortiment OPC serverů poměrně věrně kopíruje sortiment nejpoužívanějších podsystémů (PLC) předních světových výrobců.

Obr. 3.

OLE/COM/DCOM
Technologie COM, popř. DCOM, je na platformě nezávislý, distribuovaný, objektově orientovaný systém typu klient/server firmy Microsoft, umožňující vytvářet binární programové komponenty, zjednodušeně řečeno objekty, a jejich vzájemnou komunikaci (historii a důvody vývoje metod výměny dat mezi aplikacemi, od DDE, přes původní OLE označované jako OLE 1.0 až k nyní skutečně objektovému systému COM nebo plánovanému COM+, lze nalézt v [6], [7], [8]). Označení binární programová komponenta v sobě mj. skrývá nezávislost komunikace mezi objekty na programovacím jazyku, ve kterém byly tyto objekty vytvořeny.

Objekty svá data, popř. manipulace s daty zpřístupňují pomocí souborů funkcí. Tyto soubory funkcí se nazývají interfaces (rozhraní) a jednotlivé funkce interface methods nebo pouze methods (metody). Rozhraní (interfaces) mohou být implementována jako tzv. custom interface (klient je naprogramován v jazyku typu C++ a volá metody rozhraní přímo jako funkce). Takový přístup k serverům je velmi efektivní. Druhý možný způsob spočívá ve zpřístupnění dat a vlastností objektů pomocí tzv. automation interface (např. objekty ActiveX). Klient je naprogramován typicky v jazyku Visual Basic apod. Tento přístup je samozřejmě pomalejší, méně výkonný a má i další omezení.

Objekty COM existují uvnitř COM serverů a jeden COM server může obsahovat jeden nebo více objektů COM. Tyto objekty poskytují služby COM klientům (viz interfaces). COM rozeznává dva hlavní typy COM serverů. Jsou to:

  • in-process servery v podobě DLL běžící v rámci klientského procesu (odtud in-process a pro úplnost dodejme, že COM poskytuje mechanismus, jak in-process server, tedy DLL, spustit na vzdáleném počítači – tzv. DLL surrogate);
  • out-of-process servery jsou spustitelné (EXE) soubory, které mohou existovat v jiném procesu na lokálním počítači (local server) nebo na vzdáleném počítači (remote server).

COM klient je jakýkoli objekt (program), který se dokáže připojit ke COM serveru a využívat jeho služeb voláním metod jeho rozhraní (interfaces). COM klient se v podstatě nemusí starat o to, v jakém programovacím jazyku byl jednotlivý COM server naprogramován a zda je spuštěn jako DLL v jeho procesu nebo jako soubor EXE na lokálním či vzdáleném počítači.

Objekt COM, přesněji řečeno třídu objektu COM, jednoznačně identifikuje tzv. identifikátor třídy (CLSID, ClassID). COM server musí tyto identifikátory registrovat. Informace o CLSID jsou pro všechny COM servery instalované v počítači uloženy v databázi CLSID v registrech operačního systému. Dále jsou do registrů uloženy údaje o tom, který soubor DLL nebo EXE odpovídá kterému CLSID (na lokálním nebo i vzdáleném počítači), a další důležité informace.

Podrobný popis COM technologie je mimo rozsah tohoto článku a lze jej nalézt např. v [6] až [8].

OPC produkty firmy Merz
V současné době (červen 2000) je standard OPC implementován firmou Merz ve čtrnácti OPC serverech určených pro komunikaci s nejznámějšími typy PLC hlavních výrobců, jako jsou Allen-Bradley, GE Fanuc, Lenze, Mitsubishi a Siemens, dále v serverech pro protokol Modbus aj. Tyto servery jsou určeny pro operační systémy Windows NT/95/98. Pro platformu Windows CE bylo vyvinuto jedenáct OPC serverů, a to převážně pro stejné typy PLC. Současné OPC servery firmy Merz pro Windows CE podporují procesory Intel x86, MIPS 3000 a StrongArm

Dalším softwarem firmy Merz s implementovaným standardem OPC jsou OPC klienti. Patří mezi ně především univerzální vizualizační a monitorovací systém s názvem ASPIC používaný v mnoha průmyslových a velínových aplikacích v České republice i v zahraničí. Stejně jako OPC servery je určen pro platformy Windows NT/95/98/CE. Dalším OPC klientem je program OPCToDDE, který je používán především pro sběr dat z OPC serverů a jejich přenos klientům DDE, ale také může sloužit k testování OPC serverů. Klient OPCToDDE je určen pro operační systémy Windows NT/95/98.

Literatura:

[1] OPC Data Access Specification 1.0a. OPC Foundation, 1997.

[2] OPC Data Access Custom Interface Specification 2.03. OPC Foundation, 1999.

[3] OPC Overview 1.0. OPC Foundation, 1998.

[4] OPC Common Definitions, 1.0. OPC Foundation, 1998.

[5] OPC Alarm and Events, 1.0. OPC Foundation, 1998.

[6] MSDN Library. Microsoft Corporation, August 1998.

[7] MS Windows NT Server – White Paper – DCOM Technical Overview. Microsoft Corporation, 1996.

[8] MS Windows NT Server – White Paper – DCOM Architecture. Microsoft Corporation, 1998.

[9] STIANKO, M. – WOLLMANN, T. – SUCHÁNEK, V.: OPC – nový standard informační technologie. In: Sborník referátů z konference AUTOS 2000. Praha, TERIS 2002, a. s., červen 2000, s. 99-103, ISSN 1212-5709.

Článek je zredigovanou verzí stejnojmenného příspěvku [9]. Je otištěn se svolením autorů i vydavatele sborníku z konference AUTOS 2000, kterým je TERIS 2002, a. s., Praha.

Merz spol. s r. o.
U Sirotčince 353/7
460 01 Liberec
tel.: 048/510 02 72, 510 86 35-8
fax: 048/510 02 73
e-mail: info@merz.cz
internet: www.merz.cz