IEC 60870-5-101 : formation complète

2
487
les systèmes de Contrôle commande numérique

Partie 1

L’IEC 60870-5-101, est une norme qui spécifie le codage et les règles d’échange de données entre deux équipements. L’équipement distant et le système SCADA, ou un autre équipement constitue le deuxième.

Dans ce qui suit, nous allons vous présenter quelques concepts importants pour bien comprendre la topologie, la structure, l’adressage et l’ordre des informations selon la norme IEC 60870-5-101.

Topologie du protocole IEC 60870-5-101

Le protocole IEC 60870-5-101, supporte les liaisons de communication point-à-point et multipoints transportant des données en série. Il offre le choix d’utiliser un mode de communication symétrique ou asymétrique au niveau de la couche de liaison de données.

Dans le cas d’une communication en mode asymétrique, seul le maître peut initier des communications en transmettant des trames primaires. Cela simplifie la conception du système car il n’est pas nécessaire de prendre en charge la gestion des collisions. Toutes les communications sont initiées par des demandes de la station maître ; par exemple le maître demande des données utilisateur (états binaires et analogiques…) si elles sont disponibles au niveau de la station esclave.

La communication en mode symétrique, est supportée par IEC 60870-5-101, mais elle est limitée uniquement aux liaisons point-à-point. Par conséquent, si le IEC 60870-5-101 peut prendre en charge les messages non sollicités d’un esclave, il ne peut pas le faire pour une topologie multipoint et doit utiliser un système d’interrogation cyclique pour interroger les stations secondaires.

Mode asymétrique – adapté aux liaisons multipoints :

  • Seul le maître peut envoyer des trames primaires
  • La gestion des collisions n’est pas nécessaire
  • La fonction de la couche de liaison de données esclave est plus simple

Mode symétrique – limité aux liaisons point-à-point uniquement :

  • Chaque équipement peut initier un dialogue
  • Une meilleure efficacité dans l’utilisation des systèmes de communication
  • Problèmes de collision car les deux stations peuvent émettre simultanément. La gestion des collisions est nécessaire.

Selon la norme IEC 60870-5, il existe une structure hiérarchique assumée, de sorte que pour deux stations qui communiquent entre eux, l’une est la station de contrôle et l’autre est la station contrôlée. Il existe également une « direction de surveillance » et une « direction de contrôle » définies. Ainsi, les données surveillées telles que les valeurs analogiques du site surveillé sont envoyées dans la direction de surveillance, et les commandes sont envoyées dans la direction de contrôle. Si une station envoie à la fois des données de surveillance et des commandes, elle agit à la fois comme une station contrôlée et une station de contrôle. Ceci est défini comme un fonctionnement bi-mode. Il est supporté par le protocole, mais nécessite l’utilisation des adresses de l’expéditeur (originator addresse) dans l’ASDU.

Structure des messages IEC 60870-5-101

La structure du message selon la norme IEC 60870-5-101 est composée d’une trame de la couche de liaison de données portant l’adresse de la liaison et des informations de contrôle, d’un drapeau pour indiquer si des données de classe 1 sont disponibles, et de données d’application facultatives. Chaque trame peut porter au maximum une unité de données de service d’application, ou ASDU.

La figure suivante illustre la structure de la trame de la couche de liaison de données et la structure de l’ASDU de la couche application qu’elle transporte.

La structure du message selon la norme IEC 60870-5-101
Figure 1 : La structure du message selon la norme IEC 60870-5-101

Dans le cas où les données de l’utilisateur ne sont pas requises dans la trame, il est possible d’utiliser soit une trame de longueur fixe, soit un accusé de réception à un seul caractère.  Ces méthodes permettent une utilisation efficace de la bande passante du support de communication.

trame de longueur fixe et trame à un seul caractère de contrôle
Figure 2 : trame de longueur fixe et trame à un seul caractère de contrôle

Adressage selon IEC 60870-5-101

Selon la norme IEC 60870-5-101, l’adressage se fait à la fois au niveau liaison et application. Le champ d’adresse de la liaison (link address) peut être de 1 ou 2 octets pour les modes de communications asymétriques, et de 0, 1 ou 2 octets pour les modes de communications symétriques. Comme les communications symétriques sont point-à-point, l’adresse de la liaison est redondante, mais peut être incluse pour des raisons de sécurité. L’adresse du liaison FF ou FFFF est définie comme une adresse de diffusion, et peut être utilisée pour adresser toutes les stations au niveau de la liaison.

Au niveau de l’application, l’ASDU contient une adresse commune de 1 ou 2 octets. Celle-ci est définie comme l’adresse de la station de contrôle dans la « direction de contrôle« , et l’adresse de la station contrôlée dans la « direction de surveillance« . L’adresse commune de l’ASDU combinée à l’adresse de l’objet d’information (IOA) contenu dans les données elles-mêmes se combinent pour former l’adresse unique de chaque élément de données.

Comme pour le DNP, il peut y avoir plusieurs adresses logiques ou communes par appareil. Comme pour la couche liaison, l’adresse FF ou FFFF est définie comme une adresse de diffusion. Par conséquent, pour envoyer un message de diffusion, il est nécessaire d’inclure cette adresse à la fois dans les champs d’adresse de liaison de données et d’application.

En option, les adresses de l’expéditeur (originator addresses) peuvent également être transportées dans l’ASDU, pour chaque système. Ceci constitue une partie optionnelle du champ de la cause de la transmission.

L’adresse de l’objet d’information (IOA) a une longueur de 1 à 3 octets et peut être fournie soit une seule fois dans un ASDU, soit pour chaque objet d’information séparé dans un ASDU. Cela permet une transmission efficace de blocs d’informations séquentielles.

Format de trame utilisé par IEC 60870-5-101

Le format de trame utilisé par IEC 60870-5-101 est appelé format FT1.2. Il existe deux formes, l’une de longueur fixe et l’autre de longueur variable. La trame de longueur fixe est réservée aux trames ne contenant pas de données utilisateur, et n’est donc utilisée que pour les trames de commande de contrôle de liaison de données et d’acquittement. En plus des trames de longueur fixe et variable, il existe une trame d’ « un caractère de contrôle » qui consiste en un octet unique. Elle ne peut être utilisée que pour l’acquittement.

séquence binaire d'un trame IEC 60870-5-101-01
Figure 3 : séquence binaire d’une trame IEC 60870-5-101

La figure 3 montre la configuration binaire réelle qui serait vue sur le canal physique, interprétée de gauche à droite. Cette représentation inclut les bits de départ et d’arrêt qui sont transmis avec chaque octet ou byte de la trame. La figure 4 illustre la construction globale de la trame. Elle ne représente pas la configuration binaire, mais montre uniquement le contenu de l’information par octet ordonne suivant la norme IEC 60870-5-101.

Les formats des trames utilisées par IEC 60870-5-101
Figure 4 : Les formats des trames utilisés par IEC 60870-5-101

Les points suivants sont à noter à propos des trames de liaison de données :

  • Seule la trame de longueur variable peut transporter des données d’utilisateur.
  • La trame de longueur variable peut transporter jusqu’à 253 octets de données utilisateur.
  • La longueur L est répétée deux fois, et les deux valeurs de L doivent être égales pour que la trame soit acceptée comme valable.
  • La longueur maximale de la trame est de 261 octets. Toutefois, utilisation d’une longueur de trame inférieure à la longueur maximale peut être spécifiée par un fabricant ou par l’utilisateur du système en tant que paramètre.
  • La trame de longueur fixe est de 5 ou 6 octets.
  • Le champ d’adresse A peut-être de 1 ou 2 octets, déterminé par un paramètre fixe du système.
  • Une adresse de diffusion est définie comme 0xFF ou 0xFFFF pour les adresses de 1 et 2 octets respectivement.

Ordre des informations

Un détail technique qui peut être difficile à trouver dans la norme IEC 60870-5-101 est l’ordre des bits et des octets. Selon la norme IEC 60870-5, comme pour le DNP3, l’ordre suivant est standard.

Les bits sont transmis en commençant par l’octet le moins significatif (LSB) et en terminant par l’octet le plus significatif (MSB). Lorsqu’une représentation de la séquence de bits est donnée, les bits sont affichés dans cet ordre. Cependant, lorsque la structure d’un message en termes d’octets ou de bits est représentée, le MSB est à gauche et le LSB à droite, ce qui est cohérent avec la pondération numérique des bits. Une bonne façon de résoudre mentalement ce problème est d’envisager que l’octet soit déplacé vers la droite d’un registre UART vers le canal de communication.

De même pour les octets, l’octet le moins significatif (LSB) est transmis en premier, et l’octet le plus significatif (MSB) est transmis en dernier.

Ordre des informations
Figure 5 : ordre des informations

Partie 2

Dans le présent article, je vous propose de découvrir quelques concepts importants pour la compréhension du fonctionnement des procédures de transmission de la couche de liaison selon la norme IEC 60870-5-101. Ensuite, nous examinerons ensemble le fonctionnement détaillé de la couche de liaison, en fonction de ces concepts.

Pour commencer, les concepts qui seront abordés sont les suivants :

  • Station primaire et secondaire
  • Mode symétrique et asymétrique
  • Services de la couche liaison
  • Initialisation de la liaison
  • Procédures de transmission

Station Primaire et secondaire selon IEC 60870-5-101

Selon la norme IEC 60870-5-101, les termes primaire et secondaire font référence à la capacité d’une station à initier des communications sur un canal de communication. Seule une station primaire peut initier des communications. Les stations secondaires doivent attendre d’être interrogées par la station primaire avant de pouvoir transmettre des données. Plus précisément, ces termes sont appliqués aux ports de communication individuels des stations, car dans un système hiérarchique, une station intermédiaire sera à la fois une station contrôlée et une station de contrôle. Ceci est illustré dans la figure 1 qui montre une configuration de réseau hiérarchique avec des ports primaires et secondaires marqués P et S.

Station Primaire et secondaire
Figure 1 : station primaire et secondaire IEC 60870-5-101

En effet, la figure 1 montre aussi que la RTU 3 est à la fois une station de contrôle et une station contrôlée. Notez bien que chacune des deux liaisons de communication ne possède qu’une seule station primaire.

Mode de transmission symétrique et asymétrique

Les termes transmission asymétrique et transmission symétrique sont directement liés aux termes primaire et secondaire. La transmission asymétrique fait référence à la configuration dans laquelle la station de contrôle agit comme une station primaire sur la liaison, et une ou plusieurs stations contrôlées agissent comme des stations secondaires. Les stations ne sont pas en point-à-point au niveau de la liaison, et sont donc asymétriques dans leurs fonctionnalités.

C’est la situation décrite dans la figure 1 pour chacune des deux liaisons de communication. Dans cette configuration, la station de contrôle (Station Master) doit acquérir les données des stations contrôlées en interrogeant chacune d’entre elles à tour de rôle pour obtenir des données. Cela est dû au fait qu’ils ne peuvent pas lancer de transmissions de leur côté. L’avantage d’une communication asymétrique est qu’il n’y a pas de possibilité de collision entre les stations contrôlées qui tentent de transmettre des informations en même temps.

La transmission symétrique fait référence à la configuration dans laquelle toute station sur une liaison peut agir comme une station primaire, ce qui signifie qu’elle peut initier des communications. Cette configuration est également connue sous le nom de communications point-à-point.

Selon la norme IEC 60870-5-101, seules les liaisons point-à-point (c’est-à-dire à deux stations) peuvent être symétriques. Les liaisons multipoints doivent être asymétriques. Et c’est le contraire pour le DNP3, qui n’utilise que la transmission symétrique et doit donc disposer de procédures pour surmonter les collisions qui peuvent se produire lorsque plus d’une station externe entament les communications simultanément.

Une liaison de communication symétrique est illustrée à la figure 2. Dans ce cas, une station maître est connectée à une station sous-maître par une liaison point à point. Il est à noter que chaque station peut basculer en mode primaire et en secondaire aux ports de cette liaison. On peut en fait considérer qu’il s’agit de deux processus distincts à l’intérieur de chaque station, ce qui est en fait la façon dont ils sont logiquement à l’intérieur des stations. La station A a un mode primaire en plus d’un mode secondaire fonctionnant simultanément pour cette liaison, et idem pour la station B.

communication symétrique
Figure 2 : communication symétrique IEC 60870-5-101

La figure 3 montre les modes primaires et secondaires de transmission asymétrique. Les modes sont représentés par des cercles identifiés comme primaires (P) ou secondaires (S). La station primaire met en œuvre le mode primaire uniquement, et les stations secondaires mettent chacune en œuvre un mode secondaire uniquement. Notez qu’en fait, il existe un lien logique distinct pour chaque station secondaire et il est nécessaire que la station primaire conserve un enregistrement de l’état de chaque lien.

les modes de transmission asymétrique
Figure 3 : les modes de transmission asymétrique IEC 60870-5-101

La figure 4 montre les processus de transmission symétrique. Dans ce cas, il y a un mode primaire et un mode secondaire pour chaque station.

les modes de transmission symétrique
Figure 4 : les modes de transmission symétrique IEC 60870-5-101

Les services de la couche de liaison

Le terme « services » est utilisé pour décrire la fonction de la couche de liaison, qui fournit des services spécifiques à l’utilisateur, qui est la couche d’application, et qui sert à effectuer la transmission des données. Il existe trois principaux types de services fournis par la couche de liaison de données, portant les noms suivants :

  • Envoi/sans réponse
  • Envoi/avec confirmation
  • Demande/réponse

Le service d’envoi/sans réponse est utilisé pour envoyer un message ou une commande pour laquelle aucune réponse n’est requise de la part de la station destinataire. Il est utilisé pour l’envoi de messages diffusés et pour les messages pour lesquels la confirmation de réception n’est pas importante. Le service d’envoi/avec confirmation est utilisé pour envoyer une commande ou des données qui doivent être transmises de manière fiable. Pour ce service, une réponse de confirmation est requise. Le service de demande/réponse est utilisé pour obtenir des données de la station contrôlée. Dans ce cas, la station contrôlée ne répond pas avec une confirmation, mais avec les données requises.

Ces services sont illustrés dans la figure 5. Celle-ci montre la couche de liaison de deux stations sur un canal de communication, et un diagramme de séquence temporelle des interactions entre les services. De chaque côté sont indiquées les commandes, les données et les réponses qui sont transmises entre la couche liaison et l’utilisateur du service, qui est la couche application. Ces éléments sont appelés « primitives de service ». Au centre, la transmission du message est étiquetée avec le nom de la procédure de transmission.

les service de la couche liaison
Figure 5 : les service de la couche liaison

Les procédures de transmission sont un ensemble de règles qui garantissent que les transmissions sont effectuées avec succès en réponse aux demandes des utilisateurs de la liaison. Elles doivent pouvoir faire face à des erreurs sur le canal de transmission qui peuvent introduire des erreurs ou entraîner la perte d’informations. Les procédures de transmission sont différentes pour les liaisons asymétriques et symétriques, et sont décrites pour chacune d’entre elles dans les paragraphes suivants.

Initialisation de la liaison IEC 60870-5-101

L’initialisation de la liaison IEC 60870-5-101 est un service de la couche liaison de données effectué après qu’une station ait été mise hors ligne et devienne en ligne à nouveau. Pendant que la station esclave est hors ligne, le maître envoie périodiquement des fonctions de demande d’état de liaison jusqu’à ce qu’un état de réponse de liaison soit obtenu. Les séquences sont indiquées ci-dessous pour les modes symétriques et asymétriques.

Initialisation de la liaison, mode asymétrique :

  • Le maître envoie une demande d’état de la liaison jusqu’à ce que l’état de la liaison soit reçue
  • Le maître envoie une réinitialisation de la liaison
  • Le lien est actif dès réception de l’ACK
  • L’esclave génère un événement complet d’initialisation de la station

Initialisation de la liaison, mode symétrique :

  • Chaque station envoie une demande d’état de la liaison jusqu’à ce que l’état de la liaison soit reçuef
  • Chaque station envoie une réinitialisation de la liaison
  • La liaison est active dès réception de l’ACK à chaque station
  • L’un ou les deux peuvent générer un événement complet d’initialisation de la station

Procédures de la transmission asymétriques

Des procédures de transmission asymétriques sont requises pour les liaisons autres que point à point, qui sont des liaisons multipoints. Pour ces liaisons, la station de contrôle doit contrôler le trafic de données en interrogeant les postes extérieurs pour obtenir des données. Ce n’est que lorsque la station de contrôle ou la station primaire d’une liaison interroge une station secondaire particulière que celle-ci peut répondre.

Photo de Guruxoox de Canva.com

2 Commentaires

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici