Archives de catégorie : netSCADA

netSCADA : Modbus RTU – un cas d’utilisation

Bonjour,

Je vous parlais dans le dernier article de la famille netSCADA et du dernier représentant en date disposant d’une connectivité Modbus RTU que l’on peut configurer en Maitre ou en Esclave, le netSCADA Modbus.

Mes amis de chez Endress + Hauser m’ayant fourni pour mes petites expérimentations un équipement esclave Modbus RTU, le Calculateur d’énergie RMS621, je me suis dit que je tenais là une bonne combinaison pour ma démonstration.

Ce calculateur permet à partir de grandeurs d’entrée comme la température amont / aval de fluides, le débit, la pression, de calculer l’énergie consommée, que ce soit pour du gaz, de la vapeur, des fluides caloporteurs…

Il dispose d’une IHM locale et il est également possible de configurer une liaison Modbus RTU esclave afin de consulter les valeurs mesurées à distance.

J’ai donc branché une sonde PT100, de fourniture E+H également, merci encore, sur le RMS621, ce qui me permettra de suivre la température de mon bocal ou la mienne éventuellement, et j’ai connecté le netSCADA en RS485 sur le calculateur.

Il est aussi possible de configurer le netSCADA en RS232 ou RS422, ça peut être utile.

Je ne vais pas m’étendre sur la configuration du netSCADA, c’est traité abondamment dans la documentation disponible sur la page consacrée au produit, où vous pouvez de surcroit vous procurer le DVD avec le logiciel de conception graphique, mon propos étant d’illustrer.

L’application web embarquée sur le netSCADA dispose de pages standard permettant l’identification du produit, la configuration de l’interface réseau, la mise à jour du firmware, le redémarrage de celui-ci, le réglage de l’horloge temps réel et de sa synchronisation sur un serveur de temps, l’état du tampon d’enregistrement des variables historisées, la taille de l’application et la commande d’effacement, et une commande de restauration de l’état initial.

netSCADA-MBRTU-Device

Et puis bien sûr les pages que l’on aura développé soi-même comme celle-ci :

netSCADA-MBRTU-Home-00

Le bandeau du haut est standard, il est naturellement modifiable. Il contient des menus pour la navigation, des boutons pour contrôler le zoom, pour sélectionner la langue de l’interface, des boutons pour la gestion des alarmes – je n’en ai pas dans cet exemple.

Le calculateur fournit pour chaque mesure un état de celle-ci, sous forme numérique, et l’on y a associé un libellé correspondant.

Cette page montre les valeurs des mesures, ici des réels (sur deux registres Modbus), l’état sous sa forme textuelle, et une courbe de tendance simple sur 10 minutes. Hormis la sonde de température, les autres entrées sont en l’air et on observe des défauts de dépassement de plage, rien d’anormal dans notre cas.

Si je chauffe la sonde c’est plus drôle :

netSCADA-MBRTU-Home-01

On observe ci-dessus la température évoluer et l’on obtient les coordonnées du point survolé.

Puisque les graphiques sont vectoriels, on peut zoomer à volonté :

netSCADA-MBRTU-Home-02

En fait, c’est le même objet « courbe de tendance » qui est instancié dans toutes les pages présentées, avec un paramétrage différent pour chacune.

Le menu opérateur permet de naviguer dans les pages de l’application mais il est aussi possible de le faire grâce aux boutons disposés dans la page elle-même comme le bouton « Général » de la page « Simple Trends ».

netSCADA-MBRTU-Home-03

Dans la page « Simple Trends » ci-après, on a ajouté les boutons de navigation temporelle :

netSCADA-MBRTU-SimpleTrends-00

Et dans la page « Rich Trends », et bien c’est l’opulence !
Avec la télécommande, il est possible de régler tous les paramètres d’affichage, la période observée, l’échelle, automatique ou manuelle avec minimum et maximum, et depuis le tableau d’affectation la couleur et le style, le texte affiché…

Un bouton, celui au-dessus du libellé « Heure », permet d’obtenir un fichier CSV contenant les valeurs pour une exploitation ultérieure, dans un tableur quelconque par exemple.

netSCADA-MBRTU-RichTrends-00

Cet exemple succinct ne présente évidemment pas toutes les capacités de visualisation.

Il est tout à fait envisageable de le compléter par des pages de synoptiques animés et l’on pourra pour un rendu plus professionnel acquérir la bibliothèque optionnelle de symboles vectoriels.

Cordialement,
Stéphane

Nouvelles – Octobre 2014

Bonjour,

En ce moment je délaisse un peu Ada pour le web et les technologies associées.

Si ce n’est pas d’aujourd’hui que je m’y intéresse, l’actualité Hilscher me pousse à réactualiser mes vieilles connaissances en HTML / CSS, réactualisation d’autant plus nécessaire avec HTML5, et surtout à me mettre au JavaScript que je snobais jusqu’alors. Ajoutons à cela une pincée de SVG et le tableau est bientôt brossé.

Ainsi, les dernières versions de firmware pour les modules Hilscher au format DIL 32 netIC pour les protocoles basés sur Ethernet intègrent un serveur web.

J’ai déjà évoqué ces modules dans quelques autres articles :
http://slo-ist.fr/sujet/hilscher/netic

Ce serveur web permet, comme pour d’autres produits de la gamme, d’identifier le composant, de mettre à jour le firmware, régler certains paramètres, etc… mais, dans le cas du netIC, il est également possible d’intégrer ses propres pages web et d’accéder aux données du module via la table Modbus.

Pour la création des pages web, des exemples sont fournis, mettant en œuvre JavaScript, et il vous faut utiliser les outils standards pour l’édition de vos pages.

La famille netSCADA s’agrandit avec un nouveau rejeton disposant d’une connectivité Modbus RTU que l’on peut configurer en Maitre ou en Esclave, le netSCADA Modbus.

Je n’ai pas eu encore l’occasion d’évoquer son aîné, le netLINK SCADA, qui dispose lui d’une connectivité MPI / PROFIBUS pour la supervision d’automates SIEMENS®, mais j’y pense.

Ces deux produits intègrent la technologie atvise® de la société CERTEC EDV GmbH et sont fournis avec l’éditeur qui va bien pour créer vos pages intégrant vos synoptiques en SVG et le JavaScript pour l’animation de ceux-ci sans que vous ayez à maîtriser ces technologies.

Cependant vous avez accès au code source SVG / JavaScript généré et vous avez la possibilité de créer de toutes pièces vos propres composants si ceux fournis ne répondent pas exactement à vos souhaits.

Ayant goûté à ces technologies, je me suis demandé comment les mettre à profit dans « Ada for Automation » comme vous ne pouviez en douter.

En effet, avec Ada Web Server, il est possible d’ajouter un serveur web à votre application Ada, et à fortiori à votre application « Ada for Automation ».

J’avais déjà expérimenté avec Inkscape les graphismes en SVG et le projet MBLogic m’a servi de tutoriel pour ce qui est d’animer ces graphismes.

Bien sûr, j’ai croisé avec atvise et les techniques sont similaires comme on pouvait s’y attendre. C’est également le cas avec AWS pour ce qui est de AJAX.

Pour ce qui est de l’accès aux données process, CERTEC EDV GmbH fournit un SDK en C qui permet l’intégration dans un produit embarqué d’un serveur de données, ce qui est utilisé dans les netSCADA, Hilscher disposant par ailleurs des piles de protocoles et du serveur web qui vont bien.

MBLogic met en œuvre un serveur web écrit en Python, multiplateforme donc, ce serveur accède aux données process en étant décliné en client / serveur Modbus TCP ou Maître / Esclave Modbus RTU.

Je me suis amusé avec et ça donne ceci :
http://linuxfr.org/users/slos/journaux/mblogic-supervision-web-et-plus

Les dernières versions de AWS intègrent WebSocket, pour la communication bidirectionnelle entre l’application de supervision web dans votre navigateur et votre application « Ada for Automation », et toutes les pièces sont donc en place… Il ne reste plus qu’à intégrer tout ça.

N’est-ce pas merveilleux ? 😉

Cordialement,
Stéphane