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 : Éléments de formulaires, MQTT

Bonjour,

En bref

Ada for Automation utilise le cadriciel Gnoga qui permet de manipuler le Document Object Model (DOM) d’une page web pour créer des pages dynamiques.

Les différentes démos disponibles montrent une variété d’éléments HTML 5 animés ainsi que du dessin vectoriel au format SVG comme ici.

Cependant, je n’avais pas encore joué avec les éléments de formulaire ; c’est chose faite avec des glisseurs (sliders) et des mesureurs (meters) !

J’ai également expérimenté avec MQTT et cela ouvre nombre d’applications potentielles.

Éléments de formulaires

Ces éléments fournissent un moyen pour renseigner des paramètres de l’application ou agir sur des consignes par exemple.

Ainsi, l’application de démo « Passerelle Modbus TCP / Communication S7 » dont il a déjà été question ici ou dispose aujourd’hui d’un glisseur permettant de régler l’incrément %MW4 et donc la vitesse d’évolution de la valeur %MW0.

Ceci est visible sur la page de la démo Chart.js où l’on voit bien le changement de pente :

On peut manipuler les valeurs %MW4 et %MD8 soit avec le curseur, soit avec la zone de saisie.

La saisie provoque l’écriture dans l’automate SIEMENS S7. Ces mêmes données étant relues cycliquement et affichées en clair ou dans le mesureur, on peut vérifier la bonne exécution de la commande.

A la réflexion, cette démo pourrait bien bénéficier elle aussi de ces éléments pour faire varier la consigne de vitesse du variateur EtherCAT… A suivre.

MQTT et le Cloud (second take)

J’ai déjà évoqué ce sujet il y a quelques temps… ici même. Et j’avais évoqué alors le binding mosquitto-ada de Monsieur Per Sandberg.

Mais comme l’application utilise Gnoga, basé sur Simple Components et que ces derniers fournissent un client MQTT, j’ai préféré mettre en œuvre cette solution plutôt que de rajouter une dépendance supplémentaire.

Nous avons donc le choix de la solution, ce qui est rarement un problème.

J’ai donc installé sur ma Debian le serveur Mosquitto et les clients en ligne de commande qui vont avec et je peux voir l’évolution de ma variable %MW0 dans un terminal :

Perspectives

Pour suivre, on peut bien sûr imaginer de combiner MQTT avec les nombreuses possibilités offertes par Ada for Automation en matière de communication comme j’ai essayé de l’illustrer.

MQTT occupe une place de choix chez IBM bien sûr puisque c’est une de leurs inventions. Cela permet de collecter de nombreuses données de moult sources facilement.

Le protocole est simple à implémenter et consomme peu de ressources.

Mais MQTT est aussi un élément central de la panoplie cloud de Hilscher.

En effet, les applications conteneurisées clientes MQTT communiquent entre elles via le broker Mosquitto comme décrit ici.

Ainsi, avec Ada for Automation sur une cible netFIELD Hilscher, on peut envisager de connecter via le broker MQTT des équipements Modbus RTU ou TCP comme par exemple les automates SCHNEIDER ELECTRIC, les automates SIEMENS S7 200 / 300 / 400 / 1500… grâce à Snap7, mais aussi divers équipements sur des bus de terrain classiques ou Ethernet Temps Réel via les cartes de communication cifX de Hilscher.

Cordialement,
Stéphane