DNP3-Protokoll: Architektur, Funktion, Funktionscodes, Datenformat und seine Anwendungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Das DNP3 oder Distributed Network Protocol3 wurde 1992 von einem japanischen Unternehmen eingeführt, um ein Protokoll für die Kommunikation zwischen verteilten Systemen zu etablieren. DNP3 ist ein netzwerkbasiertes Gerätesteuerungsprotokoll, das für die Kommunikation zwischen einem Gerät und einem entfernten Eingabe-/Ausgabegerät verwendet wird. Dieses Protokoll hängt hauptsächlich von einem objektorientierten Modell ab, das die Datenbitzuordnung verringert, die normalerweise von anderen weniger objektorientierten Protokollen benötigt wird. Es wird hauptsächlich zwischen zentralen Hauptstationen sowie verteilten entfernten Einheiten verwendet, wobei die zentrale Hauptstation einfach als Schnittstelle zwischen dem menschlichen Netzwerkmanager und dem Überwachungssystem fungiert. Die verteilte entfernte Einheit ist die Schnittstelle zwischen der Hauptstation und dem physikalischen Gerät, das in den entfernten Bereichen beobachtet und gesteuert wird. Der Datenaustausch zwischen diesen beiden kann durch die gemeinsame Objektbibliothek erfolgen. Dieser Artikel gibt einen Überblick über die DNP3-Protokoll – Arbeiten mit Anwendungen.


Was ist das DNP3-Protokoll?

Der Satz von Kommunikationsprotokollen, die zwischen verschiedenen Komponenten innerhalb von Prozessautomatisierungssystemen verwendet werden, ist als DNP3-Protokoll bekannt. Dieses Protokoll wurde hauptsächlich für Kommunikationszwecke zwischen verschiedenen Arten von Datenerfassungs- und Steuerungsgeräten entwickelt. Also rein SCADA-Systeme , spielt dieses Protokoll eine wesentliche Rolle, wenn es von RTUs, SCADAs und IEDs verwendet wird.



DNP3-Protokollarchitektur und ihre Funktionsweise

Das DNP3 ist ein verteiltes Netzwerkprotokoll der dritten Version. Es hat eine Integritätsabfrage und drei Abfrageebenen, wobei die Integritätsabfrage verwendet wird, um die Daten bei einer Abfrage abzurufen.

  DNP3-Protokollarchitektur
DNP3-Protokollarchitektur

Die DNP3-Netzwerkarchitektur kann Unicast-, Multidrop- und Datenverbindungs-/hierarchische Architekturen sein.



Die Unicast-Architektur: wird auch als Eins-zu-eins-Architektur bezeichnet, hier kann die Masterstation nur mit einer Außenstation kommunizieren, während in Multidrop-Architektur die Masterstation kann mit mehr als einem Außenstationsgerät kommunizieren, was bedeutet, dass sie mit mehreren Außenstationsgeräten kommunizieren kann. Die Datenverbindungs-/hierarchische Architektur ist eine Kombination aus Multidrop- und Unicast-Architekturen.

Das DNP3-Kommunikationsprotokoll wird häufig für Stromversorgungs-, Wasser- und Abwasser-, Öl- und Gas-, Transport- und andere SCADA-Umgebungen verwendet. Es ermöglicht Ihnen, wichtige Werte in Echtzeit und historisch anzuzeigen, z. B. Temperatur, Luftfeuchtigkeit, Batteriestand, Spannung, Kraftstoffstand usw. Es ermöglicht Ihnen auch, Probleme zu erkennen und schnell zu beheben, und Sie können auch Engpässe beseitigen und Ineffizienzen.

Der Entwurf des DNP3-Protokolls kann basierend auf den Schichten des OSI-Modells wie Datenverbindungs-, Transport-, Anwendungs- und Benutzerschicht erfolgen. Dieses Protokoll bietet die Flexibilität, einen einzelnen Master über mindestens eine oder mehr Außenstationen über serielle sowie physische Ethernet-Medien zu verbinden.
Andere mögliche Architekturen umfassen hauptsächlich verschiedene Master-Verbindungen mit einer einzelnen Außenstation und Peer-to-Peer-Operationen. Normalerweise startet der Master Steuerbefehle, um Daten von Geräten anzufordern oder Geräte zu aktivieren, die über die Außenstation verwaltet werden. Diese Außenstation reagiert einfach auf den Master, indem sie geeignete Informationen sendet.

  DNP3-Protokollschichten
DNP3-Protokollschichten

Basierend auf dem OSI-Modell umfasst das DNP3-Protokoll vier Schichten Data Link, Transport Function, Application & User Layer. Hier macht die Datenverbindungsschicht unten die physikalische Verbindung durch Adressierung und Fehlererkennung zuverlässiger. Die Transportfunktion setzt einfach Frames der Sicherungsschicht in Fragmente der Anwendungsschicht zusammen. Diese Schicht nimmt die gesamte Nachricht auf und gibt an, welche Daten der obigen Benutzerschicht vorgezogen werden. Jede Nachricht kann mehrere Datentypen wie analoge, binäre und Zählereingänge und -ausgänge haben.

Wie funktioniert das DNP3-Protokoll?

Das DNP3-Protokoll funktioniert einfach, indem es 27 grundlegende Funktionscodes verwendet, um die Kommunikation zwischen Master-Stationen und Remote-Einheiten zu ermöglichen. Einige Funktionscodes ermöglichen es dem Master, den Zustand von Informationen von einem entfernten Gerät anzufordern und zu erhalten, und andere Funktionscodes ermöglichen dem Master, die Konfiguration der entfernten Einheit zu entscheiden oder zu korrigieren.

Mehrere Funktionscodes werden hauptsächlich in der DNP3-Masterstation zur Steuerung des Geräts oder der Remote-Einheit an entfernten Standorten verwendet. Die DNP3-Masterstation gibt den größten Teil der Kommunikation an das Remote-Gerät von DNP3 aus. Aber die unaufgeforderte Nachricht (o/p-Nachricht) wird durch eine entfernte Einheit initiiert und erzeugt einen Alarm. Damit diese Nachricht den Master alarmiert, sobald ein Alarm auftritt.

Funktionscodes

Die Funktionscodes von DNP3 umfassen Folgendes.

Funktionscode

Beschreibung

0x00

Funktionscode bestätigen.

0x01

Funktionscode lesen.
0x02

Funktionscode schreiben.

0x03

Funktionscode auswählen.

0x04

Funktionscode ausführen.

0x05

Funktionscode für Direktbetrieb

0x0d

Funktionscode für Kaltstart

0x0e

Funktionscode Warmstart

0x12

Anwendungsfunktionscode stoppen

0x1b

Dateifunktionscode löschen

0x81

Antwortfunktionscode

0x82

Unaufgeforderter Antwortfunktionscode

DNP3-Nachrichtenformat

Die Nachrichtenformatstruktur von DNP3 ist unten dargestellt. Wenn wir diese Struktur untersuchen, können wir beobachten, dass die Nachrichten zwischen Mastern und Remotes ausgetauscht werden. Das serielle Telemetrieprotokoll (TBOS) ist byteorientiert, indem ein einzelnes Byte zur Kommunikation ausgetauscht wird.

Erweiterte serielle Telemetrieprotokolle wie TABS sind paketorientiert mit Bytepaketen, die zur Kommunikation ausgetauscht werden. Diese Pakete enthalten normalerweise Header-, Daten- und Prüfsummenbytes. Das DNP3-Protokoll ist paketorientiert und verwendet die Paketstruktur, die in der folgenden Abbildung dargestellt ist.

  Nachrichtenformat von DNP3
Nachrichtenformat von DNP3

Im obigen Nachrichtenformatdiagramm ist die DNP3-ASDU (Application Service Data Unit) wertvoll für die Anpassung von cleverem Inhalt, der sowohl durch Qualifier als auch durch indexSize-Felder gesteuert wird. Dieses Design macht also Anwendungsdaten innerhalb flexibler Konfigurationen zugänglich.

Lassen Sie uns nun besprechen, wie die Daten speziell im geschichteten Kommunikationsmodell ausgetauscht werden.
Die Anwendungsschicht im obigen Diagramm kombiniert eine ASDU (Application Service Data Unit) und ein gepacktes Objekt durch einen APCI-Block (Application Protocol Control), um eine APDU (Application Protocol Data Unit) zu erstellen.

Die Transportschicht zerlegt die Anwendungsdienstdateneinheit oder APDU in verschiedene Segmente mit einer maximalen Größe von 16 Bytes und verpackt sie durch einen 8-Bit-Transportsteuerkopf und 16-Bit-Segment-CRC-Trennzeichen in einen Transportrahmen.

Die Verbindungsschicht wird auf das 4-Schichten-Modell abgebildet, das durch das DoD (Department of Defense) entwickelt wird, indem die Internetschicht des DoD weggelassen wird. Wenn der serielle Transport verwendet wird, wird die Paketzusammenstellung durchgeführt und auf dem Transportmedium für die Lieferung angeordnet.

Wenn das Paket über ein LAN oder WAN übertragen wird, werden 3 DNP3-Schichten in die erste Schicht hochgerollt. Das zusammengesetzte Paket kann innerhalb des TCP (Transport Control Protocol) durch die Transportschicht verpackt werden, das innerhalb des IP (Internet Protocol) durch die Internetschicht verpackt wird. Das UDP (User Datagram Protocol) kann ebenfalls verwendet werden, bringt jedoch einige zusätzliche Probleme mit sich, die mit einer zuverlässigen Lieferung in gepackten Netzwerken verbunden sind.

DNP3-Datenformat

DNP wird ausgiebig zur Steuerung der zwischen der Zentralstation und den Steuereinheiten ausgetauschten Nachrichten verwendet. Das Datenformat von DNP3 umfasst hauptsächlich zwei Abschnitte, den Header und die Datenabschnitte. Weiterhin ist der Header in sechs Unterabschnitte unterteilt.

  DNP3-Datenformat
DNP3-Datenformat

Das Format des Datenrahmens und die erforderliche Größe jedes Felds ist in der obigen Abbildung dargestellt. In diesem Diagramm ist Sync das erste Feld, das 1 Byte groß ist und den Beginn des Frames angibt.
Dieser Feldwert ist fest auf 0564 eingestellt, so dass, sobald ein Rahmen empfangen wird, indem die Position des Sync-Felds untersucht wird, die Abbildung effizient durchgeführt werden kann.

Die Feldlänge stellt die gesamte Rahmenlänge bereit, so dass am Ziel ein bestimmter Puffer zugewiesen werden kann, um die eingehenden Rahmen zu halten. Der zweite Rahmen ist also das „Steuerfeld“, das die erforderliche Steueraktion beschreibt, die auf der Empfängerseite abgefragt werden muss.

Das Steuerfeld enthält den Hex-Wert 41, ansonsten 42, je nach Aktionstyp. Danach liefern das Ziel- und das Quelladressfeld die beabsichtigten Empfängeradressen und den sendenden Knoten.
Der CRC oder Cyclic Redundancy Check ist das letzte Feld, das bei der Überprüfung des Rahmenfehlers hilft. Mit der Nachricht wird beim Senden ein Prüfwert verbunden, der auf der Empfängerseite gegengeprüft wird. Sobald dieser Wert übereinstimmt, gibt er das Nichtvorhandensein von Fehlern innerhalb des Rahmens an. Der Datenabschnitt umfasst 2 bis 4 Bytes, spielt jedoch keine Rolle bei der Steuerung der Nachrichtenweiterleitung.

Die obige Abbildung zeigt die Steuernachricht, die im Format DNP3 von einer Station zur anderen übertragen wird, wie die Steuerung zum Ziel. Für die Übermittlung verschiedener Aktionen an Ziele werden Felder wie das Steuerfeld sowie die Zieladresse verwendet, wobei sich einige Felder für alle Übermittlungen nicht ändern.

Beispiel eines DNP3-Überwachungssystems

Das Diagramm des DNP3-Master- und Fernüberwachungssystems ist unten dargestellt. Dieses Modell wird verwendet, um Daten zwischen zwei Geräten wie Master und Remote mit DNP3 zu übertragen.

  DNP3-Beispiel
DNP3-Prüfung das

Das Diagramm des DNP3-Masters und des Fernüberwachungssystems ist unten dargestellt. Dieses Modell wird verwendet, um Daten zwischen zwei Geräten wie Master und Remote mit DNP3 zu übertragen. Hier ist der Master der Computer und der Slave oder Remote die Außenstation. Die übertragenen Daten sind entweder statische Daten, Ereignisdaten und akzeptieren unaufgeforderte Ereignisdaten.

Das DNP3-Protokoll wird normalerweise zwischen dem Master (Computer) und der Gegenstelle (Outstation) verwendet. Hier wird der Master verwendet, um eine Schnittstelle zwischen dem menschlichen Netzwerkmanager sowie dem Überwachungssystem bereitzustellen. Die Fernbedienung stellt die Schnittstelle zwischen dem Master und den physikalischen Geräten dar, die gesteuert oder überwacht werden.

Sowohl Master als auch Remote verwenden eine gemeinsame Objektbibliothek für den Datenaustausch. Hier sind Daten Das DNP3-Protokoll ist ein abgefragtes Protokoll, das sorgfältig entworfene Funktionen enthält. Sobald die Master-Station mit einer Gegenstelle verbunden ist, kann eine Integritätsabfrage durchgeführt werden, die für die Adressierung von DNP3 sehr wichtig ist, da sie für einen Datenpunkt alle gepufferten Werte zurückgeben und auch den aktuellen Wert des Punkts enthalten.

Im Allgemeinen können die DNP3-Treiber verschiedene Abfragen routinemäßig durchführen, wie eine Integritätsabfrage, eine Klasse 1, eine Klasse 2 und eine Klasse 3. Bei der Integritätsabfrage fordert der DNP3 die Außenstation einfach auf, ihre Klasse 1, Klasse 2 und Klasse 3 zu übertragen Ereignisdaten und statische Daten der Klasse 0 in chronologischer Reihenfolge. Ein Integrity Poll wird normalerweise zum Synchronisieren der Datenbanken von DNP3-Master und -Slave verwendet und wird daher tendenziell mit einer langsamen Poll-Rate belegt. Typischerweise werden Klasse-1-, Klasse-2- und Klasse-3-Abfragen verwendet, um einzelne Klassenereignisse mit änderbaren Raten basierend auf der Wichtigkeit dieser Ereignisse wiederherzustellen. Kritischere Ereignisse werden den Klassen zugewiesen, die die schnellere Abfragerate haben.

Unterschied zwischen DNP3 und IEC 61850

Der Unterschied zwischen DNP3 und IEC 61850 umfasst Folgendes.

DNP3

IEC61850

Das DNP3-Protokoll ist eine offene Industriespezifikation. Die IEC 61850 ist der IEC-Standard.
Die DNP-Benutzergruppe ist die Standardorganisation des DNP3-Protokolls. Die Internationale Elektrotechnische Kommission ist die Standardorganisation der IEC 61850.
Das DNP3-Protokoll ist eine Architektur mit vier Schichten und unterstützt auch sieben Schichten TCP/IP oder UDP/IP. Die Kommunikation in einem IEC 61850-Protokoll basiert auf dem OSI-Modell .
DNP3, GOOSE, HMI, IEC, RTU und SCADA sind die gebräuchlichen Begriffe des IEC 61850-Kommunikationsprotokolls. Das intelligente Gerät (IED), das logische Gerät und der logische Knoten, das Datenobjekt und das Datenattribut sind die Ebenen, die das hierarchische Informationsmodell einer IEC 61850 definieren
Die Vorteile der dritten Version des verteilten Netzwerkprotokolls sind, dass keine Protokollübersetzer benötigt werden, Wartung, Tests und Schulungen weniger Zeit in Anspruch nehmen, eine einfache Systemerweiterung und eine lange Produktlebensdauer. Die Vorteile des IEC 61850-Protokolls sind die niedrigen Erweiterungskosten, Integrationskosten, Gerätemigrationskosten und Installationskosten.

Unterschied zwischen DNP3 und Modbus

Der Unterschied zwischen DNP3 und Modbus umfasst Folgendes.

DNP3

Modbus

Das verteilte Netzwerkprotokoll wurde 1993 von Harris entwickelt. Das Modbus-Protokoll wurde 1979 von Modicon entwickelt
Das verteilte Netzwerkprotokoll verwendet Bits. Das Modbus-Kommunikationsprotokoll verwendet Textbeschreibungen zum Senden der Daten.
DNP3 besteht aus drei Schichten: physische Schicht, Datenverbindungsschicht und Anwendungsschicht. Das Modbus-Kommunikationsprotokoll besteht nur aus der Anwendungsschicht
Das DNP3-Protokoll unterstützt mehrere Slaves, mehrere Master und Peer-to-Peer-Kommunikation. Das Modbus-Protokoll unterstützt nur Peer-to-Peer-Kommunikation.
Die im DNP3-Protokoll erforderlichen Konfigurationsparameter sind schlechte Rate, Fragmentgröße und Geräteadressen. Die im Modbus-Protokoll erforderlichen Konfigurationen sind Paritätsmodus, ASCII-Modus, RTU-Modus und Baudrate.

DNP3 Vor- und Nachteile

Das Vorteile des DNP3-Protokolls Ich schließe Folgendes ein.

  • DNP3 ist ein offenes Standardprotokoll, sodass jeder Designer DNP3-Geräte entwerfen kann, die gut zu anderen DNP3-Geräten passen.
  • DNP3 bietet aufgrund eines intelligenten und robusten Protokolls viele Funktionen.
  • Es kann über mehrere Datentypen innerhalb einzelner Nachrichten anfordern und antworten
  • Es ermöglicht mehrere Master- und Peer-to-Peer-Operationen
  • Es unterstützt das Standardzeitformat und die Zeitsynchronisierung.
  • Softwarekosten werden reduziert.
  • Keine Notwendigkeit für Protokollübersetzer.
  • Weniger Wartung und Prüfung.

Zu den Nachteilen des DNP3-Protokolls gehören die folgenden.

Der DNP3 verwendet eine serielle RTU und aktualisiert sie über eine Ethernet-RTU (ERTU). Wenn die Bandbreite des Kommunikationskanals zu dieser Station nicht ebenfalls erhöht wird, dann hat der Benutzer eine langsamere Verbindung aufgrund des Overheads, der beim Umschließen des DNP3 durch TCP/IP implementiert wird.

DNP3-Anwendungen

Das DNP3-Anwendungen füge folgendes hinzu.

  • DNP3 ermöglicht die Kommunikation verschiedener Geräte innerhalb von Prozessautomatisierungssystemen.
  • Verschiedene Versorgungsunternehmen verwenden dieses Protokoll in großem Umfang für Gas-, Elektro- und Wassertelemetriesysteme.
  • Es wird in der SCADA-Kommunikation verwendet.
  • Das DNP3-Kommunikationsprotokoll wird in Fern- und SCADA-Überwachungssystemen verwendet.
  • Dies ist in der gesamten SCADA-Umgebung anwendbar, die von der Master- bis zur Remote- und RTU- bis zur IED-Kommunikation und auch in Netzwerkanwendungen reicht.

Es geht also um alles eine Übersicht über das DNP3-Protokoll – Arbeiten mit Anwendungen. Das DNP3-Protokollspezifikation hängt hauptsächlich vom Objektmodell ab. Dieses Modell verringert also einfach die Datenbitzuordnung, die normalerweise bei anderen weniger objektorientierten Protokollen erforderlich ist. Für SCADA-Techniker und -Ingenieure wird das Vorhandensein einiger vordefinierter Objekte das DNP3-Design- und Bereitstellungs-Framework komfortabler machen. Hier ist eine Frage an Sie, was ist das Protokoll?