Archives de catégorie : Ada4Automation

« Ada for Automation » est un cadriciel pour développer des applications d’automatisme évoluées dans le langage Ada.

A4A : S7 Communication avec Snap7

Bonjour,

Introduction

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…

Cela doit vous rappeler quelque chose…
https://slo-ist.fr/hilscher/raspberry-pi-une-passerelle-modbus-communication-s7

L’application

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.

Le code est bien sûr déjà dans le dépôt GitLab :
https://gitlab.com/ada-for-automation/ada-for-automation/-/tree/master/demo/142%20a4a_k0_S7

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.



La démo

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.

Perspectives

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.

On peut également communiquer avec des automates SIEMENS de la série 5 avec un convertisseur IBHLinkS5++ qui se monte directement sur la prise AS511.
Cf. cet article.

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