http://www.opcfoundation.org/ Integrazione delle Informazioni Necessità di accedere ai dati di campo da qualunque parte dell’impianto Visione omogenea dei formati dei dati Superamento di differenti codifiche client/server Indipendenza dei programmi dalle caratteristiche hardware/software della sorgente dati Nessuna necessità di sviluppare driver per garantire l'interoperabilità tra prodotti diversi Lo sviluppo ed il mantenimento di drivers comporta "spreco" di risorse Disponibilità di servizi orientati all'automazione industriale OPC: OLE for Process Control Si basa su tecnologie consolidate in ambiente Windows: Distributed Component Object Model (DCOM). Modello per la comunicazione tra applicazioni Windows attraverso reti di comunicazione. Component Object Model (COM). Modello per la comunicazione tra applicazioni Windows locali. OLE 2 XML Web Services OPC: OLE for Process Control OPC è un’architettura client/server che permette ad un qualsiasi processo (Client) basato su OPC di accedere a qualsiasi sorgente di dati (Server) dotata di interfacce OPC I fornitori hardware offrono un Server OPC, che permette a qualsiasi applicazione Client di accedere ai dati da esso pubblicati. OPC è stato sviluppato tenendo conto delle esigenze dell'automazione industriale Servizi ad-hoc per l’accesso ai dati Vantaggio principale di OPC: Indipendenza da una tecnologia proprietaria OPC: OLE for Process Control Application Y Application X ... Qualunque applicazione proprietaria può interoperare con un qualunque Server OPC Interface OPC Server A SCADA System OPC Server B OPC Server C OPC I/F OPC Server Application OPC Interface Physical I/F Physical I/O OPC I/F La sostituzione della scheda corrisponde alla sostituzione dell’OPC Server, e diviene trasparente per l’applicazione e lo Scada Storia di OPC Nel 1995 alcune "piccole" aziende decisero di creare un gruppo di lavoro per la definizione di uno standard di interoperabilità: la Fisher-Rosemount Intellution Intuitive Technology Opto22 Rokwell Siemens AG Membri di Microsoft furono invitati per il necessario supporto Storia di OPC L'obiettivo del gruppo di lavoro fu quello di definire uno standard per accedere ad informazioni in ambiente Windows, basandosi sulla (allora) corrente tecnologia (OLE)/COM La tecnologia sviluppata fu chiamata OLE for Process Control (OPC) Nell'Agosto del 1996 fu definita la prima versione di OPC (1.0) Nel Settembre 1996 la OPC Foundation fu presentata alla riunione annuale ISA a Chicago www.opcfoundation.org Storia di OPC Nel Settembre 1997 è stata prodotta la versione 1.0A Nell'Ottobre 1998 è stata prodotta la versione 2.0 della Data Access Specification Attualmente vi è la versione 3.0 della Data Access Specification Nel 2002 è stata prodotta una specifica per integrare OPC con XML Specifiche OPC OPC Overview v1.0 OPC Common Definitions and Interfaces v1.0 OPC Alarm&Event Specification v1.02 OPC Historical Data Access Specification v1.1 OPC Data Access Specification v3.0 OPC Batch Specification v2.0 OPC Security Specification v1.0 OPC & XML Data Access Specification OPC Alarm & Event Specification Evento: è un avvenimento (es.guasto di un dispositivo, superamento di una soglia) che ha un significato per l’OPC Server, per l'apparecchiatura che rappresenta e per i suoi OPC Client. Differenti eventi possono essere associati ad una variabile. Ad esempio per una temperatura si possono fissare 4 valori di soglia e, dunque, possono accadere 4 diversi eventi (a seconda della soglia) Un evento può determinare l'occorrenza di un allarme Allarme: si verifica quando una "condizione" si verifica (diviene attiva). pre-definita Es.: Una temperatura che supera una certa soglia. OPC Alarm & Event Specification Vengono definiti 3 tipi di Eventi Eventi legati a Condizione. Viene notificato l'avvenuto allarme Eventi la cui causa non è all'interno del processo (es.intervento dell'operatore) e che debbono essere monitorati Eventi Semplici (es.guasto di un dispositivo). OPC Historical Data Access Specification Nell’ottica dell’integrazione dei dati a tutti i livelli, le informazioni storiche possono essere considerate come un altro tipo di dati da condividere ed integrare. Vengono supportati due tipi di Server Storici: Simple Trend Historical Data Servers. Questi server permettono l’immagazzinamento di dati in piccole quantità di tipo semplice (raw data). Complex Data Compression and Analysis Servers. Questi server provvedono all'analisi dei dati. Sono capaci di fornire dati riassuntivi o un loro processamento Es.valori medi, valor massimo, minimo ecc OPC Data Access (DA) Specification Un OPC Data Access Server offre variabili (item) che possono essere selezionate (e dunque accessibili per lettura/scrittura) da un OPC Data Access Client Ogni item ha associato un: Value Quality TimeStamp Esistono due specifiche: Basate su COM/DCOM Basate su XML/Web Services OPC Data Access (DA) Specification Le specifiche OPC DA basate su COM/DCOM rendono disponibili due interfacce: Custom Interfaces: sono usate in linguaggi (es.C++) che supportano i puntatori a funzioni. Automation Interfaces: sono usate in linguaggi (es.VB) dove non è possibile utilizzare puntatori a funzioni. In tal caso, i metodi vengono chiamati attraverso un nome e non da puntatori. C++ Application OPC Custom I/F OPC Server (In-Proc, Local, Remote, Handler) VB Application OPC Automation I/F Vendor Specific Logic