DNP3 ili Distribuirani mrežni protokol3 lansirala je 1992. godine jedna japanska korporacija kako bi uspostavila protokol za komunikaciju između distribuiranih sustava. DNP3 je mrežni protokol za kontrolu uređaja koji se koristi za komunikaciju između uređaja i udaljenog ulazno/izlaznog uređaja. Ovaj protokol uglavnom ovisi o objektno orijentiranom modelu koji smanjuje mapiranje bitova podataka koje obično zahtijevaju drugi manje objektno orijentirani protokoli. Uglavnom se koristi između središnjih glavnih stanica kao i distribuiranih udaljenih jedinica gdje središnja glavna stanica jednostavno radi kao sučelje između ljudskog mrežnog upravitelja kao i sustava za nadzor. Distribuirana udaljena jedinica je sučelje između glavne stanice i fizičkog aparata koji se promatra i kontrolira u udaljenim područjima. Razmjenu podataka između ova dva može obaviti biblioteka zajedničkih objekata. Ovaj članak govori o pregledu DNP3 protokol – rad s aplikacijama.
Što je DNP3 protokol?
Skup komunikacijskih protokola koji se koriste između različitih komponenti unutar sustava automatizacije procesa poznat je kao DNP3 protokol. Ovaj protokol je uglavnom dizajniran za potrebe komunikacije između različitih vrsta opreme za prikupljanje podataka i kontrolu. Dakle u SCADA sustavi , ovaj protokol igra ključnu ulogu kada ga koriste RTU-ovi, SCADA-i i IED-ovi.
Arhitektura DNP3 protokola i njegov rad
DNP3 je treća verzija distribuiranog mrežnog protokola. Ima jednu anketu integriteta i tri razine ankete, gdje se anketa integriteta koristi za prikupljanje podataka u jednoj anketi.
DNP3 mrežna arhitektura može biti unicast, multidrop i podatkovni konektor/hijerarhijska arhitektura.
Unicast arhitektura: je također poznata kao arhitektura jedan na jedan, ovdje glavna stanica može komunicirati samo s jednom vanjskom stanicom, dok u multidrop arhitektura glavna stanica može komunicirati s više od jednog uređaja izvan stanice što znači da može komunicirati s više uređaja izvan stanice. Podatkovni konektor/hijerarhijska arhitektura kombinacija je multidrop i unicast arhitekture.
Komunikacijski protokol DNP3 obično se koristi za elektroprivredu, vodovod i kanalizaciju, naftu i plin, transport i druga SCADA okruženja. Omogućuje vam pregled važnih razina u stvarnom vremenu i povijesno, što može biti temperatura, vlažnost, razina baterije, napon, razina goriva itd. Također vam omogućuje otkrivanje problema i njihovo brzo ispravljanje, a također možete ukloniti uska grla i neučinkovitosti.
Projektiranje DNP3 protokola može se izvršiti na temelju slojeva OSI modela kao što su podatkovna veza, transport, aplikacija i korisnički sloj. Ovaj protokol ima fleksibilnost za povezivanje jednog mastera preko najmanje jedne ili više vanjskih stanica iznad serijskih kao i Ethernet fizičkih medija.
Ostale moguće arhitekture uglavnom uključuju različite glavne veze s jednom izlaznom stanicom i peer-to-peer operacije. Obično glavni pokreće kontrolne naredbe kako bi zatražio podatke ili aktivirao uređaje kojima se upravlja putem vanjske stanice. Ova izvanstanica jednostavno reagira na mastera odašiljanjem odgovarajućih informacija.
Na temelju OSI modela, DNP3 protokol uključuje četiri sloja podatkovne veze, transportne funkcije, aplikacijskog i korisničkog sloja. Ovdje će sloj podatkovne veze na dnu učiniti fizičku vezu pouzdanijom adresiranjem i otkrivanjem pogrešaka. Prijenosna funkcija jednostavno sastavlja okvire sloja veze u fragmente sloja aplikacije. Ovaj sloj preuzima cijelu poruku i navodi koji se podaci preferiraju u odnosu na gornji korisnički sloj. Svaka poruka može imati nekoliko tipova podataka kao što su analogni, binarni i brojački ulazi i izlazi.
Kako radi DNP3 protokol?
DNP3 protokol jednostavno radi pomoću 27 osnovnih funkcijskih kodova za dopuštanje komunikacije između glavnih stanica i udaljenih jedinica. Tako da će neki funkcijski kodovi omogućiti glavnom uređaju da zatraži i dobije informacije o stanju s udaljenog uređaja, a drugi funkcijski kodovi će omogućiti glavnom uređaju da odluči ili ispravi konfiguraciju udaljene jedinice.
Nekoliko funkcijskih kodova se uglavnom koristi u glavnoj stanici DNP3 za upravljanje opremom ili udaljenom jedinicom na udaljenim mjestima. DNP3 glavna stanica šalje većinu komunikacije udaljenom uređaju DNP3. No, neželjena poruka (o/p poruka) pokreće se preko udaljene jedinice i generira alarm. Tako da ova poruka daje upozorenje glavnom uređaju kada se pojavi alarm.
Funkcijski kodovi
Funkcijski kodovi DNP3 uključuju sljedeće.
Kod funkcije |
Opis |
0x00 |
Potvrdite šifru funkcije. |
0x01 |
Pročitajte kod funkcije. |
0x02 |
Napišite kod funkcije. |
0x03 |
Odaberite kod funkcije. |
0x04 |
Upravljajte kodom funkcije. |
0x05 |
Kod funkcije izravnog rada |
0x0d |
Kôd funkcije hladnog ponovnog pokretanja |
0x0e |
Kod funkcije toplog ponovnog pokretanja |
0x12 |
Kod funkcije zaustavljanja aplikacije |
0x1b |
Brisanje koda funkcije datoteke |
0x81 |
Kod funkcije odgovora |
0x82 |
Kôd funkcije neželjenog odgovora |
DNP3 format poruke
Struktura formata poruke DNP3 prikazana je u nastavku. Ako ispitamo ovu strukturu, možemo primijetiti da se poruke razmjenjuju između mastera i daljinskog upravljača. Serijski telemetrijski protokol (TBOS) je bajt-orijentiran razmjenom jednog bajta za komunikaciju.
Prošireni serijski telemetrijski protokoli kao što je TABS orijentirani su na pakete s paketima bajtova koji se razmjenjuju radi komunikacije. Ovi paketi obično uključuju zaglavlje, podatke i bajtove kontrolne sume. DNP3 protokol je orijentiran na pakete i koristi strukturu paketa koja je prikazana na sljedećoj slici.
U gornjem dijagramu formata poruke, DNP3 ASDU (jedinica podataka usluge aplikacije) je vrijedan za prilagodbu pametnog sadržaja koji se kontrolira kroz kvalifikatore kao i kroz polja IndexSize. Dakle, ovaj dizajn će podatke aplikacije učiniti dostupnima unutar fleksibilnih konfiguracija.
Raspravimo sada o tome kako se razmjenjuju podaci, posebno u slojevitom komunikacijskom modelu.
Aplikacijski sloj u gornjem dijagramu kombinira ASDU (podatkovnu jedinicu aplikacijskog servisa) i zapakirani objekt pomoću APCI (kontrola aplikacijskog protokola) bloka kako bi napravio APDU (podatkovnu jedinicu aplikacijskog protokola).
Prijenosni sloj će rastaviti podatkovnu jedinicu usluge aplikacije ili APDU u različite segmente s maksimalnom veličinom od 16 bajtova i pakirati ih pomoću 8-bitnog kontrolnog zaglavlja prijenosa i 16-bitnih CRC separatora segmenta u prijenosni okvir.
Sloj veze preslikan je na 4-slojni model koji je razvijen kroz DoD (Ministarstvo obrane) kroz izostavljeni DoD Internet sloj. Ako se koristi serijski prijenos, tada se sklapanje paketa vrši i nalazi na prijenosnom mediju za isporuku.
Ako se paket prenosi preko LAN-a ili WAN-a, tada se 3 DNP3 sloja skupljaju u prvi sloj. Paket koji je sastavljen može se omotati unutar TCP-a (Transport Control Protocol) kroz transportni sloj koji je omotan unutar IP-a (Internet Protocol) kroz internetski sloj. UDP (User Datagram Protocol) također se može koristiti, ali predstavlja neke dodatne probleme povezane s pouzdanom isporukom unutar pakiranih mreža.
DNP3 format podataka
DNP se intenzivno koristi u kontroli poruka koje prolaze između središnje stanice i kontrolnih jedinica. Format podataka DNP3 uglavnom uključuje dva odjeljka zaglavlje i odjeljke podataka. Nadalje, zaglavlje je podijeljeno u šest pododjeljaka.
Format podatkovnog okvira i potrebna veličina svakog polja prikazani su na gornjoj slici. U ovom dijagramu, sinkronizacija je prvo polje koje ima 1 bajt i specificira početak okvira.
Ova vrijednost polja je fiksna na 0564, tako da kada se okvir primi ispitivanjem položaja sinkroniziranog polja, mapiranje se može učiniti učinkovito.
Duljina polja daje cijelu duljinu okvira tako da se određeni međuspremnik može dodijeliti na odredištu za držanje dolaznih okvira. Dakle, drugi okvir je 'Kontrolno polje' koje opisuje kontrolnu akciju koju treba zatražiti na strani primatelja.
Kontrolno polje uključivat će heksadecimalnu vrijednost 41 inače 42 na temelju vrste akcije. Nakon toga, polje odredišne i izvorne adrese pružit će željene adrese primatelja i čvor za slanje.
CRC ili Cyclic Redundancy Check posljednje je polje koje će pomoći u provjeri pogreške okvira. Kontrolna vrijednost povezana je s porukom u trenutku slanja koja će biti unakrsno provjerena na primateljskoj strani. Jednom kada se ova vrijednost podudara, tada specificira nepostojanje greške unutar okvira. Dio podataka je od 2 do 4 bajta, ali nema nikakvu ulogu u kontroli prijenosa poruka.
Gornja slika prikazuje kontrolnu poruku koja se prenosi unutar formata DNP3 od jedne stanice do druge kao kontrola do odredišta. Za komunikaciju raznih radnji s odredištima, polja poput kontrolnog polja kao i odredišne adrese, dok se neka polja neće promijeniti za sve komunikacije.
Primjer DNP3 sustava nadzora
Dijagram glavnog DNP3 i sustava daljinskog nadzora prikazan je u nastavku. Ovaj se model koristi za prijenos podataka između dva uređaja kao što su glavni i daljinski koristeći DNP3.
DNP3 master i dijagram sustava daljinskog nadzora prikazani su dolje. Ovaj se model koristi za prijenos podataka između dva uređaja kao što su glavni i daljinski koristeći DNP3. Ovdje je glavno računalo, a podređeno ili udaljeno mjesto je izlazna stanica. Podaci koji se prenose su ili statični podaci, podaci o događajima i prihvaćaju neželjene podatke o događajima.
Protokol DNP3 obično se koristi između glavnog (računala) i daljinskog (Outstation). Ovdje se master koristi za pružanje sučelja između ljudskog mrežnog upravitelja kao i sustava za nadzor. Daljinski upravljač osigurava sučelje između glavnog i fizičkog uređaja koji se kontroliraju ili nadziru.
I glavni i daljinski koriste zajedničku biblioteku objekata za razmjenu podataka. Ovdje su podaci. DNP3 protokol je anketirani protokol koji uključuje mogućnosti koje su pažljivo dizajnirane. Jednom kada je glavna stanica povezana s daljinskim upravljačem, tada se može izvršiti anketa integriteta koja je vrlo značajna za adresiranje DNP3 jer za podatkovnu točku vraćaju sve vrijednosti međuspremnika i također sadrže trenutnu vrijednost točke.
Općenito, DNP3 upravljački programi mogu rutinski izvoditi različita ispitivanja kao što su ispitivanje integriteta, klasa 1, klasa 2 i klasa 3. U ispitivanju integriteta, DNP3 jednostavno zahtijeva od vanjske stanice da prenese svoje podatke klase 1, klase 2 i klase 3 podaci o događajima & statički podaci klase 0 unutar kronološkog slijeda. Anketa integriteta se obično koristi za sinkronizaciju baza podataka DNP3 master & slave i stoga ima tendenciju da joj se dodijeli spora stopa ankete. Obično se ankete klase 1, klase 2 i klase 3 koriste za oporavak pojedinačnih događaja klase po promjenjivim stopama na temelju važnosti tih događaja. Više kritičnih događaja dodjeljuje se klasama koje imaju bržu stopu ankete.
Razlika između DNP3 i IEC 61850
Razlika između DNP3 i IEC 61850 uključuje sljedeće.
DNP3 |
IEC 61850 |
DNP3 protokol je otvorena industrijska specifikacija. | IEC 61850 je IEC standard. |
Grupa DNP korisnika je standardna organizacija DNP3 protokola. | Međunarodna elektrotehnička komisija standardna je organizacija IEC 61850. |
DNP3 protokol ima četveroslojnu arhitekturu i također podržava sedam slojeva TCP/IP ili UDP/IP. | Komunikacija u IEC 61850 protokolu temelji se na OSI model . |
DNP3, GOOSE, HMI, IEC, RTU i SCADA uobičajeni su pojmovi komunikacijskog protokola IEC 61850. | Inteligentni uređaj (IED), logički uređaj i logički čvor, objekt podataka i atribut podataka razine su koje definiraju hijerarhijski informacijski model IEC 61850 |
Prednosti treće verzije protokola distribuirane mreže su da nisu potrebni prevoditelji protokola, održavanje, testiranje i obuka će trajati manje vremena, jednostavno proširenje sustava i dug životni vijek proizvoda. | Prednosti IEC 61850 protokola su troškovi proširenja, troškovi integracije, troškovi migracije opreme i niski troškovi instalacije.
|
Razlika između DNP3 i Modbusa
Razlika između DNP3 i Modbusa uključuje sljedeće.
DNP3 |
Modbus |
Distribuirani mrežni protokol razvio je Harris 1993. | Modbus protokol razvio je Modicon 1979 |
Distribuirani mrežni protokol koristi bitove. | Modbus komunikacijski protokol koristi tekstualne opise za slanje podataka. |
DNP3 se sastoji od tri sloja, a to su fizički, podatkovni sloj i aplikacijski sloj. | Komunikacijski protokol Modbus sastoji se samo od aplikacijskog sloja |
DNP3 protokol podržava više podređenih, više nadređenih i peer-to-peer komunikaciju. | Modbus protokol podržava samo peer-to-peer komunikaciju. |
Konfiguracijski parametri potrebni u DNP3 protokolu su loša brzina, veličina fragmenta i adrese uređaja. | Konfiguracije potrebne u Modbus protokolu su paritetni način, ASCII način, RTU način i brzina prijenosa podataka. |
DNP3 za i protiv
The prednosti DNP3 protokola Uključujem sljedeće.
- DNP3 je otvoreni standardni protokol, tako da svaki dizajner može dizajnirati DNP3 opremu koja je dobro usklađena s drugom DNP3 opremom.
- DNP3 pruža mnoge mogućnosti zahvaljujući inteligentnom i robusnom protokolu.
- Može zahtijevati i odgovarati kroz nekoliko vrsta podataka unutar jedne poruke
- Omogućuje nekoliko master i peer-to-peer operacija
- Podržava standardni format vremena i sinkronizaciju vremena.
- Troškovi softvera će se smanjiti.
- Nema zahtjeva za prevoditeljima protokola.
- Manje održavanja i testiranja.
Nedostaci DNP3 protokola uključuju sljedeće.
DNP3 koristi serijski RTU i nadograđuje ga putem Ethernet RTU (ERTU). Ako propusnost komunikacijskog kanala do te stanice nije također poboljšana, tada će korisnik imati sporiju vezu zbog opterećenja implementiranog u omatanju DNP3 kroz TCP/IP.
DNP3 aplikacije
The DNP3 aplikacije uključuju sljedeće.
- DNP3 omogućuje komunikaciju različitih uređaja unutar sustava automatizacije procesa.
- Različite komunalne tvrtke naširoko koriste ovaj protokol za plinske, električne i vodene telemetrijske sustave.
- Koristi se u SCADA komunikacijama.
- DNP3 komunikacijski protokol koristi se u daljinskim i SCADA nadzornim sustavima.
- Ovo je primjenjivo u cijelom SCADA okruženju koje uključuje od glavne do daljinske i RTU do IED komunikacije te također u mrežnim aplikacijama.
Dakle, ovo je sve o tome pregled DNP3 protokola – rad s aplikacijama. The Specifikacija DNP3 protokola uglavnom ovisi o objektnom modelu. Dakle, ovaj model jednostavno smanjuje mapiranje bitova podataka koje je obično potrebno s drugim manje objektno orijentiranim protokolima. Za SCADA tehničare i inženjere, postojanje nekih unaprijed definiranih objekata učinit će DNP3 ugodnijim dizajnom i okvirom za implementaciju. Evo jedno pitanje za vas, koji je protokol?