OLE for Process Control

OLE for process control (OPC), založené na OLE pro řídící systémy, je originální název pro sadu protokolů vytvořených v roce 1996 sdružením OPC Foundation pro průmyslovou automatizaci. Protokoly OPC jsou založeny na standardech OLE/COM od firmy Microsoft. Důvodem vzniku OPC byla snaha o zlepšení interoperability mezi aplikacemi v oblasti automatického řízení, řídících systémů a kancelářskými aplikacemi v oblasti řízení procesů.

Použití OPC

editovat

OPC protokoly definují standardní objekty, metody a vlastnosti pro servery poskytující informace v reálném čase (distribuované řídící systémy, PLC automaty, inteligentní snímače atp.). Informace se v reálném čase přenáší do zařízení podporujících technologie OLE/COM. (servery, aplikace).

Komunikace pomocí protokolu OPC má architekturu klient–server, kde

  • server poskytuje data a komunikuje s fyzickými zařízeními
  • klient komunikuje se serverem, který provádí požadované operace

OPC Server

editovat

Specifikace protokolu OPC obsahuje vždy dvě sady rozhraní:

  • Custom rozhraní, která představují základní rozhraní implementovaná OPC servery, poskytují maximální výkon.
  • Automation rozhraní, která představují nepovinná rozhraní odvozená od rozhraní IDispatch. Tato rozhraní jsou vhodná pro skriptovací jazyky, jako např. Visual Basic, Excel, apod.

OPC server musí mít implementovanou veškerou funkčnost z povinných rozhraní. Klient komunikuje se serverem pomocí povinných rozhraní.

OPC server může mít implementovány volitelná rozhraní, avšak musí být navržen tak, aby pracoval i v případě, když server volitelné rozhraní nepodporuje. Pokud je dané volitelné rozhraní implementováno, musí být implementovány všechny jeho funkce!

Ukončení OPC Serveru

editovat

Pro všechny typy serverů (Data Acess, Alarms & Evens, ...) OPC definuje jednotný způsob oznámení klientům, že bude server ukončen. To je implementováno pomocí tzv. Connection Points.

Connection Points je způsob, jak volat komponenty funkce z klienta. Klient volá metodu QueryInterface pro rozhraní IConnectionPointContainer. Z IConnectionPointContainer se volá metoda FindConnectionPoint pro IID_IOPCShutDown, která vrací rozhraní IConnectionPoint. Z rozhraní IConnectionPoint se volá metoda Advise s rozhraním IOPCShutDown. Chce-li server ukončit činnost, volá pro všechny klienty funkci ShutdownRequest.

Rozhraní IOPCCommon

editovat

Rozhraní IOPCCommon využívají všechny typy OPC serverů. Toto rozhraní obsahuje funkce pro nastavování a dotazování se na daný Locale (nastavení jazyka a země, určující formátování čísel, data a času atp.).

  NODES