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
editovatOPC 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
editovatSpecifikace 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
editovatPro 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
editovatRozhraní 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.).