OLE for Process Control (OPC) è una tecnologia utilizzata per semplificare il trasferimento dei dati tra i sistemi di controllo industriali, le interfaccie operatore, i sistemi di supervisione e sistemi software aziendali come i database. Fu sviluppato con l'intenzione di fornire una tecnologia standard che consentisse a sistemi di controllo differenti di interagire tra loro.
Prima dell'avvento di OPC, gli sviluppatori di applicazioni software erano costretti a sviluppare un driver di comunicazione per ciascun sistema di controllo con cui intendevano scambiare dei dati; OPC, invece, ha messo a disposizione un'interfaccia comune per interagire con differenti prodotti di controllo industriale, indipendentemente dall'hardware e dal software utilizzati nel processo.
E' bene mettere in evidenza che OPC non elimina la necessità dei driver di comunicazione: il costruttore sviluppa il server OPC specifico per il proprio prodotto, utilizzando il protocollo di comunicazione necessario per il funzionamento del suo dispositivo; a questo punto diventa più semplice interfacciare il sistema con altro software compatibile con OPC.
La prima formulazione dello standard nacque dalla collaborazione di alcuni fornitori di prodotti di automazione, riconosciuti a livello mondiale, e Microsoft; fu chiamata semplicemente "OPC Specification" ed era basata su COM e DCOM di Microsoft. Le specifiche definiscono un insieme di oggetti, interfacce e metodi per semplificare l'interazione delle applicazioni di controllo di processo e di automazione della produzione.
E' importante capire che OPC non è un protocollo di comunicazione alla stessa stregua di Ethernet, TCP/IP o Modbus, ma rappresenta un livello di astrazione più alto, è costituito da un insieme di API che nascondono la rete di trasporto sottostante e la codifica utilizzata per lo scambio dei dati.
OPC segue un'architettura client-server. un server OPC è un'applicazione software che raccoglie le informazioni dai dispositivi (PLC, DCS, ecc.) tramite protocolli nativi (Modbus, Profibus, ecc.), il server poi fornisce l'accesso ai dati collezionati tramite gli oggetti COM; i client OPC leggono e scrivono i dati sul dispositivo di campo tramite il server OPC.
Le informazioni disponibili tramite un server OPC sono organizzate in gruppi secondo criteri di efficienza e i gruppi possono essere:
- pubblici (disponibili per qualunque client OPC)
- locali (accessibili solo dal client che li ha creati)
Uno dei vantaggi più significativi nell'utilizzo di OPC, consiste nel fatto che l'applicazione non necessita di conoscere i dettagli dell'architettura interna del dispositivo con cui scambia i dati, ma esclusivamente i nomi dei gruppi e degli elementi a cui è interessata.
34715444-8b7d-4ad1-a940-22ba091ab102|2|5.0