DNP3-protocol: architectuur, werking, functiecodes, gegevensformaat en zijn toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





Het DNP3 of Distributed Network Protocol3 werd in 1992 gelanceerd door een Japans bedrijf om een ​​protocol voor communicatie tussen gedistribueerde systemen tot stand te brengen. DNP3 is een netwerkgebaseerd apparaatbesturingsprotocol dat wordt gebruikt voor communicatie tussen een apparaat en een invoer-/uitvoerapparaat op afstand. Dit protocol is voornamelijk afhankelijk van een objectgeoriënteerd model dat de databit-mapping vermindert die gewoonlijk vereist is door andere, minder objectgeoriënteerde protocollen. Het wordt voornamelijk gebruikt tussen centrale hoofdstations en gedistribueerde externe eenheden, waarbij het centrale hoofdstation eenvoudig werkt als een interface tussen de menselijke netwerkbeheerder en het monitoringsysteem. De gedistribueerde externe eenheid is de interface tussen het hoofdstation en het fysieke apparaat dat wordt geobserveerd en bestuurd in de verre gebieden. De gegevensuitwisseling tussen deze twee kan worden gedaan door de gemeenschappelijke objectenbibliotheek. In dit artikel wordt een overzicht gegeven van de DNP3-protocol – werken met applicaties.


Wat is het DNP3-protocol?

De set communicatieprotocollen die tussen verschillende componenten binnen procesautomatiseringssystemen wordt gebruikt, staat bekend als het DNP3-protocol. Dit protocol is voornamelijk ontworpen voor communicatiedoeleinden tussen verschillende soorten data-acquisitie- en controleapparatuur. dus binnen SCADA-systemen , speelt dit protocol een essentiële rol wanneer het wordt gebruikt door RTU's, SCADA's en IED's.



DNP3-protocolarchitectuur en zijn werking

De DNP3 is een gedistribueerd netwerkprotocol van de derde versie. Het heeft één integriteitspeiling en drie pollingniveaus, waarbij de integriteitspeiling wordt gebruikt om de gegevens in één peiling te verzamelen.

  DNP3-protocolarchitectuur
DNP3-protocolarchitectuur

De DNP3-netwerkarchitectuur kan unicast-, multidrop- en dataconnector-/hiërarchische architecturen zijn.



De unicast-architectuur: is ook bekend als één-op-één-architectuur, hier kan het hoofdstation slechts met één buitenstation communiceren, terwijl in multidrop-architectuur het hoofdstation kan communiceren met meer dan één buitenstation, wat betekent dat het kan communiceren met meerdere buitenstationapparaten. De dataconnector/hiërarchische architectuur is een combinatie van multidrop- en unicast-architecturen.

Het DNP3-communicatieprotocol wordt vaak gebruikt voor elektriciteitsbedrijven, water en riolering, olie en gas, transport en andere SCADA-omgevingen. Hiermee kunt u belangrijke niveaus in realtime en historisch bekijken, zoals temperatuur, vochtigheid, batterijniveau, spanning, brandstofniveau, enz. U kunt ook problemen detecteren en de problemen snel corrigeren, en u kunt ook knelpunten elimineren en inefficiënties.

Het ontwerpen van het DNP3-protocol kan worden gedaan op basis van de lagen van het OSI-model zoals datalink, transport, applicatie- en gebruikerslaag. Dit protocol biedt de flexibiliteit om een ​​enkele master aan te sluiten via minimaal één of meer buitenstations boven seriële en fysieke Ethernet-media.
Andere mogelijke architecturen omvatten voornamelijk verschillende masterverbindingen met één buitenstation en peer-to-peer-operaties. Gewoonlijk start de master besturingscommando's om gegevens op te vragen bij of apparaten te activeren die via de buitenpost worden beheerd. Deze buitenpost reageert eenvoudig op de master door geschikte informatie door te geven.

  DNP3-protocollagen
DNP3-protocollagen

Op basis van het OSI-model omvat het DNP3-protocol vier lagen Data Link, Transport Function, Application & User Layer. Hier zal de datalinklaag onderaan de fysieke link betrouwbaarder maken door adressering en foutdetectie. De transportfunctie assembleert eenvoudig frames van Link Layer in Application Layer-fragmenten. Deze laag neemt het hele bericht en specificeert welke gegevens de voorkeur hebben boven de bovenstaande gebruikerslaag. Elk bericht kan verschillende datatypes hebben zoals analoge, binaire & teller inputs & outputs.

Hoe werkt het DNP3-protocol?

Het DNP3-protocol werkt eenvoudig door gebruik te maken van 27 fundamentele functiecodes voor communicatie tussen hoofdstations en externe eenheden. Zodat sommige functiecodes de master in staat stellen om de toestand van informatie van een extern apparaat op te vragen en te krijgen, en andere functiecodes zullen de master in staat stellen om de configuratie van de externe unit te beslissen of te corrigeren.

Verschillende functiecodes worden voornamelijk gebruikt in het DNP3-hoofdstation voor het besturen van de apparatuur of de externe eenheid op externe locaties. Het DNP3-hoofdstation geeft het grootste deel van de communicatie uit aan het externe apparaat van DNP3. Maar het ongevraagde bericht (o/p-bericht) wordt geïnitieerd via een externe eenheid en genereert een alarm. Zodat dit bericht een waarschuwing geeft aan de master zodra er een alarm optreedt.

Functiecodes

De functiecodes van DNP3 omvatten het volgende.

Functiecode:

Beschrijving

0x00

Functiecode bevestigen.

0x01

Functiecode lezen.
0x02

Schrijf functiecode.

0x03

Selecteer functiecode.

0x04

Functiecode bedienen.

0x05

Direct bedienen functiecode:

0x0d

Functiecode koude herstart

0x0e

Warme herstart functiecode

0x12

Functiecode applicatie stoppen

0x1b

Bestandsfunctiecode verwijderen

0x81

Reactie functie code

0x82

Functiecode ongevraagde reactie

DNP3-berichtindeling

De structuur van de berichtindeling van DNP3 wordt hieronder weergegeven. Als we deze structuur onderzoeken, zien we dat de berichten worden uitgewisseld tussen masters en remotes. Het seriële telemetrieprotocol (TBOS) is byte-georiënteerd door een enkele byte uit te wisselen om te communiceren.

Uitgebreide seriële telemetrieprotocollen zoals TABS zijn pakketgeoriënteerd met pakketten van bytes die worden uitgewisseld om te communiceren. Deze pakketten bevatten normaal gesproken header-, data- en checksumbytes. Het DNP3-protocol is pakketgericht en maakt gebruik van de pakketstructuur die wordt weergegeven in de volgende afbeelding.

  Berichtformaat van DNP3
Berichtformaat van DNP3

In het bovenstaande berichtindelingsdiagram is de DNP3 ASDU (Application Service Data Unit) waardevol voor de aanpassing van slimme inhoud die wordt beheerd door zowel kwalificaties als indexSize-velden. Dit ontwerp maakt applicatiegegevens dus toegankelijk binnen flexibele configuraties.

Laten we nu bespreken hoe de gegevens worden uitgewisseld, vooral in het gelaagde communicatiemodel.
De applicatielaag in het bovenstaande diagram combineert een ASDU (Application Service Data Unit) en een verpakt object door een APCI (Application Protocol Control) blok om een ​​APDU (Application Protocol Data Unit) te maken.

De transportlaag breekt de applicatieservicedata-eenheid of APDU in verschillende segmenten met een maximale grootte van 16 bytes en verpakt ze door een 8-bits transportbesturingsheader en 16-bits segment-CRC-scheidingstekens in een transportframe.

De linklaag is toegewezen aan het 4-lagenmodel dat is ontwikkeld door het DoD (Department of Defense) waarbij de DoD Internet Layer is weggelaten. Als het seriële transport wordt gebruikt, wordt de pakketassemblage gedaan en op de transportmedia geplaatst voor levering.

Als het pakket via een LAN of WAN wordt verzonden, worden 3 DNP3-lagen opgerold in de eerste laag. Het pakket dat wordt geassembleerd, kan worden verpakt in het TCP (Transport Control Protocol) via de transportlaag die is ingepakt in het IP (Internet Protocol) via de internetlaag. Het UDP (User Datagram Protocol) kan ook worden gebruikt, maar levert enkele extra problemen op die verband houden met betrouwbare levering binnen verpakte netwerken.

DNP3-gegevensindeling

DNP wordt veelvuldig gebruikt bij het regelen van het bericht dat tussen het centrale station en de controle-eenheden wordt doorgegeven. Het gegevensformaat van DNP3 omvat hoofdzakelijk twee secties, de koptekst en de gegevenssecties. Verder is de kop opgedeeld in zes subsecties.

  DNP3-gegevensindeling
DNP3-gegevensindeling

Het formaat van het dataframe en de benodigde grootte van elk veld wordt weergegeven in de bovenstaande afbeelding. In dit diagram is de Sync het eerste veld van 1 byte en specificeert het het begin van het frame.
Deze veldwaarde is vast ingesteld op 0564, dus zodra een frame is ontvangen door de Sync-veldpositie te onderzoeken, kan het in kaart brengen efficiënt worden uitgevoerd.

De veldlengte biedt de volledige framelengte, zodat een bepaalde buffer op de bestemming kan worden toegewezen om de binnenkomende frames vast te houden. Het tweede frame is dus 'Besturingsveld', dat de besturingsactie beschrijft die vereist is aan de ontvangerzijde.

Het controleveld zal hexadecimale waarde 41 bevatten, anders 42 op basis van het actietype. Daarna zullen het bestemmings- en het bronadresveld de beoogde ontvangeradressen en het verzendende knooppunt leveren.
De CRC of Cyclic Redundancy Check is het laatste veld dat helpt bij het verifiëren van de framefout. Op het moment van verzending is een controlewaarde aan het bericht gekoppeld, die aan de ontvangende kant zal worden geverifieerd. Zodra deze waarde overeenkomt, specificeert deze het niet-bestaan ​​van een fout in het frame. Het gegevensgedeelte is 2 tot 4 bytes, maar het speelt geen rol bij het controleren van het doorgeven van berichten.

De bovenstaande afbeelding toont het besturingsbericht dat wordt verzonden in het formaat van DNP3 van het ene station naar het andere, zoals controle naar bestemming. Voor de communicatie van verschillende acties naar bestemmingen, de velden zoals het controleveld en het bestemmingsadres, terwijl sommige velden niet voor alle communicatie zullen veranderen.

Voorbeeld van DNP3-bewakingssysteem

Het diagram van de DNP3-master en het systeem voor bewaking op afstand wordt hieronder weergegeven. Dit model wordt gebruikt om gegevens over te dragen tussen twee apparaten zoals master en afstandsbediening met behulp van DNP3.

  DNP3-voorbeeld
DNP3-examen de

Het diagram van de DNP3-master en het systeem voor bewaking op afstand worden hieronder weergegeven. Dit model wordt gebruikt om gegevens over te dragen tussen twee apparaten zoals master en afstandsbediening met behulp van DNP3. Hier is de master de computer en de slave of afstandsbediening de buitenpost. De verzonden gegevens zijn statische gegevens, gebeurtenisgegevens en accepteren ongevraagde gebeurtenisgegevens.

Het DNP3-protocol wordt normaal gesproken gebruikt tussen de master (computer) en remote (Outstation). Hier wordt de master gebruikt om een ​​interface te bieden tussen de menselijke netwerkbeheerder en het monitoringsysteem. De afstandsbediening biedt de interface tussen de master en het fysieke apparaat dat wordt bestuurd of bewaakt.

Zowel de master als de afstandsbediening maken gebruik van een gemeenschappelijke objectbibliotheek voor gegevensuitwisseling. Hier zijn de gegevens. Het DNP3-protocol is een polled-protocol dat mogelijkheden bevat die zorgvuldig zijn ontworpen. Zodra het hoofdstation is verbonden met een afstandsbediening, kan een integriteitsonderzoek worden uitgevoerd, wat erg belangrijk is voor het adresseren van DNP3, omdat ze voor een gegevenspunt alle gebufferde waarden retourneren en ook de huidige waarde van het punt omvatten.

Over het algemeen kunnen de DNP3-stuurprogramma's routinematig verschillende peilingen uitvoeren, zoals een integriteitspeiling, een Klasse 1, een Klasse 2 en een Klasse 3. In de Integriteitspeiling verzoekt de DNP3 het buitenstation eenvoudig om zijn Klasse 1, klasse 2 en klasse 3 te verzenden. gebeurtenisgegevens en statische gegevens van klasse 0 in chronologische volgorde. Een Integrity Poll wordt normaal gesproken gebruikt voor het synchroniseren van de databases van DNP3 master & slave en heeft daarom de neiging om een ​​langzame poll rate te krijgen. Doorgaans worden Klasse 1, Klasse 2 en Klasse 3 peilingen gebruikt om individuele klassengebeurtenissen te herstellen tegen veranderlijke snelheden op basis van het belang van die gebeurtenissen. Meer kritieke gebeurtenissen worden toegewezen aan de klassen met de hogere peilingssnelheid.

Verschil tussen DNP3 en IEC 61850

Het verschil tussen DNP3 en IEC 61850 omvat het volgende.

DNP3

IEC 61850

Het DNP3-protocol is een open industriespecificatie. De IEC 61850 is de IEC-standaard.
De DNP-gebruikersgroep is de standaardorganisatie van het DNP3-protocol. De internationale elektrotechnische commissie is de standaardorganisatie van IEC 61850.
Het DNP3-protocol is een architectuur met vier lagen en ondersteunt ook zeven lagen TCP/IP of UDP/IP. De communicatie in een IEC 61850-protocol is gebaseerd op de OSI-model .
De DNP3, GOOSE, HMI, IEC, RTU en SCADA zijn de algemene termen van het IEC 61850-communicatieprotocol. Het intelligent device (IED), logisch apparaat & logisch knooppunt, data-object & data-attribuut zijn de niveaus die het hiërarchische informatiemodel van een IEC 61850 definiëren
De voordelen van de derde versie van het gedistribueerde netwerkprotocol zijn dat er geen protocolvertalers nodig zijn, onderhoud, testen en training zullen minder tijd in beslag nemen, eenvoudige systeemuitbreiding en een lange levensduur van het product. De voordelen van het IEC 61850-protocol zijn de uitbreidingskosten, integratiekosten, apparatuurmigratiekosten en lage installatiekosten.

Verschil tussen DNP3 en Modbus

Het verschil tussen DNP3 en Modbus omvat het volgende.

DNP3

Modbus

Het gedistribueerde netwerkprotocol is in 1993 ontwikkeld door Harris. Het Modbus-protocol is in 1979 ontwikkeld door Modicon
Het gedistribueerde netwerkprotocol gebruikt bits. Het Modbus-communicatieprotocol gebruikt tekstbeschrijvingen om de gegevens te verzenden.
DNP3 bestaat uit drie lagen: fysieke, datalink- en applicatielagen. Het Modbus-communicatieprotocol bestaat alleen uit de applicatielaag
Het DNP3-protocol ondersteunt meerdere slaves, meerdere masters en peer-to-peer-communicatie. het Modbus-protocol ondersteunt alleen peer-to-peer-communicatie.
De vereiste configuratieparameters in het DNP3-protocol zijn slechte snelheid, fragmentgrootte en apparaatadressen. De vereiste configuraties in het Modbus-protocol zijn pariteitsmodus, ASCII-modus, RTU-modus en baudrate.

DNP3 voor- en nadelen

De voordelen van het DNP3-protocol Ik voeg het volgende toe.

  • DNP3 is een open standaardprotocol, dus elke ontwerper kan DNP3-apparatuur ontwerpen die goed past bij andere DNP3-apparatuur.
  • DNP3 biedt veel mogelijkheden dankzij een intelligent en robuust protocol.
  • Het kan vragen en reageren via verschillende gegevenstypen binnen enkele berichten
  • Het maakt verschillende master- en peer-to-peer-bewerkingen mogelijk
  • Het ondersteunt standaard tijdformaat en tijdsynchronisatie.
  • De softwarekosten worden verlaagd.
  • Geen vereiste voor protocolvertalers.
  • Minder onderhoud & testen.

De nadelen van het DNP3-protocol zijn de volgende.

De DNP3 gebruikt een seriële RTU en upgradet deze via een Ethernet RTU (ERTU). Als de bandbreedte van het communicatiekanaal naar dat station niet ook wordt verbeterd, heeft de gebruiker een langzamere verbinding vanwege de overhead die is geïmplementeerd bij het omwikkelen van de DNP3 via TCP/IP.

DNP3-toepassingen

De DNP3-toepassingen omvatten het volgende.

  • Met DNP3 kunnen verschillende apparaten binnen procesautomatiseringssystemen communiceren.
  • Verschillende nutsbedrijven gebruiken dit protocol in grote lijnen voor gas-, elektrische en watertelemetriesystemen.
  • Het wordt gebruikt in SCADA-communicatie.
  • Het DNP3-communicatieprotocol wordt gebruikt in externe en SCADA-bewakingssystemen.
  • Dit is van toepassing in de hele SCADA-omgeving, inclusief van master tot remote en RTU tot IED-communicatie en ook in netwerktoepassingen.

Dit gaat dus allemaal over een overzicht van het DNP3-protocol – werken met applicaties. De DNP3-protocolspecificatie hangt voornamelijk af van het objectmodel. Dit model vermindert dus eenvoudig de databit-mapping die gewoonlijk nodig is bij andere, minder objectgeoriënteerde protocollen. Voor SCADA-technici en -ingenieurs zal het hebben van een aantal vooraf gedefinieerde objecten het ontwerp- en implementatiekader van DNP3 comfortabeler maken. Hier is een vraag voor u, wat is het protocol?