Le blog: Web, Python, Django, Javascript ...

Simuler simplement un serveur OPC

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.

Serveur OPC Python

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.


Commentaires rss
Posté par Automation Sense le vendredi 18 décembre 2015 à 10:47
Très bien expliqué le concept d'OPC.

Nom: Email: URL: Commentaire: Si vous saisissez quelque chose dans ce champ, votre commentaire sera considéré comme étant indésirable: Captcha: captcha

Luc JEAN

09.65.20.15.70

ljean@apidev.fr

Luc JEAN

Suivez les nouveautés

Wikio RSS  RSS Blog Python Django selenium Rss commentaires
Paperblog : Les meilleurs actualités issues des blogs Follow luc_apidev on Twitter