Magazine

Simuler simplement un serveur OPC

Publié le 24 août 2009 par Luc
La technologie OPC (OLE for Process Control) est largement présente dans le monde de l'automatisme et de l'informatique industrielle. Elle est devenue un esperanto de l'automatisme, un langage commun permettant l'interopérabilité entre les systèmes quels que soient les protocoles et automates utilisés. Basé sur la technologie COM/DCOM de Microsoft, OPC est essentiellement ciblé pour Ms Windows. Même si une nouvelle version, appelée OPC UA (Unified Architecture), a pour but de permettre d'étendre OPC à tous les systèmes d'exploitation, il faut reconnaître qu'OPC reste pour l'instant cantonné aux machines sous Windows ce qui représentent tout de même une très large part du parc informatique en entreprise.

Ainsi, bon nombre d'applications industrielles utilisent aujourd'hui OPC. Tester une application connectée à un automate n'est pas toujours facile. On n'accède parfois à l'automate que lors de la recette finale sur site. Il n'est alors pas acceptable de n'effectuer les tests qu'à ce moment là. La solution passe donc par l'utilisation d'un simulateur chargé de remplacer le véritable serveur OPC. Afin de tester au plus proche du réel, il est nécessaire que ce simulateur soit le plus adaptable possible.

Je vous présente donc une solution simple, mettant en jeu Python et le toolkit OPC de WinTech.

Capture d'écran du simulateur de serveur OPC

Le toolkit OPC de WinTech


WinTech propose un toolkit pour l'écriture d'un serveur OPC qui est fourni sous la forme d'une dll à intégrer dans son application. Le protocole OPC est entièrement implémenté dans la dll, encapsulant ainsi tous les détails. Le toolkit n'expose que les fonctions nécessaires à la réalisation du serveur: ajouter un tag, changer une valeur...
J'ai, par le passé, utilisé ce toolkit pour la réalisation de véritables serveurs OPC et j'ai toujours été frappé par sa simplicité d'utilisation. Cerise sur le gâteau, ce toolkit est accessible gratuitement dans une limite d'utilisation de 30 minutes ce qui est parfois suffisant pour des tests simples.

Python et ctypes pour animer le tout


Afin de disposer de grandes possibilités quant à la customization du simulateur, je recommande l'utilisation du langage de script Python. L'accès à la dll est possible via le module ctype qui permet d'appeler du code C présent dans une dll. La flexibilité de Python offre alors de nombreuses possibilités pour écrire un simulateur se rapprochant le plus possible du composant à simuler.

Je vous propose de télécharger ce script qui vous montrera en quelques lignes, un exemple très simple de serveur OPC réalisé avec python et le toolkit WinTech. Pensez à télécharger aussi le toolkit et à copier la dll WtOPCSvr.dll dans le même dossier que le script Python. Il faut ensuite passer par une phase d'installation en tapant dans une ligne de commande: "python C:\....\SimpleOpcServer.py -i". Il ne vous reste ensuite qu'à exécuter le script. Une interface simple affiche les quelques tags crées par le scripts et permet de voir et changer la valeur.

Vous pouvez alors adapter ce script selon votre besoin. Je reste à votre disposition pour plus de détail ou pour votre feedback. Envoyez-moi un email à l'adresse contact@apidev.fr.

Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur


Luc 11 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog