Qu'est-ce qu'un fournisseur de tags ?
Un fournisseur de tags (tag provider) est un composant au sein d'une plateforme SCADA ou d'automatisation industrielle qui sert de source de tags -- des points de données nommés représentant des valeurs du monde physique ou logique. Dans les systèmes comme Ignition d'Inductive Automation, les fournisseurs de tags sont le mécanisme principal pour organiser, accéder et gérer toutes les données temps réel et historiques d'un projet.
Comprendre les tags dans les systèmes SCADA
Un tag (aussi appelé point de données, variable ou variable de processus) est l'unité fondamentale de données dans tout système SCADA. Chaque tag représente une information spécifique, telle que :
- Une mesure de capteur -- Température d'une cuve, pression dans un pipeline, débit à travers une vanne
- Un état d'équipement -- Moteur en marche/arrêté, vanne ouverte/fermée, alarme active/inactive
- Une valeur calculée -- Pourcentage d'efficacité, total cumulé, écart par rapport à la consigne
- Un paramètre de configuration -- Valeur de consigne, seuil d'alarme, paramètre de recette
Chaque tag possède des propriétés clés :
- Nom -- Un identifiant lisible (par exemple "Cuve1/Niveau")
- Chemin -- L'emplacement hiérarchique dans l'arborescence des tags (par exemple "Usine/Zone1/Cuve1/Niveau")
- Type de données -- Entier, flottant, booléen, chaîne de caractères, date ou dataset
- Valeur -- Le point de données actuel
- Qualité -- Indique si la valeur est fiable (Bonne, Mauvaise, Incertaine)
- Horodatage -- Quand la valeur a été mise à jour pour la dernière fois
Types de fournisseurs de tags dans Ignition
Ignition prend en charge plusieurs types de fournisseurs de tags, chacun servant un objectif différent :
Fournisseur de tags par défaut (interne)
Le fournisseur standard où résident la plupart des tags. Il prend en charge tous les types de tags et est stocké dans la base de données interne de la passerelle Ignition. C'est l'espace de travail principal pour construire les structures de tags.
Fournisseur de tags OPC
Se connecte directement aux serveurs OPC UA ou OPC DA pour lire et écrire des données depuis les automates (PLC), RTU et autres équipements industriels. Les tags reflètent l'espace d'adressage du serveur OPC connecté. C'est le pont entre Ignition et le processus physique.
Tags d'expression
Tags dont les valeurs sont calculées à partir d'expressions -- formules mathématiques, logique conditionnelle ou références à d'autres tags. Exemples :
- `{Cuve1/Niveau} * {Cuve1/Surface}` pour calculer le volume
- `if({Moteur/EnMarche}, "ON", "OFF")` pour convertir un booléen en chaîne de caractères
Tags dérivés
Tags qui appliquent des transformations à la valeur d'un tag source, telles que :
- Moyenne glissante -- Lisse les données de capteurs bruitées
- Taux de variation -- Calcule la vitesse de changement d'une valeur
- Expression -- Applique une logique personnalisée à une valeur source
Tags de requête
Tags dont les valeurs proviennent de requêtes SQL. Utiles pour intégrer des données métier (ordres de production, recettes de lots, résultats qualité) dans l'environnement SCADA.
Tags de référence
Tags qui pointent vers un autre tag, permettant au même point de données d'apparaître à plusieurs endroits dans la hiérarchie des tags sans duplication.
Tags mémoire
Tags qui n'existent qu'en mémoire et ne se connectent à aucune source de données externe. Utilisés pour les calculs internes, le stockage temporaire et la gestion de l'état de l'interface utilisateur.
Hiérarchies de tags et structure de dossiers
Une organisation efficace des tags est essentielle pour des systèmes SCADA maintenables. Les tags sont organisés en structures hiérarchiques de dossiers qui reflètent généralement l'agencement physique de l'installation :
```
[default]
Site_Paris/
Batiment_A/
Ligne_Production_1/
Convoyeur/
Vitesse
EnMarche
Defaut
Robot_1/
Position_X
Position_Y
Compteur_Cycles
Utilites/
Compresseur_1/
Pression
Temperature
Heures_Fonctionnement
```
Cette approche hiérarchique offre :
- Navigation intuitive pour les opérateurs et développeurs
- Regroupement logique correspondant à l'installation physique
- Sécurité simplifiée en appliquant les permissions au niveau des dossiers
- Maintenance facilitée lors de l'ajout ou du déplacement d'équipements
Types définis par l'utilisateur (UDT)
Les UDT (User Defined Types) sont l'une des fonctionnalités d'organisation de tags les plus puissantes d'Ignition. Un UDT est un modèle qui définit une structure de tags réutilisable :
- Définition UDT -- Définit la structure (par exemple un type "Moteur" avec des tags pour Vitesse, EnMarche, Défaut, Heures_Fonctionnement, Alarme_Haute)
- Instance UDT -- Une copie concrète de la définition appliquée à un équipement spécifique (par exemple "Pompe_1" de type "Moteur")
Avantages des UDT :
- Cohérence -- Chaque moteur, vanne ou cuve utilise la même structure de tags
- Efficacité -- Créer des centaines d'instances à partir d'une seule définition
- Maintenabilité -- Modifier la définition une seule fois et toutes les instances se mettent à jour automatiquement
- Standardisation -- Imposer des conventions de nommage et des structures de données sur l'ensemble du projet
Bonnes pratiques pour l'organisation des tags
- Suivre les conventions de nommage ISA-88/ISA-95 -- Utiliser des hiérarchies standardisées (Entreprise > Site > Zone > Unité > Équipement)
- Utiliser les UDT pour les équipements répétitifs -- Ne jamais dupliquer manuellement des structures de tags
- Séparer les préoccupations -- Garder les connexions OPC, les calculs internes et les tags d'affichage dans des fournisseurs ou dossiers distincts
- Limiter le nombre de fournisseurs de tags -- Utiliser aussi peu de fournisseurs que nécessaire pour éviter la complexité
- Documenter les standards de nommage des tags -- Publier un document de convention de nommage pour l'équipe projet
- Utiliser les groupes de tags pour les fréquences de scrutation -- Grouper les tags par fréquence de mise à jour requise (100 ms pour les critiques, 1 s pour le standard, 10 s pour les valeurs à évolution lente)
- Activer l'historisation de manière sélective -- N'historiser que les tags qui apportent une valeur analytique pour éviter la surcharge de la base de données
- Planifier la croissance -- Concevoir des structures de tags pouvant accueillir de futurs ajouts d'équipements sans restructuration