Archives par mot-clé : Ada

Ada est un langage évolué pour applications critiques.

A4A : Exemple d’application app1

Bonjour,

« Ada for Automation » est un framework pour concevoir des applications d’automatisme en Ada.
Il doit vous permettre de créer vos propres applications simplement.

Il fournit donc une (pour l’instant) application exemple pour, d’une part servir éventuellement de point de départ à la votre et, d’autre part illustrer l’utilisation de ce cadre applicatif.

Il ne s’agit pas de couvrir l’ensemble de la fonctionnalité mais de fournir une application représentative de celle-ci tout en restant simple d’accès.

Ainsi, cette application met en œuvre uniquement le protocole Modbus TCP pour la communication tant avec les entrées et sorties du système qu’avec l’outil de supervision utilisé, le produit PcVue de Arc Informatique.

L’application tourne aussi bien sous Linux que sous Windows®, grâce à libmodbus et à Ada, cependant pour simplifier les choses nous nous en tiendrons à la plateforme majoritaire (pour l’instant), d’autant que le SCADA utilisé pour l’interface homme – machine tourne sous Windows®.

Pourquoi PcVue ? Parce que dans la vie il faut faire des choix… Libre à vous d’en faire un autre.
C’est un outil qui me permet de réaliser simplement et rapidement une interface graphique pour mes applications, qui est connu d’une bonne partie des automaticiens, et dont vous pouvez vous procurer une version de démonstration auprès de Arc Informatique.

J’utilise d’ailleurs cette version qui a un inconvénient principal, être limitée à 25 variables d’entrée / sorties, ce qui en pratique est atteint rapidement. Aussi, je jongle avec cette limite et je crée plusieurs applications graphiques…

Pour ce qui est de la partie opérative, je n’en ai pas. Aussi, il y a trois solutions :

  • vous disposez de la partie opérative et avez un peu d’argent pour acheter le matériel électrique, les modules d’entrées / sorties, les capteurs et actionneurs…
  • vous téléchargez un simulateur d’automate comme Modbus PLC Simulator,
  • vous utilisez l’application de simulation de partie opérative développée concomitamment !

Of course, je préfère l’application de simulation… c’est pourquoi je l’ai développée également.
Elle figure dans le code source que vous pouvez télécharger comme d’habitude :
https://slo-ist.fr/ada4autom/telecharger

Voici un schéma montrant cette architecture :

App1 Overview

Vous avez donc deux applications exemples pour le prix d’une, l’application de contrôle-commande et l’application de simulation.

L’application de simulation dispose de sa propre interface graphique :

A4A-APP1SIMU-Syno 00

Celle-ci permet de piloter les éléments de simulation, de les passer en automatique afin qu’ils réagissent aux commandes qu’ils reçoivent ou en manuel afin de simuler un défaut par exemple.

L’application de contrôle-commande dispose d’une interface graphique incluant une partie de celle de l’application de simulation. Ben oui, à cause de la limite à 25 variables…

A4A-APP1-Syno 00

On peut alors faire tourner l’application de simulation sur le même PC ou sur un autre, penser à changer les paramètres TCP/IP.

A4A-APP1-Syno 01

Et voilà ! Le jardin de Beau-Papa est arrosé manuellement ou automatiquement ! 😉

A4A-APP1-Syno 02

Les deux terminaux exécutant l’un l’application de contrôle et l’autre celle de simulation.
On y voit la trace laissée par l’application console sensée surveiller l’activité des autres tâches.
Pour l’instant ça juste trace… TO DO !

A4A-APP1-Syno 04

Enfin, une vue de ce superbe outil mis à notre disposition par AdaCore, l’environnement de développement intégré GNAT.

On remarquera la notion de scénario, en haut à gauche, qui permet de sélectionner la plateforme cible.

A4A-APP1-GPS 00

Nous détaillerons par la suite les tenants et aboutissants de cette merveille technologique, économique et écologique. Restez branchés !

Cordialement,
Stéphane