DNP3 protokolas: architektūra, veikimas, funkcijų kodai, duomenų formatas ir jo programos

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





DNP3 arba paskirstytojo tinklo protokolą3 1992 m. paleido Japonijos korporacija, siekdama sukurti ryšio tarp paskirstytų sistemų protokolą. DNP3 yra tinklo įrenginio valdymo protokolas, naudojamas ryšiui tarp įrenginio ir nuotolinio įvesties / išvesties įrenginio. Šis protokolas daugiausia priklauso nuo objektinio modelio, kuris sumažina duomenų bitų atvaizdavimą, kurio paprastai reikalauja kiti mažiau į objektą orientuoti protokolai. Jis daugiausia naudojamas tarp centrinių pagrindinių stočių ir paskirstytų nuotolinių įrenginių, kur centrinė pagrindinė stotis tiesiog veikia kaip sąsaja tarp žmogaus tinklo valdytojo ir stebėjimo sistemos. Paskirstytas nuotolinis įrenginys yra sąsaja tarp pagrindinės stoties ir fizinio aparato, kuris stebimas ir valdomas tolimose srityse. Duomenų mainai tarp šių dviejų gali būti atliekami naudojant bendrą objektų biblioteką. Šiame straipsnyje aptariama apžvalga DNP3 protokolas – darbas su programomis.


Kas yra DNP3 protokolas?

Ryšio protokolų, naudojamų tarp skirtingų procesų automatizavimo sistemų komponentų, rinkinys yra žinomas kaip DNP3 protokolas. Šis protokolas daugiausia buvo skirtas komunikacijos tarp įvairių tipų duomenų rinkimo ir valdymo įrangos tikslams. Taigi į SCADA sistemos , šis protokolas atlieka esminį vaidmenį, kai jį naudoja RTU, SCADA ir IED.



DNP3 protokolo architektūra ir jos veikimas

DNP3 yra trečiosios versijos paskirstytas tinklo protokolas. Ji turi vieną vientisumo apklausą ir tris apklausos lygius, kur vientisumo apklausa naudojama duomenims paimti vienoje apklausoje.

  DNP3 protokolo architektūra
DNP3 protokolo architektūra

DNP3 tinklo architektūra gali būti unicast, multidrop ir duomenų jungties / hierarchinės architektūros.



Unicast architektūra: Taip pat žinoma kaip „vienas su vienu“ architektūra, čia pagrindinė stotis gali susisiekti tik su viena išorine stotimi, tuo tarpu in kelių lašų architektūra pagrindinė stotis gali susisiekti su daugiau nei vienu išorinės stoties įrenginiu, o tai reiškia, kad ji gali susisiekti su keliais išoriniais įrenginiais. Duomenų jungtis / hierarchinė architektūra yra kelių lašų ir unicast architektūros derinys.

DNP3 ryšio protokolas dažniausiai naudojamas elektros, vandens ir nuotekų, naftos ir dujų, transporto ir kitose SCADA aplinkose. Tai leidžia peržiūrėti svarbius lygius realiuoju laiku ir istoriškai, tai gali būti temperatūra, drėgmė, akumuliatoriaus lygis, įtampa, degalų lygis ir kt. Taip pat leidžia aptikti problemas ir greitai jas pašalinti, taip pat pašalinti kliūtis ir neefektyvumas.

DNP3 protokolo projektavimas gali būti atliekamas remiantis OSI modelio sluoksniais, tokiais kaip duomenų ryšio, transportavimo, taikomųjų programų ir vartotojo sluoksnis. Šis protokolas yra lankstus, kad būtų galima prijungti vieną pagrindinį įrenginį per mažiausiai vieną arba aukštesnę išorinę stotį virš nuosekliosios ir Ethernet fizinės laikmenos.
Kitos galimos architektūros daugiausia apima įvairius pagrindinius ryšius su viena išorine stotimi ir lygiaverčio ryšio operacijas. Paprastai pagrindinis valdiklis paleidžia valdymo komandas, kad paprašytų duomenų arba suaktyvintų įrenginius, kurie valdomi per išorinę stotį. Ši išorinė stotis tiesiog reaguoja į šeimininką, perduodama tinkamą informaciją.

  DNP3 protokolo sluoksniai
DNP3 protokolo sluoksniai

Remiantis OSI modeliu, DNP3 protokolas apima keturis sluoksnius duomenų ryšio, transportavimo funkcijos, programos ir vartotojo sluoksnio. Duomenų nuorodos sluoksnis apačioje padarys fizinį ryšį patikimesnį, nes bus sprendžiamas ir aptinkama klaida. Transportavimo funkcija tiesiog sujungia nuorodų sluoksnio kadrus į programos sluoksnio fragmentus. Šis sluoksnis paima visą pranešimą ir nurodo, kokiems duomenims teikiama pirmenybė, o ne aukščiau nurodytam naudotojo sluoksniui. Kiekviename pranešime gali būti keli duomenų tipai, pvz., analoginiai, dvejetainiai ir skaitiklio įėjimai ir išėjimai.

Kaip veikia DNP3 protokolas?

DNP3 protokolas tiesiog veikia naudodamas 27 pagrindinius funkcijų kodus, leidžiančius palaikyti ryšį tarp pagrindinių stočių ir nuotolinių įrenginių. Kad kai kurie funkcijų kodai leis pagrindiniam įrenginiui prašyti ir gauti informacijos iš nuotolinio įrenginio, o kiti funkcijų kodai leis šeimininkui nuspręsti arba pataisyti nuotolinio įrenginio konfigūraciją.

Kai kurie funkcijų kodai dažniausiai naudojami DNP3 pagrindinėje stotyje įrangai ar nuotoliniam įrenginiui valdyti atokiose vietose. DNP3 pagrindinė stotis perduoda didžiąją dalį ryšio su nuotoliniu DNP3 įrenginiu. Tačiau nepageidaujamas pranešimas (o/p pranešimas) inicijuojamas per nuotolinį įrenginį ir sugeneruoja aliarmą. Kad šis pranešimas perspėtų pagrindinį kompiuterį, kai tik įvyksta pavojaus signalas.

Funkcijų kodai

DNP3 funkcijų kodai yra šie.

Funkcijos kodas

apibūdinimas

0x00

Patvirtinkite funkcijos kodą.

0x01

Skaityti funkcijos kodą.
0x02

Parašykite funkcijos kodą.

0x03

Pasirinkite funkcijos kodą.

0x04

Veikti funkcijos kodą.

0x05

Tiesioginio veikimo funkcijos kodas

0x0d

Šaltojo paleidimo funkcijos kodas

0x0e

Šiltas paleidimo funkcijos kodas

0x12

Sustabdyti programos funkcijos kodą

0x1b

Ištrinkite failo funkcijos kodą

0x81

Atsakymo funkcijos kodas

0x82

Nepageidaujamo atsakymo funkcijos kodas

DNP3 pranešimo formatas

DNP3 pranešimų formato struktūra parodyta žemiau. Jei panagrinėsime šią struktūrą, pamatysime, kad pranešimais keičiamasi tarp pagrindinių ir nuotolinio valdymo pultų. Nuosekliosios telemetrijos protokolas (TBOS) yra orientuotas į baitus, pakeičiant vieną baitą ryšiui palaikyti.

Išplėstiniai nuoseklieji telemetrijos protokolai, tokie kaip TABS, yra orientuoti į paketus su baitų paketais, kuriais keičiamasi norint susisiekti. Šie paketai paprastai apima antraštę, duomenis ir kontrolinės sumos baitus. DNP3 protokolas yra orientuotas į paketus ir naudoja paketų struktūrą, kuri parodyta toliau pateiktame paveikslėlyje.

  DNP3 pranešimo formatas
DNP3 pranešimo formatas

Aukščiau pateiktoje pranešimų formato diagramoje DNP3 ASDU (application service data unit) yra vertingas koreguojant protingą turinį, kuris valdomas tiek kvalifikatoriais, tiek indekso dydžio laukais. Taigi šis dizainas leis programos duomenis pasiekti lanksčiomis konfigūracijomis.

Dabar aptarkime, kaip keičiamasi duomenimis, ypač daugiasluoksnio ryšio modelyje.
Aukščiau pateiktoje diagramoje esantis taikomosios programos sluoksnis sujungia ASDU (taikomųjų paslaugų duomenų vienetą) ir supakuotą objektą APCI (programavimo protokolo valdymo) bloku, kad sudarytų APDU (taikymo protokolo duomenų vienetą).

Transportavimo sluoksnis suskaidys taikomosios paslaugos duomenų vienetą arba APDU į skirtingus segmentus, kurių dydis ne didesnis kaip 16 baitų, ir supakuoja juos 8 bitų transportavimo valdymo antrašte ir 16 bitų segmentų CRC separatoriais į transportavimo rėmelį.

Nuorodų sluoksnis susietas su 4 sluoksnių modeliu, kuris buvo sukurtas per gynybos departamentą, per DoD interneto sluoksnį praleistas. Jei naudojamas serijinis transportavimas, paketas surenkamas ir yra transportavimo laikmenoje pristatymui.

Jei paketas perduodamas per LAN arba WAN, tada 3 DNP3 sluoksniai suvyniojami į pirmąjį sluoksnį. Surinktas paketas gali būti įvyniotas į TCP (Transport Control Protocol) per transportavimo sluoksnį, kuris yra apvyniotas IP (interneto protokolu) per interneto sluoksnį. UDP (User Datagram Protocol) taip pat gali būti naudojamas, tačiau kyla papildomų problemų, susijusių su patikimu pristatymu supakuotuose tinkluose.

DNP3 duomenų formatas

DNP plačiai naudojamas kontroliuojant pranešimus, perduodamus tarp centrinės stoties ir valdymo blokų. DNP3 duomenų formatą daugiausia sudaro dvi dalys – antraštė ir duomenų skyriai. Be to, antraštė yra padalinta į šešis poskyrius.

  DNP3 duomenų formatas
DNP3 duomenų formatas

Duomenų rėmelio formatas ir reikalingas kiekvieno lauko dydis parodytas aukščiau esančiame paveikslėlyje. Šioje diagramoje sinchronizavimas yra pirmasis laukas, kuris yra 1 baitas ir nurodo kadro pradžią.
Ši lauko vertė yra fiksuota iki 0564, taigi, kai gaunamas kadras, tiriant sinchronizavimo lauko padėtį, atvaizdavimas gali būti atliktas efektyviai.

Lauko ilgis suteikia visą kadro ilgį, kad paskirties vietoje būtų galima priskirti tam tikrą buferį, kad būtų galima laikyti gaunamus kadrus. Taigi antrasis kadras yra „Valdymo laukas“, kuriame aprašomas valdymo veiksmas, kurio reikia imtuvo gale.

Valdymo lauke bus šešioliktainė reikšmė 41, kitu atveju 42, atsižvelgiant į veiksmo tipą. Po to paskirties ir šaltinio adreso lauke bus pateikti numatomi gavėjo adresai ir siuntimo mazgas.
CRC arba Cyclic Redundancy Check yra paskutinis laukas, kuris padės patikrinti kadro klaidą. Siuntimo metu prie pranešimo yra prijungta patikrinimo reikšmė, kuri bus kryžmiškai patikrinta gavimo gale. Kai ši reikšmė sutampa, ji nurodo, kad kadre nėra klaidos. Duomenų dalis yra nuo 2 iki 4 baitų, tačiau ji neturi jokio vaidmens kontroliuojant pranešimų perdavimą.

Aukščiau pateiktame paveikslėlyje parodytas valdymo pranešimas, perduodamas DNP3 formatu iš vienos stoties į kitą, kaip ir į paskirties vietą. Įvairių veiksmų komunikacijai su tikslais naudojami tokie laukai kaip valdymo laukas ir paskirties adresas, o kai kurie laukai nepasikeis visiems ryšiams.

DNP3 stebėjimo sistemos pavyzdys

DNP3 pagrindinės ir nuotolinio stebėjimo sistemos schema parodyta žemiau. Šis modelis naudojamas duomenims perduoti tarp dviejų įrenginių, pvz., pagrindinio ir nuotolinio, naudojant DNP3.

  DNP3 pavyzdys
DNP3 egzaminas į

DNP3 pagrindinės ir nuotolinio stebėjimo sistemos diagrama parodyta žemiau. Šis modelis naudojamas duomenims perduoti tarp dviejų įrenginių, pvz., pagrindinio ir nuotolinio, naudojant DNP3. Čia pagrindinis yra kompiuteris, o vergas arba nuotolinis yra išorinė stotis. Perduodami duomenys yra statiniai, įvykių duomenys ir priimami nepageidaujami įvykių duomenys.

DNP3 protokolas paprastai naudojamas tarp pagrindinio (kompiuterio) ir nuotolinio (Outstation). Čia pagrindinis valdiklis naudojamas sąsajai tarp žmogaus tinklo valdytojo ir stebėjimo sistemos užtikrinti. Nuotolinio valdymo pultas suteikia sąsają tarp pagrindinio įrenginio ir fizinio įrenginio, kuris yra valdomas arba stebimas.

Tiek pagrindinis, tiek nuotolinis keičiasi duomenimis naudoja bendrą objektų biblioteką. Čia duomenys yra DNP3 protokolas yra apklaustas protokolas, apimantis kruopščiai suprojektuotas galimybes. Kai pagrindinė stotis yra prijungta prie nuotolinio valdymo pulto, gali būti atlikta vientisumo apklausa, kuri yra labai svarbi kreipiantis į DNP3, nes duomenų taške jie grąžina visas buferines reikšmes ir taip pat apima dabartinę taško vertę.

Paprastai DNP3 tvarkyklės gali atlikti įvairias apklausas, pvz., Integrity Poll, Class 1, Class 2 ir Class 3. Integrity Poll metu DNP3 tiesiog prašo išorinės stoties perduoti jos 1, 2 ir 3 klasės apklausas. įvykių duomenys ir 0 klasės statiniai duomenys chronologine tvarka. Integrity Poll paprastai naudojama sinchronizuoti DNP3 pagrindinio ir pavaldinio duomenų bazes, todėl paprastai jai priskiriamas lėtas apklausos dažnis. Paprastai 1, 2 ir 3 klasės apklausos naudojamos atskiriems klasės įvykiams atkurti kintamu greičiu, atsižvelgiant į tų įvykių svarbą, klasėms, kurių apklausų dažnis yra didesnis, priskiriami svarbesni įvykiai.

Skirtumas tarp DNP3 ir IEC 61850

Skirtumas tarp DNP3 ir IEC 61850 yra toks.

DNP3

IEC 61850

DNP3 protokolas yra atvira pramonės specifikacija. IEC 61850 yra IEC standartas.
DNP vartotojų grupė yra standartinė DNP3 protokolo organizacija. Tarptautinė elektrotechnikos komisija yra standartinė IEC 61850 organizacija.
DNP3 protokolas yra keturių sluoksnių architektūra ir taip pat palaiko septynių sluoksnių TCP/IP arba UDP/IP. Ryšys pagal IEC 61850 protokolą yra pagrįstas OSI modelis .
DNP3, GOOSE, HMI, IEC, RTU ir SCADA yra bendrosios IEC 61850 ryšio protokolo sąlygos. Išmanusis įrenginys (IED), loginis įrenginys ir loginis mazgas, duomenų objektas ir duomenų atributas yra lygiai, apibrėžiantys IEC 61850 hierarchinės informacijos modelį.
Paskirstyto tinklo protokolo trečiosios versijos pranašumai yra tai, kad nereikia jokių protokolų vertėjų, priežiūra, bandymai ir mokymai užtruks mažiau laiko, lengvai išplečiama sistema ir ilgas produkto tarnavimo laikas. IEC 61850 protokolo pranašumai yra išplėtimo, integravimo, įrangos perkėlimo ir mažos diegimo išlaidos.

Skirtumas tarp DNP3 ir Modbus

Skirtumas tarp DNP3 ir Modbus yra toks.

DNP3

Modbus

Paskirstytą tinklo protokolą 1993 metais sukūrė Harrisas. „Modbus“ protokolą 1979 m. sukūrė „Modicon“.
Paskirstytame tinklo protokole naudojami bitai. Modbus ryšio protokolas naudoja tekstinius aprašymus duomenims siųsti.
DNP3 susideda iš trijų sluoksnių: fizinio, duomenų perdavimo ir taikomųjų sluoksnių. Modbus ryšio protokolą sudaro tik taikomųjų programų sluoksnis
DNP3 protokolas palaiko kelis vergus, kelis pagrindinius įrenginius ir tarpusavio ryšį. Modbus protokolas palaiko tik peer-to-peer ryšį.
DNP3 protokole reikalingi konfigūracijos parametrai yra blogas greitis, fragmento dydis ir įrenginių adresai. Modbus protokole reikalingos konfigūracijos yra pariteto režimas, ASCII režimas, RTU režimas ir duomenų perdavimo sparta.

DNP3 privalumai ir trūkumai

The DNP3 protokolo pranašumai Aš įtraukiu šiuos dalykus.

  • DNP3 yra atviro standarto protokolas, todėl bet kuris dizaineris gali suprojektuoti DNP3 įrangą, kuri yra gerai suderinta su kita DNP3 įranga.
  • DNP3 suteikia daug galimybių dėl protingo ir tvirto protokolo.
  • Jis gali prašyti ir atsakyti per kelis duomenų tipus viename pranešime
  • Tai leidžia atlikti keletą pagrindinių ir lygiaverčių operacijų
  • Jis palaiko standartinį laiko formatą ir laiko sinchronizavimą.
  • Sumažės programinės įrangos sąnaudos.
  • Nereikalaujama protokolų vertėjų.
  • Mažiau priežiūros ir bandymų.

DNP3 protokolo trūkumai yra šie.

DNP3 naudoja nuoseklųjį RTU ir atnaujina jį per Ethernet RTU (ERTU). Jei ryšio kanalo pralaidumas į tą stotį taip pat nepadidinamas, vartotojas turės lėtesnį ryšį dėl papildomų išlaidų, susijusių su DNP3 apvyniojimu per TCP/IP.

DNP3 programos

The DNP3 programos įtraukti toliau nurodytus dalykus.

  • DNP3 leidžia bendrauti skirtingiems procesų automatizavimo sistemų įrenginiams.
  • Įvairios komunalinių paslaugų įmonės plačiai naudoja šį protokolą dujų, elektros ir vandens telemetrijos sistemoms.
  • Jis naudojamas SCADA komunikacijose.
  • DNP3 ryšio protokolas naudojamas nuotolinėse ir SCADA stebėjimo sistemose.
  • Tai taikoma visoje SCADA aplinkoje, apimančioje nuo pagrindinio iki nuotolinio ir RTU iki IED ryšio, taip pat tinklo programose.

Taigi, visa tai yra apie DNP3 protokolo apžvalga – darbas su programomis. The DNP3 protokolo specifikacija daugiausia priklauso nuo objekto modelio. Taigi šis modelis tiesiog sumažina duomenų bitų atvaizdavimą, kuris paprastai reikalingas naudojant kitus mažiau į objektus orientuotus protokolus. SCADA technikai ir inžinieriai turi tam tikrų iš anksto nustatytų objektų, todėl DNP3 projektavimas ir diegimas bus patogesnis. Čia jums klausimas, koks yra protokolas?