Le Design-to-HMI automatisé
La création manuelle d'écrans HMI est l'une des tâches les plus chronophages de l'automatisme. Avec T-IA Connect, vous pouvez transformer vos structures de données (UDTs et DBs) en objets graphiques (boutons, jauges, champs de saisie) positionnés et liés automatiquement à vos variables.
Prérequis
- Projet TIA Portal avec une station HMI (Comfort ou Unified)
- Serveur T-IA Connect actif
- Table de variables (Tags) définie pour l'IHM
Étape 1 : Lister et explorer les vues HMI
Utilisez l'API pour récupérer la liste des écrans existants et comprendre la hiérarchie de votre projet IHM.
curl http://localhost:9000/api/hmi/screens
{
"screens": [
{ "name": "Main_Overview", "width": 1280, "height": 800 },
{ "name": "Motor_Control", "width": 1280, "height": 800 },
{ "name": "Alarms_History", "width": 1280, "height": 800 }
],
"total": 3
}Étape 2 : Créer des objets graphiques dynamiques
Envoyez une requête pour ajouter des objets à un écran. Vous pouvez spécifier le type d'objet, sa position, sa taille et surtout son lien (Tag binding) avec une variable automate.
curl -X POST http://localhost:9000/api/hmi/screens/Motor_Control/objects \
-H "Content-Type: application/json" \
-d '{
"type": "Circle",
"name": "Status_Light",
"left": 100,
"top": 150,
"width": 50,
"height": 50,
"bindings": [
{
"property": "BackColor",
"tag": "DB_Motors.Motor_1.Running",
"converter": "BooleanToColor",
"params": { "true": "Green", "false": "Red" }
}
]
}'{
"success": true,
"objectId": "obj_987654",
"name": "Status_Light",
"status": "Created & Linked"
}Étape 3 : Exporter et compiler l'IHM
Une fois les écrans générés, utilisez l'API pour lancer une compilation globale de la station HMI afin de vérifier la cohérence des liens.
curl -X POST http://localhost:9000/api/hmi/compile \
-H "Content-Type: application/json" \
-d '{ "stationName": "HMI_TP1200", "rebuildAll": false }'{
"success": true,
"errors": 0,
"warnings": 2,
"compileTimeMs": 14500,
"binaryPath": "C:\\Projects\\Output\\HMI_Data.fw"
}L'automatisation HMI permet de garantir que chaque variable de votre DB possède son équivalent graphique sans risque d'erreur de saisie.