Un centre de conduite envoie une commande double pour ouvrir le disjoncteur CB-1. La RTU répond par une confirmation d’activation positive. Le système de conduite indique alors que le disjoncteur est ouvert. Pourtant, son état à deux points indique toujours « fermé » : le verrouillage propre au disjoncteur a empêché l’ouverture après l’acceptation de la commande par la RTU. La confirmation était correcte. Son interprétation par le système de conduite ne l’était pas.
En IEC 60870-5-101 et 104, l’accusé de réception, la confirmation, la fin d’activation et l’état de l’équipement sont des messages distincts. Ce guide suit une commande à travers chacun d’eux et précise ce que chaque message prouve.
Ce guide fait partie du parcours IEC 60870 et IEC 61850.
Étapes d’une commande
| Étape | Message | Ce qu’il prouve |
|---|---|---|
| Activation | ASDU de commande, cause 6 | Seulement que le journal du centre de conduite a enregistré un envoi |
| Accusé de réception du transport (IEC 104 seulement) | Trame S ou I dont le numéro de séquence de réception couvre la commande | La couche transport de la station distante a reçu la trame ; rien n’est établi sur l’application |
| Confirmation d’activation positive | Cause 7, bit P/N à 0 | L’application de la station distante a accepté la commande |
| Confirmation d’activation négative | Cause 7, bit P/N à 1 | La station distante a refusé la commande ; aucun motif n’est transmis |
| Rejet d’adresse ou de type | Cause 44, 45, 46 ou 47, bit P/N à 1 | Le type, la cause, l’adresse commune ou l’adresse de l’objet est inconnu de la station distante |
| Fin d’activation | Cause 10 | La station distante a terminé l’exécution, si l’envoi de ce message est configuré |
| Information en retour | Point d’état, cause 11 ou 3 | La station distante a mesuré un changement d’état de l’équipement |
La station distante recopie l’ASDU de commande dans ses réponses. Le type, l’adresse commune, l’adresse de l’objet et la valeur de commande restent identiques ; seuls la cause et le bit P/N changent. Le destinataire associe les réponses aux commandes à l’aide de ces champs.
Exécution directe et sélection avant exécution
Les commandes simples (type 45), doubles (type 46) et de consigne (types 48, 49 et 50 : valeurs normalisée, mise à l’échelle et en flottant court) peuvent être envoyées de deux façons. Le mode est fixé par le bit S/E, bit 8 de l’octet du qualificateur de commande (SCO, DCO ou QOS). La valeur 1 signifie sélection ; 0 signifie exécution.
En exécution directe, un seul message est envoyé avec le bit S/E à 0. La station distante vérifie la commande et agit immédiatement.
Avec la sélection avant exécution (SBO), le premier message a le bit S/E à 1. La station distante vérifie la commande, réserve le point et confirme avec la cause 7. Le second message reprend la même commande avec le bit S/E à 0. La station n’exécute que si l’ordre d’exécution correspond à l’adresse d’objet et à la valeur sélectionnées. Une différence entraîne une confirmation négative.
SBO vérifie que la commande d’exécution correspond à l’objet et à la valeur sélectionnés et arrive avant l’expiration de la sélection. Cet échange seul ne garantit pas la protection contre une action mal dirigée ou provoquée par des données corrompues. L’autorité de commande sur site, les verrouillages et le retour d’état des équipements sont des vérifications distinctes, à concevoir et à valider pour l’installation. La station peut vérifier les verrouillages et le sélecteur local/distant pendant la sélection, mais ces vérifications dépendent de son implémentation et de sa configuration.
Le délai de validité de la sélection est un réglage de la station distante ; les valeurs par défaut varient beaucoup. Le serveur IEC 104 de PcVue utilise 5 s par défaut. Le relais ABB RER620 utilise 30 s par défaut, avec une plage de 1 à 65 s. Si l’ordre d’exécution arrive après ce délai, la sélection a expiré et la station refuse l’exécution.
Pour annuler une sélection en attente, le centre de conduite envoie la même commande avec la cause 8 (désactivation). La station répond avec la cause 9 (confirmation de désactivation). Toutes les stations ne permettent pas la désactivation des commandes : vérifiez la liste d’interopérabilité. Certaines refusent aussi une seconde sélection d’un point déjà réservé.
Consultez les spécifications de téléconduite du gestionnaire de réseau et la liste d’interopérabilité pour connaître le mode exigé. SBO est courant pour les commandes de disjoncteurs et de sectionneurs. Inscrivez le mode de chaque point de commande dans la liste de points.
Qualificateurs de commande
Les commandes simples et doubles comportent un qualificateur de commande (QU) dans les bits 3 à 7 du même octet :
| QU | Signification |
|---|---|
| 0 | Aucune définition supplémentaire. La configuration de la station distante détermine la sortie |
| 1 | Impulsion courte |
| 2 | Impulsion longue |
| 3 | Sortie permanente |
Les durées des impulsions courtes et longues sont des paramètres de la station distante ; elles ne sont pas transmises dans le message. QU 0 est courant, de sorte que le comportement réel de la sortie reste souvent invisible au centre de conduite. Notez cette sortie effective pour chaque point de la liste.
Une commande double utilise un état de commande double (DCS) sur 2 bits : 1 signifie arrêt et 2 marche. Les valeurs 0 et 3 sont interdites et les stations les rejettent. Une erreur d’un bit dans le DCS produit donc un rejet, pas la commande opposée. Une commande simple n’offre pas cette protection, puisque son seul bit bascule entre arrêt et marche. Le câblage des relais par la station pour une commande double, par exemple des bobines d’ouverture et de fermeture distinctes, relève de l’implémentation, pas du protocole.
Exemple de séquence avec sélection avant exécution
Le centre de conduite ferme un disjoncteur par commande double sur IEC 104. Adresse commune 12, adresse d’objet 2001 (hexadécimal D1 07 00, octet de poids faible en premier), QU 1 pour une impulsion courte. L’état du disjoncteur est l’objet à deux points d’adresse 1001, type 31 avec horodatage CP56Time2a. Dans cet exemple, la RTU a un délai de sélection de 30 s et une impulsion courte de 500 ms.
| Heure (s) | Sens | Type | Octet de cause | Qualificateur ou valeur | Signification |
|---|---|---|---|---|---|
| 0.000 | Vers la RTU | 46 | 06 | DCO 86 | Sélection, fermeture (DCS 2), impulsion courte (QU 1), S/E 1 |
| 0.045 | Depuis la RTU | 46 | 07 | DCO 86 | Confirmation positive de la sélection |
| 0.060 | Vers la RTU | 46 | 06 | DCO 06 | Exécution : même commande, S/E 0 |
| 0.105 | Depuis la RTU | 46 | 07 | DCO 06 | Confirmation positive de l’exécution |
| 0.290 | Depuis la RTU | 31 | 0B | DIQ 02, horodatage 10:15:02.237 | Disjoncteur fermé (DPI 2), cause 11 |
| 0.610 | Depuis la RTU | 46 | 0A | DCO 06 | Fin d’activation : impulsion terminée |
L’octet de cause contient aussi le bit P/N (hexadécimal 40) et le bit de test (hexadécimal 80). Une exécution refusée revient donc avec l’octet de cause 47, et non 07. Une commande à une adresse d’objet inconnue de la RTU revient avec 6F (cause 47 avec P/N à 1).
Observez l’ordre des messages. Sur cette RTU, le changement d’état arrive avant la fin d’activation, car le disjoncteur s’est fermé pendant l’impulsion. Sur une autre RTU, ou avec une sortie permanente, la fin d’activation peut arriver d’abord. La logique de corrélation doit accepter les deux ordres.
Refus et expirations
Une confirmation négative est une réponse certaine : la station distante a refusé et n’a rien fait. Le protocole n’en donne pas la raison. Le manuel ABB RER620 énumère notamment un sens de commande incorrect, un DCS à 0 ou 3, un point configuré pour la surveillance seulement, un verrouillage du disjoncteur ou l’absence de mode distant. Le protocole ne code aucun de ces motifs : ils arrivent tous sous forme de cause 7 négative. Le motif n’apparaît que dans le journal d’événements propre à la station.
Les causes 44 à 47 sont différentes : elles indiquent que la station n’a pas reconnu le type, la cause, l’adresse commune ou l’adresse d’objet. Les fabricants les appliquent différemment. Le RER620, par exemple, répond par la cause 47 à une commande simple adressée à un point double, même si l’adresse d’objet existe.
Une expiration du délai laisse le résultat inconnu. La station peut avoir exécuté la commande alors que sa réponse s’est perdue. Avant de réessayer, lisez le point d’état et les mesures correspondantes. Ne répétez pas automatiquement la commande.
Les logiciels maîtres distinguent ces cas. Le pilote IEC 60870-5-10x de Beckhoff indique séparément une confirmation négative (IEC870_COMMERR_NEGACTCON), une adresse d’objet inconnue (IEC870_COMMERR_UNKNOWNOBJADDR), l’expiration de sélection ou d’exécution (IEC870_COMMERR_SELEXECTIMEOUT) et l’absence de fin d’activation (IEC870_COMMERR_ACTTERMTIMEOUT). Un système de conduite devrait aussi les consigner séparément.
En IEC 104, les accusés de réception de liaison et les délais d’attente des commandes applicatives sont distincts. Si la RTU n’accuse pas réception d’une trame I pendant t1 (15 s par défaut), l’émetteur ferme la connexion. Une trame I de la RTU, comme la confirmation d’activation, porte l’accusé dans son numéro de séquence de réception. Si la RTU n’a aucune trame I à envoyer, elle envoie une trame S après w trames reçues (8 par défaut) ou à l’expiration de t2 (10 s par défaut). Un accusé de réception par trame S ne confirme ni l’acceptation de la commande (ACTCON) ni son achèvement (ACTTERM). Fixez ces délais applicatifs selon les réponses documentées du poste distant et les temps de fonctionnement de l’installation, et non à partir de t1 seul. En sélection avant exécution, la commande d’exécution doit parvenir à la RTU avant l’expiration de sa sélection. Après une reconnexion, lancez une interrogation générale et lisez l’état avant de conclure sur le résultat de la dernière commande. Le guide IEC 101 et IEC 104 explique k, w et les temporisateurs.
Commandes horodatées
IEC 104 ajoute les types de commande 58 à 64, qui portent un horodatage CP56Time2a. Le type 58, par exemple, est une commande simple, et le type 59 une commande double avec horodatage. Une station qui les prend en charge compare l’heure à sa propre horloge et peut rejeter une commande plus ancienne que la limite d’âge configurée. Une dérive d’horloge ou une liaison lente peut donc faire échouer les commandes. Convenez de l’âge maximal, de la source de temps et de la réponse de la station à une commande périmée, puis testez-les.
Vérifier l’état réel
L’état de l’équipement revient sur un point de surveillance distinct : un état à deux points pour un disjoncteur (type 31 avec horodatage), ou une valeur mesurée pour une consigne. La cause 11 signifie « information en retour après une commande distante » et la cause 12 correspond à un changement après une commande locale. Utilisez l’horodatage de la station distante, pas l’heure de réception, pour remettre dans l’ordre la commande et le changement. Le guide des horodatages et de la qualité explique CP56Time2a.
Le point d’état prouve seulement ce qu’indiquent les entrées de contact de la station distante. Pour une consigne ou une commutation de charge, vérifiez aussi une mesure du procédé : baisse du courant, changement de puissance ou suivi de la consigne en réponse à la fréquence. Le guide de vérification des commandes BESS applique ce principe aux consignes de batterie.
Mettre les commandes en service sans danger
- Pour chaque point de commande, convenez avec le propriétaire de l’équipement du type, du mode (direct ou SBO), de la valeur QU et de la durée réelle d’impulsion, de l’envoi éventuel d’ACTTERM, du délai de sélection, du point de retour d’état et des causes qu’il emploie.
- Inscrivez ces valeurs dans les listes d’interopérabilité et de points. La liste d’interopérabilité de l’ABB REC 523, par exemple, prévoit des entrées distinctes pour les commandes directes et avec sélection avant exécution, pour « ACTTERM used » et pour chaque valeur QU.
- Testez d’abord avec un simulateur. Incluez une confirmation négative, une adresse d’objet inconnue, une sélection expirée, une désactivation et la perte de connexion entre sélection et exécution.
- Sur site, vérifiez une commande à la fois, en présence du responsable, avec l’installation dans un état sûr.
- Enregistrez chaque trame avec son heure, son octet de cause, son bit P/N, son adresse d’objet et sa valeur, ainsi que le résultat physique.
- Redémarrez tour à tour chaque extrémité et vérifiez qu’aucune sélection ou commande ne subsiste de façon inattendue.
Le guide de commande locale présente les défaillances à prévoir pour toute commande automatique.
Téléconduite et systèmes EpiSensor
Edge n’implémente pas IEC 60870-5. Si un gestionnaire de réseau commande un site par une RTU de téléconduite, cette RTU exécute les commandes et en rapporte l’état.
Un compteur EpiSensor placé sur le même circuit fournit une mesure indépendante pour la dernière étape : courant et puissance après la commande, enregistrés par Edge. Elle ne dépend ni des contacts ni des horodatages de la RTU.
Un contrôleur de réponse à la demande ZDR réagit localement à la fréquence du réseau par son propre relais ou une consigne Modbus. Ses actions ne figurent pas dans le journal des commandes de la RTU. Si la RTU et le ZDR peuvent tous deux commuter la même charge, attribuez-leur des sorties distinctes et convenez de la priorité.
Questions fréquentes
Qu’est-ce que la sélection avant exécution en IEC 104 ?
C’est une commande en deux étapes. Le centre de conduite envoie d’abord la commande avec le bit sélection/exécution (S/E) activé, au bit 8 du qualificateur. La station distante la vérifie et confirme avec la cause 7. Le centre envoie ensuite la même commande avec S/E à zéro. La station ne l’exécute que si le point et la valeur correspondent à la sélection et que le délai n’a pas expiré. Une désactivation (cause 8) annule une sélection en attente.
Que signifie une confirmation d’activation en IEC 60870-5 ?
La cause de transmission 7 est la réponse de la station distante à une commande. Avec P/N à zéro, elle l’a acceptée ; avec P/N activé, elle l’a refusée. Elle ne dit pas si l’équipement a bougé et un refus ne comporte aucun code de motif.
Qu’est-ce que la fin d’activation ?
Avec la cause de transmission 10, la station distante indique avoir terminé l’exécution de la commande. Ce message est facultatif et son usage est défini par point dans la liste d’interopérabilité.
Pourquoi l’état du disjoncteur arrive-t-il avec la cause 3 plutôt que 11 ?
La cause 11 désigne un changement dû à une commande distante, mais toutes les stations ne l’associent pas à la commande. Beaucoup l’émettent comme changement spontané ordinaire avec la cause 3. Associez-le au point et à une fenêtre temporelle, et acceptez les deux causes.