Intro_OPC

Embed Size (px)

Citation preview

Introduction OPC

Les spcifications OPC dfinissent des groupes dinterface . Ces interfaces traitent des diffrents domaines du Process Control . OPC signifie Object Linking and Embedding - for Process Control . - OPC Common et OPC Security (spcification commune tous les serveurs) - OPC Data Access (les donnes temps rel). - OPC Alarm & Event (Les alarmes et vnements). - OPC Historical Data Access (Les historiques) - OPC Batch (les traitements par lot) OPC est une spcification rcente mais qui a rapidement volu car elle est btie sur la spcification COM/DCOM.Michel Condemine - 4CE Industry - Prsentation rapide

Pourquoi OPC ? Pour standardiser les changes de flux entre quipements communicants. Parce que la communication en environnement htrogne pose de gros problmes de maintenance et de prennit. Parce que cette "non communication" a t le principal frein dans l'change d'informations. Interaction ERP/SCADA Pour viter la prolifration des protocoles Pour donner lindpendance aux utilisateurs. Pour prenniser les installations Pour permettre aux exploitants de ce concentrer sur leur mtier.

Michel Condemine - 4CE Industry - Prsentation rapide

Avant OPCLOGICIEL EXTERNE - ERP - BUREAUTIQUE - SGDB - SQC

DDE ou module spcifique

Courbes de tendances et Alarmes

Archive, Rapport et traitements par lots

Synoptiques

Savoir faire mtier

Carte longue Rack Numriseur Hub

DDE fut une tentative pour unifier la communication inter-logiciel. Mais Les principes du Dynamic Data Exchange ne tenaient pas comptes des spcificits des environnements industriels et DDE est la proprit de Microsoft. Si on ajoute cela des problmes de performance, on comprend mieux la ncessit dune standardisation. OPC est ce standard.Michel Condemine - 4CE Industry - Prsentation rapide

La Fondation OPCLa fondation OPC est charge de maintenir et de promouvoir OPC. La fondation regroupe aujourdhui plus de 220 membres dont les plus grands noms de linformatique industrielle. Diffrents groupes de travail sont actifs en son sein et travaillent aux futures amliorations et volutions des spcifications. OPC Foundation 16101 N. 82nd Street, Suite 3B Scottsdale, AZ 85260-1830 Phone: 480-483-6644 Fax: 480-483-7202 www.opcfoundation.org [USA] www.opceurope.org [Allemagne]

Michel Condemine - 4CE Industry - Prsentation rapide

Ltat des spcifications La spcification Commune tous les serveurs Common spec. La spcification "OPC Data Access (DA) 1.0 - 1.0a - 2.0 " La spcification "OPC Alarm & Event (AE) 1.0 1.0a " La spcification "OPC Standart Access to historical data (HDA) 1.0. 1.1 " La spcification "OPC Batch 1.0"

Toute les spcifications dfinissent des d'interfaces. Ces interfaces sont de deux types, les interfaces "Customs" et les interfaces "Automation". Chaque interface regroupe des mthodes et des vnements utiliss dans le dialogue entre clients et serveurs OPC. Les spcifications dfinissent aussi les interactions entre les diffrents serveurs et les diffrents clients. L'ensemble des informations relatives aux concepts COM et Automation peuvent tre retrouves dans les documentations Microsoft [MSDN LIBRARY].Michel Condemine - 4CE Industry - Prsentation rapide

Depuis OPCLOGICIEL EXTERNE - ERP - BUREAUTIQUE - SGDB - SQC

COM/DCOM - AUTOMATION

COM/DCOM - AUTOMATION

Courbes de tendances et Alarmes

Archive, Rapport et traitements par lots

Synoptiques

Savoir faire mtier

OP C

OP C

OP C

OP C

Rseau d'entreprise LAN / WAN (Liaison Client/Serveur OPC)

Serveur OPC 01

Serveur OPC 02

Serveur OPC 03

Serveur OPC 04

Numriseur

Rack

Carte longue Hub

Notez bien que COM/DCOM est une spcification indpendante du matriel et du systme d'exploitation.Michel Condemine - 4CE Industry - Prsentation rapide

Quelques Avantages Avec OPC vous pouvez remplacer un quipement par un autre sans remplacer votre application cliente.Exemple Lautomate A1 du constructeur C1 est install sur un four de coul. lexploitant du four de coul utilise une application ERP relier sur lautomate via un client OPC. Si lautomate A1 est remplac par lautomate A2 du constructeur C2. Le lien ERP ne demandera au pire quun simple paramtrage.

De la mme manire vous pouvez remplacer ou ajouter des applications clientes sans toucher aux serveurs et sans altrer les autres clients. Avec OPC vous pouvez raliser des supervisions plus performante et pour un cot rduit. Avec OPC vous simplifiez vos oprations de maintenance. Avec OPC vos applications sont toujours prtes voluer avec les nouveaux besoins de vos clients. Avec OPC oubliez les problmes dOS. OPC est dj disponible sur Windows, Linux, VXWorks, et il existe de nombreuses passerelles Winsock.

Michel Condemine - 4CE Industry - Prsentation rapide

Concept de base dOPCLa spcification OPC dfinit que tous les serveurs peuvent contenir deux groupes dinterfaces, les interfaces customs et les interfaces automations. Comme indiqu dans la figure ci-aprs.VB VBApplication Application

Interface OPC Automation

OPC OPC Automation Automation Wrapper Wrapper

Local or Remote Local or Remote OPC Server OPC Server (Shared by many (Shared by many clients) clients) Server Data Cache Server Data Cache

C++ C++Application Application

Interface OPC Custom

Ici, les applications C++ et VB sont des clients OPC.

Physical Physical Device DeviceDevice Data Device Data

Un client OPC communique avec un serveur OPC au travers dinterfaces customs ou automations. Les serveurs OPC doivent implmenter les interfaces customs obligatoires. Les interfaces automations, dans la plupart des cas, sont Wrapper par un composant DLL. Cest dire quune DLL assure la conversion des appels automations vers des appels Custom. la Fondation OPC fournit ces membres les sources de cette DLL qui peut tre utilise pour le support des interfaces automations.Michel Condemine - 4CE Industry - Prsentation rapide

OPC Common - Rgles et InterfacesIl sagit de la spcification commune tous les serveurs OPC. Elle dfinit trois grandes fonctionnalits : Linterface IOPCShutDown qui permet aux serveurs dinformer leurs clients quils sarrtent. Les rgles denregistrement des serveurs dans le registre du systme. Linterface IOPCServerList qui permet aux applications clientes de connatre les serveur installs sur une machine. Notez que limplmentation de cette interface ne doit pas tre prsente dans le code des serveurs mais est fournie par la fondation OPC sous la forme dun .EXE et dune DLL, OPCEnum.exe et OPCComn_PS.dll.*

Cest ce que lon appelle les composants Commun OPC. *_PS indique ProxyStrub DLL chaque spcification OPC utilise un fichier xxxx_PS.DLL particulier.Michel Condemine - 4CE Industry - Prsentation rapide

Quelle interface doit utiliser lapplication cliente ?En gnral , les clients qui sont crs avec un langage de script utiliseront linterface "automation". Les clients qui sont crs en C++ utiliseront plutt les interfaces "custom" pour un maximum de performance. Les clients peuvent aussi tre crit en utilisant un ActiveX Wrapper qui simplifie au maximum la connexion OPC. OPCX 2000 les interfaces obligatoires Un client communique avec un serveur en appelant au moins les fonctions des interfaces obligatoires. Les dveloppeurs de serveurs OPC doivent implmenter toutes les fonctionnalits des interfaces obligatoires dans leur serveur. les interfaces optionnelles Les dveloppeurs de serveur OPC peuvent, sils le souhaitent, implmenter les interfaces optionnelles. Quand une interface optionnelle est implmente, toute les fonctions quelle contient doivent tre implmentes, mme si la fonction retourne simplement E_NOTIMPL. Un client qui souhaite utiliser les fonctionnalits dune interface optionnelle doit demander au serveur ces interfaces optionnelles. Le client doit tre dvelopp de sorte ne pas utiliser les interfaces optionnelles qui nexistent pas.Michel Condemine - 4CE Industry - Prsentation rapide

Structure dun Serveur OPCClients OPC Le travail d'un serveur OPC c'est : 1 - Collecter et/ou traiter des donnes 2 - Assurer la correspondance des donnes OPC 3 - Rpondre aux requtes des clients 4 - Assurer la notification des messages 5 - S'enregistrer dans la base de registre.

Couche OPC Serveur

DATA SOURCE Protocole propritaire

Ce principe est gnral pour tous les serveurs OPC. Chaque spcification dfinition une structure particulire pour les donnes et pour les notifications.Michel Condemine - 4CE Industry - Prsentation rapide

one ch r e Syn chron yn AS llback Ca

Limplmentation des serveursLes serveurs OPC peuvent tre implments sous deux formes : Les serveurs OPC In-Process (DLL). Ces serveurs partagent lespace dadressage de lapplication hte. Ils ne peuvent donc tre que des serveurs locaux. Ces serveurs sont les plus performants. Les serveurs OPC Out-Process (EXE) Ces serveurs peuvent tre locaux ou distants.

Les serveurs OPC sont crs gnralement en C++. Bien quil soit, a priori, possible de crer un serveur dans nimporte quel langage. Aujourdhui de nombreuses socits proposent des serveurs OPC prts lemploi pour la plupart des protocoles du march. On dnombre aujourdhui plus de 500 serveurs OPC.

Michel Condemine - 4CE Industry - Prsentation rapide

OPC DA 1.0 2.0xLes objets groupesUn serveur OPC gre des groupes OPC. il est possible de crer un groupe, de supprimer un groupe, dobtenir le nom dun groupe et dnumrer les groupes. Les groupes contiennent des items, qui correspondent aux donnes dans le serveur. Si le serveur est un superviseur les items correspondent aux tags. Si le serveur est un Automate les items correspondent aux registres (DB). Lappellation attribue aux items est alors propre chaque type de serveur OPC. Les serveurs OPC peuvent lire leurs donnes depuis des bases de donnes, des cartes ADD-IN ou depuis nimporte quelle source de donnes.

les objets ItemsLes items sont identifis sur leur "nom". Le serveur doit donc utiliser une technique pour contrler la correspondance des noms ditems et les donnes sources quil fournit. Ces noms sont accessibles au travers de linterface "Browse". Les items se trouve dans les groupes OPC. ils sont caractriss par des attributs et des proprits parmis lesquels : Le nom La valeur La qualit Le timestampMichel Condemine - 4CE Industry - Prsentation rapide

Le modle logique OPC DAGroupeItem Item Item

Groupe

Groupe Item

Groupe Item Item

Item

Item

FLAT HIERARCHICAL

Dans le serveur, les groupes et les items sont reprsents par des objets. Ces objets ne sont pas des objets COM. mais permettent au serveur de structurer sa base de donnes et de l'exposer aux CLIENTS. Chaque serveur OPC peut exposer sa base plat ou de faon hirarchique.Michel Condemine - 4CE Industry - Prsentation rapide

Architecture dune application OPCX 2000

Clients Automations, VB, Delphi, VC++, MS-Office, Frontpage, Navigateur WEB,......

OPCX 2000 est un serveur Automation et un client OPC

n Ev e

tom t Au

n atio

Eve n

t Au

tom atio n

Serveur Automation Instance N1

Serveur Automation Instance Nn

Client OPC Custom

Client OPC Custom

Limite de processus Serveur OPC N1 Serveur OPC Nn

Michel Condemine - 4CE Industry - Prsentation rapide

OPC A&E 1.x - IntroductionLa spcification OPC A&E 1.0 dcrit des interfaces et des objets qui sont implments par des serveurs OPC A&E. Ces serveurs fournissent des mcanismes qui permettent aux clients dtre informs de certaines conditions dalarmes. Ces serveurs fournissent aussi des interfaces permettant aux clients de parcourir les alarmes quils supportent et de connatre leur tat courant. Quand on parle dOPC A&E, les termes A&E dsignent les alarmes et vnements. Dans la littrature OPC, ces deux termes peuvent se substituer sans modification dans le sens du texte. A&E reprsente ce que lon dsigne dans le monde de lindustrie par gestion des alarmes et des vnements. Au sens OPC, une alarme est une condition anormale sur le procd et elle correspond une OPCCondition spcifique. Un serveur OPC A&E gre : La connexion des clients. Les souscriptions aux conditions et sous-conditions. La notification des alarmes.Michel Condemine - 4CE Industry - Prsentation rapide

Les Alarmes et les vnementsLes vnements nont pas de reprsentation directe dans le modle OPC. OPC Distingue trois types dvnements : Les Condition-Related, il sagit des fronts montant/descendant sur des vnements associs une condition. Les Tracking-Related, il sagit dvnements qui ne sont pas associs avec des alarmes mais qui impliquent linteraction entre un client et un objet Target dans le serveur OPC A&E. Les Simple, il sagit des tous les autres vnements. Les vnements Simple sont utiliss pour coder les erreurs matrielles.

Une alarme OPC peut ntre associe aucune condition et simplement reprsenter un tat interne, qui est significatif dans le contexte du serveur. Par exemple des alarmes de niveau seront toujours associes une condition mais une erreur interne ou un changement de configuration ne seront pas associs une condition.

Michel Condemine - 4CE Industry - Prsentation rapide

Le modle logique OPC A&EINTERFACES OPC A&E

OPC Condition OPC Sous/Condition OPC Condition OPC Sous/Condition

OPC Condition OPC Sous/Condition

OPC Sous/Condition

DATA SOURCE

La source de donnes peut tre un serveur OPC A&E, un serveur OPC DA ou un quipement.Michel Condemine - 4CE Industry - Prsentation rapide

Sources, Conditions, Zones.Les sourcesUne source est associe une condition. Un source peut tre un Tag, un quipement ou nimporte quel sous-systme.

Les conditionsUne condition est un tat nomm dans le serveur, ou dans un de ces objets susceptibles dintresser un client. Par exemple ANA01 peut tre associ une alarme de niveau ou une alarme de scurit .

Les sous-conditionsOPC A&E offre aussi la possibilit de dfinir des sous conditions. Chaque condition peut contenir plusieurs sous conditions. Par exemple la condition alarme de niveau peut contenir les sousconditions Alarme haute , Alarme basse , Alarme trs basse ,

Les zones (AREA)Ce que lon souhaite faire avec les zones, cest pouvoir rpartir les vnements et conditions du procd en une ou plusieurs zones. Une zone est le regroupement dquipements de terrain en accord avec les spcificits du procd. La dfinition des zones est en dehors du sujet de cette spcification. (La gestion des Zones est optionnelles) Si les zones sont disponibles, le client devra crer une objet OPCEventAreaBrowser pour explorer les zones du serveur. Le client pourra alors filtrer les SOUSCRIPTIONS en utilisant les zones.Michel Condemine - 4CE Industry - Prsentation rapide

Les interfaces OPC A&ELes interfaces ct clientIOPCEventSink [reception des Alarmes] IOPCShutdown.

Les interfaces ct serveurLobjet OPC Event ServerIOPCCommon IOPCEventServer IConnectionPointContainer [Notification]

Lobjet OPC Event Area BrowserIOPCEventAreaBrowser [Optionnelle]

Lobjet OPC Event SubscriptionIOPCEventSubscriptionMgt IConnectionPointContainer [Notification]Michel Condemine - 4CE Industry - Prsentation rapide

OPC HDA 1.x IntroductionA Quoi a sert ? La spcification OPC HDA dfinit la manire dont les archives sont traites avec OPC. Elle dfinit, bien sr, des interfaces permettant des clients OPC HDA, daccder aux donnes archives par des serveurs OPC HDA. Un serveur OPC HDA peut collecter les donnes sur un serveur DA ou directement dans un format propritaire. Un serveur DA peut aussi tre un serveur HDA Un client HDA peut tre un module de courbe de tendance, un module statistique ou nimporte quel module utilisant des archives. Les particularits de la spcification OPC HDA et les autres spcifications. La spcification OPC HDA est complmentaire mais indpendante des spcifications OPC DA et OPC A&E. Les points communs sont regroups dans la spcification commune. Elle fait rfrence aux serveurs A&E quand ceux-ci supportent les interfaces spcifiques OPC HDA

Michel Condemine - 4CE Industry - Prsentation rapide

Les Items et Les agrgats OPC HDALes Items La structure de Items OPC HDA comprend lidentificateur de litem, sa valeur, son timestamp, sa qualit, lagrgat auquel il appartient et ses attributs. Les Attributs. Les attributs dcrivent des paramtres propres litem tel que le nom, le type de donne, lunit de conversion, la source de la donne, . Des attributs spcifiques peuvent tre dfinis pour chaque serveur. Pour la liste dtaille des attributs reportez vous la spcification [OPC HDA p132-134] Les agrgats. Les agrgats permettent de spcifier des traitement attendus sur les donnes. La signification de chaque agrgat est lie chaque serveur. Les agrgats non supports par un serveur doivent OPC_E_INVALIDARG dans le code derreur associ. Des agrgats supplmentaires aux agrgats dfinis par la fondation OPC peuvent tre ajouts dans les serveur lors de limplmentation.Les agrgats spcifiques des serveurs sont dfinis partir de 0x80000000. La fondation OPC se rservant les attributs de 0 0x7fffffff. [OPC HDA p135]Michel Condemine - 4CE Industry - Prsentation rapide

Les interfaces OPC HDACt serveur(deux objets)IUnknown

Ct clientIOPCHDA_Common [IOPCHDA_AsyncRead]

IUnknown

IOPCHDA_SyncRead [IOPCHDA_SyncUpdate]

IOPCHDA_Shutdown [IOPCHDA_ReadCallback] [IOPCHDA_UpdateCallback] [IOPCHDA_AnnotationsCallback]

[IOPCHDA_SyncAnnotations] [IOPCHDA_Playback]

IOPCHDA_ Server Object

[IOPCHDA_AsyncUpdate] [IOPCHDA_AsyncAnnotations] IConnectionPointContainer IOPCHDA_Server

IOPCHDA_ Client ObjectIUnknown

[] indique les interfaces optionnellesIOPCHDA_ Browser Object

IOPCHDA_Browser

Michel Condemine - 4CE Industry - Prsentation rapide

Architecture OPC HDA

server

client Operator Trend Display

Operator Station 2

Event Logger, etc. OPC Historian Server

OPC Historian Server Proprietary Historian Server

Proprietary Data Server

OPC Data Access Server

Michel Condemine - 4CE Industry - Prsentation rapide

OPC Batch 1.0 & 2.0 - IntroductionEnterprise

Cette spcification est btie sur dautres standards, qui sont OPC-DA et la spcification IEC 61512-1. Dans la spcification OPC Batch, le nom des items respecte une syntaxe dfinie dans la spcification IEC 61512-1. La spcification IEC apporte une terminologie qui est intgre dans OPC Batch.

May contain

Site May contain Area

May contain Process Cell

Must contain Unit

May contain Equipment Module May contain

May contain Control Module May contain

Michel Condemine - 4CE Industry - Prsentation rapide

Le modle fonctionnel IEC 61512-1La spcification OPC Batch dfinit : Les donnes relatives au batch en cours dexcution. Les informations relatives aux quipements indispensables pour comprendre le contexte dexcution du Batch. Lenregistrement de lexcution du batch. Le contenu des modles de batchProcess Control Recipe Management Production and planning Scheduling Production information management

Process Management

Unit Supervision

Il est prvu que les serveurs OPC Batch interagissent avec les moteurs IEC pour la gestion des recettes

Personnel and environmental protection

Outsid the scope of IEC 61512-1

Michel Condemine - 4CE Industry - Prsentation rapide

Le modle fonctionnel OPC BatchLes serveurs OPC Batch permettent daccder des donnes dites DATA SOURCES . Le type de ces DATA SOURCE dpend de limplmentation dans le serveur.

Physical I/F

Vendor Batch ApplicationVendor I/F

Physical I/OOPC I/F Physical I/F

OPC I/F

OPC Batch ServerOPC I/F

Application

OPC Data Server

OPC I/F

Michel Condemine - 4CE Industry - Prsentation rapide

Les interfaces OPC BatchCt serveurIUnknown

IOPCCommon IOPCServer [IOPCServerPublicGroups] IOPCBrowseServerAddressSpace [IPersistFile] IConnectionPointContainer IOPCItemProperties OPC Batch Server Object

IOPCBatchServer [IOPCBatchServer2] IEnumOPCBatchSummary IOPCEnumerationSets

[] indique les interfaces optionnelles

Ct client les interfaces sont les mmes que pour les serveurs OPC DA. Il ny a pas dinterface spcifique pour les clients Batch.

Michel Condemine - 4CE Industry - Prsentation rapide

Les performancesLes performances dans un environnement OPC dpendent dnormment de paramtres. Les principaux lments qui influent sur les performances dune architecture OPC sont :. La famille dinterface utilis, Custom ou Automation, Le type du serveur, InProcess ou OuPocess, Lendroit ou sexecute le serveur, Local ou Remote, Le type dinterface, Synchrone ou Asynchrone. Les contraintes techniques li au matriel.Les temps mesurs donnent des temps allant de 0.025 ms 1s / Transaction.

Michel Condemine - 4CE Industry - Prsentation rapide

Lutilisation dOPC aujourdhui.Lensemble des spcifications dites par la fondation OPC peuvent tre implmentes ds aujourdhui. Il est techniquement possible de raliser des clients et des serveurs supportant les spcifications, OPC-DA, OPCA&E, OPC-HDA et OPC Batch. Dans un monde idal tous les clients supporteraient toutes les interfaces. Mais ce nest pas le cas et il existe une multitude de cas de figure. Utilisation chez les diteurs de superviseur. Les superviseurs pour la plupart ont dj la rponse aux problmes abords par OPC. ils n'implmentent bien souvent les spcifications OPC qu' titre commercial et bien rares sont les superviseurs "FULL OPC". Lintrt commercial dOPC pour ces diteurs nest pas vident. Utilisation chez les fabricants dautomatismes. Les principaux fabricants dautomatismes fournissent des serveurs OPC DA pour laccs leurs quipements. Ils travaillent darrache pied pour fournir des serveurs pour les autres spcifications.

Michel Condemine - 4CE Industry - Prsentation rapide

OPC et les autres OS.Windows CE 3.0 CE 3.0 supporte COM/DCOM en natif. Les serveurs OPC peuvent donc tre dvelopps sur plateforme CE et utilisant les mmes outils que sous Windows. Linux RT Linux Linux RTLinux supporte COM/DCOM en utilisant des outils de tiers parti, DeviceCOM dIntrinsyc. Intrynsic fournit aussi une toolkit pour la ralisation de serveur OPC DA. VXWorks. WindRiver conscient de lintrt dOPC Windriver fournit des outils pour le support COM/DCOM sur VXWorks. Ils fournissent aussi un kit de dveloppement pour la ralisation de serveur OPC DA 2.x. Autres OS Sur nimporte quels autres OS la prsence de la couche COM/DCOM permet denvisager des architectures OPC. Si la couche COM est absente il est toujours possible de limplmenter !!Michel Condemine - 4CE Industry - Prsentation rapide

En rsum.OPC cest, un standard pour lindustrie. Le meilleur de chacun des produits existants. L accs aux donnes depuis nimporte quel point du rseaux Lan/Wan. Lindpendance totale vis vis des fabricants de matriels Lindpendance totale vis vis des diteurs de logiciels. Louverture maximale, lintgration des ERP. Lavenir de la conduite des procds.

4CE INDUSTRY, 12 Parc Club du Millnaire 1025 rue Becquerel 34036 Montpellier France Tel : +33 467 993 382 Fax : +33 467 993 062 Tech : +33 467 790 737Michel Condemine - 4CE Industry - Prsentation rapide