L’utilisation de communications Standard ouvertes pour le Contrôle de supervision et l’Acquisition de données (SCADA) est bien établie dans un nombre croissant de secteurs des services publics et de l’industrie à travers le monde. Cela a apporté des avantages significatifs dans le déploiement et l’exploitation du système.
DNP3 est l’une des normes ouvertes SCADA les plus réussies adoptées à travers le monde. En particulier, le secteur de l’eau a adopté le DNP3 pour les communications SCADA à grande échelle. L’utilisation du DNP3 dans les secteurs du gaz et du pétrole a également gagné du terrain.
Concept de DNP3
DNP3 est un terme généralement mal compris auquel vous avez peut-être entendu parler des systèmes SCADA et de télémétrie.
Nous avons inclus quelques informations ici pour essayer de démystifier DNP3 pour ceux qui ne sont pas aussi avertis techniquement avec les systèmes de télémétrie. DNP signifie Protocole réseau distribué.
Tout d’abord, nous allons utiliser l’analogie de deux humains communiquant afin d’aider à comprendre où se situe DNP3.
Lorsque nous communiquons entre nous, nous pouvons utiliser une grande variété de supports de communication différents tels qu’un talkie-walkie ou une radio bidirectionnelle, une ligne téléphonique fixe, une ligne téléphonique mobile ou peut-être sur Internet en utilisant skype ou similaire. Bien que le support que nous utilisons puisse changer, il nous sera nécessaire de communiquer dans la même langue, c’est-à-dire l’anglais.
Lorsque nous parlons de communiquer autour de nos systèmes SCADA et de télémétrie, nous pouvons également utiliser différentes méthodes de communication comme le câble Ethernet, la radio et les systèmes téléphoniques publics, tout comme lorsque deux humains communiquent.
Dans ce cas, nous devons également utiliser la même langue et la langue que nous utilisons couramment est DNP3.
Ainsi, lorsque quelqu’un fait référence à DNP3, il fait référence aux périphériques linguistiques et aux machines SCADA et non au support de communication qu’ils utilisent, comme la radio.
C’est une idée fausse courante pour les personnes qui ne sont pas techniquement claires sur DNP3 et j’espère que cette analogie éclaircira les choses.
DNP3
DNP3 (Distributed Network Protocol) est un groupe de protocoles. Il joue un rôle important dans les systèmes SCADA, où il est utilisé entre les composants du système. Le protocole a été spécifiquement développé pour que les RTU puissent se parler
DNP3 est basé sur un modèle d’objet qui réduit considérablement le mappage de bits de données traditionnellement requis par d’autres protocoles moins orientés objet. Il réduit également la grande disparité des paradigmes de surveillance et de contrôle de l’état que l’on trouve généralement dans les protocoles qui ne fournissent pratiquement aucun objet prédéfini.
Les puristes de ces protocoles alternatifs insisteraient sur le fait que tout objet requis peut être « construit » à partir d’objets existants.
Cependant, le fait d’avoir des objets prédéfinis fait de DNP3 un cadre de conception et de déploiement un peu plus confortable pour les ingénieurs et les techniciens SCADA.
DNP3 (Distributed Network Protocol) est un ensemble de protocoles de communication utilisés entre les composants des systèmes d’automatisation des processus. Son utilisation principale est dans les services publics tels que les entreprises d’électricité et d’eau. L’utilisation dans d’autres industries n’est pas courante.
Il a été développé pour les communications entre différents types d’équipements d’acquisition et de contrôle de données. Il joue un rôle crucial dans les SCADAsystems, où il est utilisé par les Stations Maîtresses SCADA (Centres de contrôle), les Unités Terminales Distantes (RTU) et les Appareils Électroniques Intelligents (EEI). Il est principalement utilisé pour les communications entre une station principale et des RTU ou des EEI.
ICCP, le Protocole de communication du Centre de contrôle Inter (faisant partie de la norme CEI 60870-6), est utilisé pour les communications de stations inter-maîtres.
Qu’est-ce que DNP3?
DNP3 est un protocole de communication utilisé dans les systèmes SCADA/ « télésurveillance ». Il est devenu très populaire parce qu’il est « ouvert ». Tout fabricant peut développer un équipement DNP3 compatible avec d’autres équipements DNP3.
DNP3 utilise un modèle Maître/distant.
DNP3 est généralement utilisé entre les maîtres centraux etles notes qui sont largement répandues. Le maître (pensez « Centre d’exploitation ») relie l’humain (vous) et le système de surveillance. La télécommande (pensez « sous-station ») fournit l’interface entre le maître et le(s) dispositif(s) réel(s) surveillé(s) ou contrôlé(s).
Le maître et la télécommande utilisent tous deux une bibliothèque d’objets communs pour échanger des données. Le protocole DNP3 peut être utilisé de manière fiable sur des supports susceptibles d’être sujets à des interférences bruyantes.
DNP3 est un protocole SCADA moderne ouvert, intelligent, robuste et efficace. Il peut
- demander et répondre avec plusieurs types de données dans des messages uniques,
- segmenter les messages en plusieurs trames pour assurer une excellente détection et récupération des erreurs,
- inclure uniquement les données modifiées dans les messages de réponse,
- attribuer des priorités aux éléments de données et demander des éléments de données périodiquement en fonction de leur priorité,
- répondre sans demande (non sollicitée),
- prend en charge la synchronisation de l’heure et un format d’heure standard,
- autorise plusieurs masters et opérations peer-to-peer,
- et autorise des objets définissables par l’utilisateur, y compris le fichier transfert.
Comment les éléments DNP3 communiquent-ils ?
DNP3 utilise 27 codes de fonction de base pour échanger des données entre les maîtres (pensez « Centre de contrôle ») et les télécommandes (pensez « cour de pompe »). Certains de ces codes de fonction permettent à un maître de demander et de recevoir des informations d’état d’une télécommande. D’autres codes de fonction permettent à un Maître de modifier les paramètres d’une télécommande.
D’autres codes de fonction sont définis pour un maître DNP3 pour contrôler la télécommande – ou l’engrenage à côté de la télécommande. Un code de fonction est fourni pour permettre à la Télécommande de répondre par un Message non sollicité à des événements particuliers qui se produisent dans sa zone.
Comme vous pouvez le voir, la plupart des messages sont émis par le gestionnaire DNP3. Étant donné que le message non sollicité peut être lancé par une télécommande, il est généralement utilisé pour signaler des alarmes.
Ceci avertit le maître DNP3 dès qu’une condition d’alarme se produit, au lieu d’attendre la prochaine demande.
Comprendre la bibliothèque d’objets DNP3.
Le framework DNP3 inclut une bibliothèque d’objets utilisés dans de nombreux systèmes SCADA. Cette bibliothèque est gratuite pour les membres du groupe d’utilisateurs DNP. Visite www.dnp.org pour plus. Ces objets standard incluent des entrées binaires. Ceux-ci signaleront des choses qui ont deux états; l’alimentation est allumée ou éteinte, un panneau d’accès est ouvert ou fermé.
Un autre objet courant est une entrée analogique utilisée pour signaler des éléments ayant une plage de valeurs. La vitesse du ventilateur d’extraction peut aller de 40 à 400 tr / min. L’alimentation principale peut varier de 110 à 128 VCA.
Cette bibliothèque permet au fabricant de concevoir facilement le répondeur à distance DNP3 pour utiliser ces objets courants pour signaler aux maîtres en amont. Il permet également aux maîtres d’intégrer plus facilement les données collectées à partir de télécommandes et de les présenter pour vous.
Sans ce cadre d’objets communs, les fabricants doivent développer leur propre modèle de rapport d’état et de capacité de contrôle. Ces modèles, souvent très différents, doivent ensuite être « compilés » dans les Maîtres et convertis en une sorte d’objets communs pour une gestion efficace.
Un autre outil souvent trouvé dans ces frameworks plus « ouverts » est une interface propriétaire ou un module de traduction pour accéder et contrôler la télécommande.
Les objets de la bibliothèque DNP3 sont divisés en groupes et Variations. Par exemple, le groupe d’entrées analogiques a six variantes pour fournir des valeurs entières ou à virgule flottante de 16 ou 32 bits avec ou sans bitmap d’état.
Le groupe d’événements analogiques comporte huit variantes pour fournir des valeurs entières ou à virgule flottante de 16 ou 32 bits avec un bitmap d’état et avec ou sans horodatage.
Notez que le groupe d’événements analogiques n’inclut pas les variations sans bitmap d’état.
Comprendre la communication en couches DNP3
DNP3 utilise le modèle de communication en couches:
- La couche d’application combine plusieurs parties. C’est une unité de données de service d’application (ASDU). Ensuite, il y a l’objet empaqueté. Un bloc d’informations de contrôle de protocole d’application (APCI) est ajouté pour créer une unité de données de protocole d’application (APDU).
- La couche de transport divise l’APDU en segments d’une taille maximale de 16 octets et les combine avec un en-tête de contrôle de transport de 8 bits et des séparateurs CRC de segments de 16 bits dans un cadre de transport.
- La couche de liaison ajoute un en-tête aux informations de contrôle et d’adresse. Le paquet est maintenant prêt pour la livraison.
Ces couches peuvent être mappées sur le modèle à quatre couches développé par le ministère de la Défense (vous vous souvenez peut-être des origines d’Internet du DoD) avec la couche Internet du DoD omise.
Si le paquet est envoyé sur un réseau LAN/WAN, les trois couches DNP3 sont enroulées dans la couche application.
Le paquet assemblé est enveloppé dans le Protocole de contrôle de transport (TCP) par la couche de transport, qui à son tour est enveloppée dans le protocole Internet (IP) par la couche Internet (quelque peu évidente).
Le protocole UDP (User Datagram Protocol) peut également être utilisé, mais présente des problèmes supplémentaires liés à la diffusion fiable dans des réseaux encombrés.
La quatrième couche est la couche d’interface réseau où le paquet assemblé est réellement interfacé à une sorte de support de transport (par exemple, cuivre à paire torsadée, coaxial RG58 ou fibre).
Bien que ce modèle multicouche puisse sembler un peu déroutant, il isole efficacement les tâches de communication et aide finalement à la conception et à la mise en œuvre d’un réseau.
Traverser les couches
Pour afficher ce modèle en couches, examinons une seule demande de lecture DNP3 sur un réseau local. Le maître DNP3 veut connaître l’état de l’alimentation de la télécommande et prépare un message de demande de lecture pour cet objet.
Après avoir traversé les trois couches DNP3, le message est transmis à la couche de transport TCP/UDP. La couche de transport ajoute un bloc de données qui identifie le port maître et le port où elle s’attend à ce que le processus DNP3 distant écoute les messages. Le paquet est ensuite transmis à la couche IP.
Ici, un bloc de données contenant les adresses IP et d’accès aux médias du Maître et de la Télécommande est ajouté. Ensuite, le paquet complet est transmis à la couche d’interface réseau.
La couche d’interface réseau vérifie l’accès et la disponibilité des supports. Il place ensuite le paquet sur le support pour la transmission.
Après avoir traversé des ponts et traversé des routeurs (quelque chose comme « au-dessus de la rivière et à travers les bois ») en fonction des informations IP, le paquet arrive à la télécommande.
Ici, il traverse les mêmes quatre couches dans l’ordre opposé qu’au Maître. Tout d’abord, il est retiré du support par la couche d’interface réseau. Après avoir vérifié que le paquet est intact et valide, la couche d’interface réseau le transmet à la couche IP.
La couche IP vérifie l’accès au support et l’adresse IP et les transmet à la couche TCP/UDP où le port cible est vérifié pour les applications connectées. Si une application écoute sur le port cible, le paquet est transmis à la couche Application. Si l’application d’écoute est le processus DNP3 distant, la demande de lecture est transmise.
Il se déplace à travers ses trois couches pour vérifier la demande et voir quelles informations doivent être collectées. La réponse distante suit alors le même chemin en sens inverse pour atteindre le Maître.
Un message DNP3 traverse les couches de protocole au niveau du gestionnaire et de l’agent. Chaque couche adresse une tâche de communication spécifique.
Une aide pour le dépannage
Connaître ce modèle en couches de DNP3 facilite la recherche et la résolution des problèmes de réseau. Lorsqu’il y a un problème, vous pouvez simplement le tracer vers le bas, d’une extrémité à l’autre et de l’autre. La liaison LAN / WAN et les voyants d’état vous indiquent la couche d’interface réseau. Les demandes d’écho ICMP et les réponses (Pings) fournissent des informations concernant le bon fonctionnement de la couche IP.
Les indicateurs de traitement DNP3 peuvent être utilisés pour vérifier le passage du paquet DNP3 à travers la couche TCP/UDP et le fonctionnement de la couche Application.
Chaque étape peut être vérifiée indépendamment jusqu’à ce que toutes les étapes fonctionnent correctement pour une communication de bout en bout.
Avantages de DNP3
DNP3 Fournit le multiplexage, la fragmentation des données, etc.
DNP3 est un protocole de couche 2. Cela signifie qu’il prévoit:Multiplexage
- .
- Fragmentation des données.
- Vérification des erreurs.
- contrôle de liaison.
- Tri prioritaire.
Il fournit également des services d’adressage de couche 2 pour les données utilisateur.
DNP3 permet aux différents appareils des systèmes d’automatisation des processus de parler. Le protocole DNP3 est largement utilisé pour la télémétrie électrique, de gaz et d’eau par les entreprises de services publics. Il est également possible que DNP3 soit utilisé dans d’autres domaines, bien qu’il ne soit pas aussi courant.
Les Communications SCADA Utilisent Le Protocole DNP3.
Les systèmes SCADA utilisent le protocole DNP3 pour une utilisation entre les composants du système. Le protocole DNP3 permet la communication entre le maître du système SCADA, les RTU et les Dispositifs électroniques intelligents (EEI).
DNP3 a été développé pour répondre au besoin d’un protocole standard qui permettrait aux composants du système SCADA développés par différents fournisseurs de parler. En utilisant la norme CEI 60870-5 comme base, DNP3 a été créé en tant que protocole ouvert pour une utilisation dans ces cas.
Ce protocole était disponible pour une utilisation rapide dans les réseaux SCADA et répondait aux spécifications établies par les organisations nord-américaines.
DNP3 assure la fiabilité des communications pour les services publics.
DNP3 assure la fiabilité des communications dans les environnements difficiles des services publics. Le protocole est capable d’éviter d’être déformé par l’IEM, les composants du legacysystem et une mauvaise transmission due au format de communication de DNP3.
Bien que le protocole comporte une vérification des erreurs, DNP3 n’est pas sécurisé. C’est une considération importante lors de la planification SCADA.
Pourquoi est-il si populaire?
Il y a quelques raisons pour lesquelles le DNP3 est si puissant et couramment utilisé dans les systèmes de télémétrie:-
- C’est un standard et ouvert. Cela signifie que la « langue » est facilement disponible et que tous les périphériques DNP3 communiquent dans la même langue. Les premiers RTU communiquaient à l’aide de protocoles propriétaires, ce qui signifiait que le langage dans lequel ils communiquaient n’était connu que des autres produits fabriqués par le même fournisseur. Aujourd’hui, de nombreux appareils sont multilingues en ce sens qu’ils communiqueront en utilisant leur protocole propriétaire mais permettront également des communications en utilisant le protocole DNP3, ce qui a été fait par de nombreux fournisseurs pour permettre une mise à niveau progressive de leur réseau vers DNP3 au fil du temps.
- C’est un protocole de routage. C’est une caractéristique particulièrement importante et clé du protocole DNP3 en ce qu’il peut communiquer via différents réseaux de communication pour atteindre la destination du message. Par exemple, la machine SCADA peut être connectée à une connexion Ethernet mais la RTU peut être sur une connexion radio, DNP3 peut être acheminé de la connexion Ethernet à la connexion Radio via une RTU intermédiaire. Cela semble complexe, mais en termes simples, ce serait comme si vous parliez à votre ami via une connexion téléphonique et qu’il relayait le message à quelqu’un sur un talkie-walkie à proximité. La puissance de DNP3 est que cela peut être fait très facilement dans la plupart des RTU modernes sans avoir besoin de mappage d’E / S complexe.
- Il fait bon usage du canal de communication. DNP3 a été conçu pour pouvoir fonctionner à la fois sur les réseaux Ethernet à haut débit et les réseaux radio à faible vitesse et est très bon pour « ne communiquer que lorsque cela est nécessaire ». Par exemple, lorsqu’une pompe s’allume ou s’éteint, DNP3 enverra un message en informant le SCADA de ce changement. Les protocoles d’interrogation fixes, comme MODBUS, ne peuvent pas y parvenir car ils doivent constamment mettre à jour toutes les données par interrogation. Revenons à notre analogie humaine, ce serait comme si vous demandiez continuellement à votre ami de vous dire ce que montre le feu de circulation, dans un exemple de protocole de sondage, l’ami dirait constamment vert, vert, vert, vert puis rouge, rouge, rouge chaque seconde environ. Avec DNP3, l’ami ne vous dirait que lorsque la lumière change pour cela en utilisant beaucoup moins de bande passante.
- Beaucoup d’amis à la fois. Ce que ce point numéro 3 ci-dessus signifie, c’est que vous pouvez avoir des conversations avec de nombreux amis à la fois et c’est bien la puissance de DNP3, permettant à de nombreuses stations de pompage, sous-stations ou puits de gaz de communiquer sur le même réseau.