Intro OPC
Introduction à OPC Les spécifications OPC définissent des groupes « d’interface Ces interfaces traitent des différents domaines du « Process Control ». OPC signifie Object Linking and Embedding – for Process Control . – OPC Common et OPC Security (spécification commune à tous les serveurs) OPC Data Access (les données temps réel). • OPC Alarm & Event (Les alarmes et événements). OPC Historical Data Access (Les historiques) – OPC Batch (les traitements par lot) OPC est une spécification récente mais qui a rapidement évolué car elle est bâtie sur la spéci Michel Condemlne –
Pourquoi OPC ? or 14 on rapide Sni* to vieu Pour standardiser les échanges de flux entre équipements communicants. Parce que la communication en environnement hétérogène pose de gros problèmes de maintenance et de pérennité. Parce que cette « non communication » a été le principal frein dans l’échange d’informations. Interaction ERP/SCADA on ajoute à cela des problèmes de performance, on comprend mieux la nécessité d’une standardisation. OPC est ce standard. Michel Condemlne – 4CE Industry – présentation rapide La Fondation OPC La fondation OPC est chargée de maintenir et de promouvoir OPC.
La fondation regroupe aujourd’hui plus de 220 membres dont les plus grands noms de l’informatique industrielle. Différents groupes de travail sont actifs en son sein et travaillent aux futures améliorations et évolutions des spécifications. OPC Foundation 16101 N. 82nd street, suite 38 Scottsdale, AZ 85260-1830 Phone: 480-483-6644 480-483-7202 wvm. opcfoundation. org [USA] www. opceurope. org [Allemagne] Michel Condemine – 4CE Industry – Présentation rapide L’état des spécifications La spécification Commune à tous les serveurs Common spec. La spécification « OPC Data Access (DA) 1 KO l. oa -2. 0 La spécification « OPC Alar ) 1. 1. oa ‘ COM/DCOM – AUTOMATION Courbes de tendances et Alarmes op c Archive, Rapport et traitements par lots Synoptiques Savoir faire métier Réseau d’entreprise LAN / WAN (Liaison Client/serveur OPC) serveur OPC 01 Numériseur serveur OPC 02 Rack Serveur OPC 03 Serveur OPC 04 12 automations. Comme Indiqué dans la figure ci-après. VB Application Interface OPC Automation OPC Wrapper Local Local or or Remote Remote Server OPC server (d (d by by many many clients) 2 indique ProxyStrub DLL chaque spécification OPC utilise un fichier xxx PS. DLL particulier. Quelle interface doit utiliser l’application cliente ?
En général les clients qui sont créés avec un langage de script utiliseront l’interface « automation ». Les clients qui sont créés en C++ utiliseront plutôt 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 développeurs de serveurs OPC oivent implémenter toutes les fonctionnalités des interfaces obligatoires dans leur serveur. es interfaces optionnelles Les développeurs de serveur OPC peuvent, s’ils le souhaitent, implémenter les interfaces optionnelles. Quand une interface optionnelle est implémentée, toute les fonctions qu’elle contient doivent être implémentées, même si la fonction retourne simplement E_NOTIMPL. Un client qui souhaite utiliser les fonctionnalités d’une interface optionnelle doit demander au serveur ces interfaces optionnelles. Le client doit être développé de sorte à ne pas tiliser les interfaces optionnelles qui n’existent pas. Structure d’un Serveur OPC Clients OPC PAGF s OF la base de registre.
Couche OPC Serveur DATA SOURCE Protocole propriétaire Ce principe est général pour tous les serveurs OPC. Chaque spécification définition une structure particulière pour les données et pour les notifications. L’implémentation des serveurs Les seweurs OPC peuvent être implémentés sous deux formes : Les serveurs OPC In-process (DLL). Ces serveurs partagent l’espace d’adressage de l’application hôte. 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 créés généralement en C++. Bien qu’il soit, a priori, possible de créer un serveur dans n’importe quel langage. Aujourd’hui de nombreuses sociétés proposent des serveurs OPC prêts à l’emploi pour la plupart des protocoles du marché. On dénombre aujourd’hui plus de 500 serveurs OPC. 6 2 identifiés sur leur « nom ». Le serveur doit donc utiliser une technique pour contrôler la correspondance des noms d’items et les données sources qu’Il fournit. Ces noms sont accessibles au travers de l’interface « Browse ». Les items se trouve dans les groupes OPC. ls sont caractérisés par des attributs et des propriétés parmis lesquels Le nom La valeur La qualité Le timestamp Michel Condemlne – 4CE Industry Le modèle logique OPC DA Groupe Item _ présentation rapide 7 2 qu’ils supportent et de connaître leur état courant. Quand on parle d’OPC A&E, les termes A&E désignent les alarmes et événements. Dans la littérature OPC, ces deux termes peuvent se substituer sans modification dans le sens du texte. représente ce que fon désigne dans le onde de l’industrie par gestion des alarmes et des événements.
Au sens OPC, une alarme est une condition anormale sur le procédé et elle correspond à une « OPCCondition » spécifique. Un serveur OPC A gère : • La connexion des clients. • Les souscriptions aux conditions et sous-conditions. • La notification des alarmes. Les Alarmes et les événements Les évenements n’ont pas de représentation directe dans le modèle OPC. OPC Distingue trois types d’événements : Les Condition-Related, il s’agit des fronts montant/descendant sur des événements associés à une condition.
Les Tracking-Related, il s’agit d’événements qui ne sont pas associés avec des alarmes mais qui impliquent l’interaction entre un client et un objet « Target » dans le serveur OPC A. Sous/Condition OPC Condition La source de données peut être un serveur OPC ABE, un serveur OPC DA ou un équipement. Sources, Conditions, Zones. Les sources une source est associée à une condition. Un source peut être un Tag, un équipement ou n’importe quel sous-système. Les conditions Une condition est un « état nommé » dans le serveur, ou dans un de ces objets susceptibles ‘intéresser un client. ar exemple ANAOI peut être associé à une « alarme de niveau ou une « alarme de sécurité » Les sous-conditions OPC offre aussi la po PAGF nir des sous conditions. L’objet OPC Event Area Browser IOPCCommon IOPCEventAreaBrowser [Optionnelle] IOPCEventserver IConnectionPointContainer [Notification] L’objet OPC Event Subscription IOPCEventSubscriptionMgt OPC HDA 1 -x Introduction A Quoi ça sert ? La spécification OPC HDA définit la manière dont les archives sont traitées avec OPC. Elle définit, bien sûr, des interfaces permettant à des clients OPC HDA. accéder aux données archivées par des serveurs OPC HDA. un serveur OPC HDA peut collecter les données sur un serveur DA oU directement dans un format propriétaire. un serveur DA peut aussi être un serveur ADA Un client HDA peut être un module de courbe de tendance, un module statistique ou n’importe quel module utilisant des archives. Les particularités de la spécification OPC HDA et les autres spéclfications. La spécification OPC HDA est complémentaire mais indépendante des spécifications OPC DA et OPC A&E. Les points communs sont regroupés dans la spécification commune. nce aux serveurs A&E