Visualisation et traitement des données de la Ligne
Une fois les données stockées on va vouloir maintenant les visualiser.
OPC-UA
Il est possible de visualiser les données concentrées sur l'IoT Gateway via le protocole OPC-UA.
- Installer le logiciel client graphique FreeOPC-UA GUI https://github.com/FreeOpcUa/opcua-client-gui
- Sur Linux (VM WSL Ubuntu) dans un terminal taper
pip3 install opcua-client
, lancer avecopcua-client
- Sur Windows installer Winpython puis installer
pip install opcua-client
et lancerYOUR_INSTALL_PATH\Python\Python35\Scripts\opcua-client.exe
- Sur Linux (VM WSL Ubuntu) dans un terminal taper
- Lancer FreeOPC-UA et se connecter à l'IoT Gateway sur le port OPC-UA
- opc.tcp://192.168.3.40:9999
- Cliquer sur Connect
- Inspecter les variables de la ligne
- Dans le panneau de droite, observer les variables changer d'état
Grafana
Un des outils que nous pouvons utiliser pour visualiser les données est un serveur grafana qui est hébergé sur l’IOT gateway. Pour utiliser Grafana, il faut tout d’abord ajouter les bases de données influxdb pour pouvoir importer et afficher les données. Voici un exemple de configuration de BDD dans Grafana :
Les BDD ont déjà été importé dans grafana.
Dashboard
Voilà un exemple de Dashboard permettant d'afficher les données
IoT Dashboard
Node-RED
Intégration des Andons, boutons tactiles et traitement de données
Interconnexion données Bosch-HLP
Serveur OPC-UA sous Node-RED
Dans le cadre de l'intégration de la Ligne connectée Bosch Rexroth avec le MES HLP Mappsy, le serveur Node-RED mis en place par Théo Kielwasser et Bosch pour le traitement de données a été augmenté d'un Flow supplémentaire. Ce Flow créé un serveur OPC-UA sur le port standard 192.168.3.40:4840
. Le serveur OPC-UA de l'IoT Gateway lui, est sur le port 192.168.3.40:9999
. Cela permet de formater/convertir les données Bosch pour qu'elles correspondent au "format standard" HLP/Mappsy.
Pour visualiser ces données il suffit d'utiliser FreeOPC-UA pour se connecter à opc.tcp://192.168.3.40:4840
(adapter les instructions ci-dessus https://innovation.iha.unistra.fr/books/ligne-flexible-connectee-4h/page/visualisation-et-traitement-des-donnees-de-la-ligne#bkmrk-opc-ua ).
Le principe d'interconnexion est simple. Pour chaque poste, on publie une variable booléenne OPC-UA PIECES_COUNTER_N
dans Root/Objects/postes
. Cette variable est true
lorsqu'il n'y a pas de palet au poste N
et false
lorsqu'un palet est présent. Lorqu'un palet quitte le poste la variable change donc de l'état false à true.
Le boitier HLP i4 se connecte au serveur Bosch via le réseau local de la ligne via son interface ETH2 (câble rose connecté au switch du poste de préparation). Il souscrit au serveur OPC-UA 192.168.3.40:4840
. Le boitier est connecté au cloud HLP via son interface ETH1 et le routeur de la ligne (câble gris connecté à la prise B0TP11-29 en bas du poteau, prise sans étiquette).
Chaque fois que la variable passe à true, HLP incrémente une variable de comptage dans l'infrastructure de données de la ligne sur son cloud.
Flow de stockage dans des variables globales
Flow de publication des variables globales sur le l'OPC-UA 4840
Sources :
- Tuto : https://flowfuse.com/blog/2023/07/how-to-deploy-a-basic-opc-ua-server-in-node-red/
- Serveur OPC-UA dans serveur Node-RED (Flow) : https://flows.nodered.org/node/node-red-contrib-opcua-server
- Exemple de flow : https://github.com/BiancoRoyal/node-red-contrib-opcua-server/blob/master/examples/server-with-context.json
- Upstream : https://flows.nodered.org/node/node-red-contrib-opcua
- A voir ? https://support.elsist.biz/fr/articoli/opc-ua-client-con-node-red/
Export des données dans un tableur
Un programme écrit en Python est disponible pour générer un export des données de la base de données InfluxDB au format XLS.
- Lancer le programme depuis le bureau
- Désélectionner les données à ne pas exporter (turquoise=sélectionné)
- Cliquer sur export
Par défaut la date du jour est sélectionnée. On peut sélectionner un autre jour
- Ouvrir le dossier Excel_Generator\Excel_Data via le raccourci présent sur le bureau
- Le fichier créé est nommé DataLigne
No Comments