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 
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 
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 
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 
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.).

Počítačové standardy