A4A : S7 Communication avec Snap7

Bonjour,

Comme indiqué ce tantôt, un « binding Ada » pour la librairie Snap7 est disponible dans Ada for Automation.

J’ai déjà mentionné le programme de test réalisé mais j’ai voulu aller un peu plus loin et j’ai donc écrit une application réalisant une passerelle Modbus TCP Serveur et la communication S7 à l’œuvre dans les automates SIEMENS de la série 7, S7 200/300/400 mais aussi S7 1500…

En prenant le noyau K0 fournissant le serveur Modbus TCP et en y accolant la fonctionnalité du programme de test Snap7, l’application est prête en un tournemain.

La copie d’écran ci-dessous montre en fond la vue principale dans Firefox, en bas à gauche, une table de visualisation Step7 en ligne, et en haut à droite, un client Modbus Poll, le tout rafraîchi à la seconde environ.



Le portail de démonstration a été mis à jour en conséquence et l’application est accessible directement ici.

On a donc une CPU SIEMENS S7-315-2DP sur laquelle est monté un netLINK Hilscher, ici sur le port MPI de la CPU.

L’application elle-même s’exécute dans un PC industriel sous Debian Linux et communique d’une part avec le netLINK NL 50-MPI et d’autre part avec mon petit nuage, une machine virtuelle également sous Debian Linux dans laquelle un serveur Apache fait office de proxy multi-sites.

Dans la NAT du routeur, un accès est bien sûr aménagé sur le port HTTP de l’application de démo.

Le serveur Modbus TCP n’est quant à lui accessible qu’en local.

Cette application pourrait sans aucun doute s’exécuter tout aussi bien sur un Raspberry Pi.

En remplaçant le noyau K0 par un autre, par exemple le K6 qui s’interface avec une cifX ou un netX, on peut envisager toutes sortes d’applications passerelles vers les bus de terrain supportés.

Ainsi, l’on pourrait par exemple réaliser une passerelle EtherCAT Esclave ou Ethernet/IP Adapter vers communication S7 avec un netPI RTE 3.

Bien sûr, on peut tout aussi bien réaliser une IHM, ce que démontre l’application, tout HTML 5, CSS3…

Cordialement,
Stéphane