DNP3 Protocol : Arkitektura, Paggawa, Mga code ng function, Format ng data at Mga Aplikasyon Nito

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang DNP3 o Distributed Network Protocol3 ay inilunsad noong 1992 ng isang Japanese Corporation upang magtatag ng isang protocol para sa komunikasyon sa pagitan ng mga distributed system. Ang DNP3 ay network based device control protocol na ginagamit para sa komunikasyon sa pagitan ng isang device at isang remote input / ouput device. Ang protocol na ito ay pangunahing nakadepende sa isang object oriented na modelo na nagpapababa sa data bit mapping na karaniwang kinakailangan ng iba pang hindi gaanong object-oriented na protocol. Pangunahing ginagamit ito sa pagitan ng mga central master station pati na rin sa mga distributed remote unit kung saan gumagana lang ang central master station bilang interface sa pagitan ng human network manager pati na rin ng monitoring system. Ang distributed remote unit ay ang interface sa pagitan ng master station at ng physical apparatus na inoobserbahan at kinokontrol sa malalayong lugar. Ang palitan ng data sa pagitan ng dalawang ito ay maaaring gawin ng mga karaniwang object library. Tinatalakay ng artikulong ito ang isang pangkalahatang-ideya ng Protocol ng DNP3 – nagtatrabaho sa mga aplikasyon.


Ano ang DNP3 Protocol?

Ang hanay ng mga protocol ng komunikasyon na ginagamit sa pagitan ng iba't ibang bahagi sa loob ng mga sistema ng automation ng proseso ay kilala bilang ang DNP3 protocol. Ang protocol na ito ay pangunahing idinisenyo para sa mga layunin ng komunikasyon sa pagitan ng iba't ibang uri ng data acquisition at control equipment. Kaya sa Mga sistema ng SCADA , gumaganap ng mahalagang papel ang protocol na ito kapag ginagamit ito ng mga RTU, SCADA, at IED.



Arkitektura ng Protocol ng DNP3 at Paggana Nito

Ang DNP3 ay isang ikatlong bersyon na ipinamamahagi ng network protocol. Ito ay may isang integrity poll at tatlong polling level, kung saan ang integrity poll ay ginagamit upang kunin ang data sa isang poll.

  Arkitektura ng Protokol ng DNP3
Arkitektura ng Protokol ng DNP3

Ang DNP3 network architecture ay maaaring unicast, multidrop, at data connector/hierarchical architecture.



Ang unicast na arkitektura: ay kilala rin bilang isa-sa-isang arkitektura, dito ang master station ay maaari lamang makipag-ugnayan sa isang outstation, samantalang sa multidrop na arkitektura ang master station ay maaaring makipag-ugnayan sa higit sa isang outstation device na nangangahulugang maaari itong makipag-ugnayan sa maraming outstation device. Ang data connector/hierarchical architecture ay isang kumbinasyon ng multidrop at unicast architecture.

Ang protocol ng komunikasyon ng DNP3 ay karaniwang ginagamit para sa mga electric utilities, tubig at dumi sa alkantarilya, langis at gas, transportasyon, at iba pang kapaligiran ng SCADA. Binibigyang-daan ka nitong tingnan ang mahahalagang antas sa real-time at kasaysayan, na maaaring temperatura, halumigmig, antas ng baterya, boltahe, antas ng gasolina, atbp. Nagbibigay-daan din ito sa iyo na makita ang mga problema at itama ang mga problema nang mabilis, at maaari mo ring alisin ang mga bottleneck at inefficiencies.

Ang pagdidisenyo ng DNP3 protocol ay maaaring gawin batay sa mga layer ng OSI model tulad ng data link, transport, application at user layer. Ang protocol na ito ay may kakayahang umangkop para sa pagkonekta ng isang master sa pamamagitan ng hindi bababa sa isa o mas mataas na mga outstation sa itaas ng serial pati na rin ang Ethernet physical media.
Ang iba pang posibleng mga arkitektura ay pangunahing binubuo ng iba't ibang master connection na may iisang outstation at peer-to-peer na operasyon. Karaniwan, sinisimulan ng master ang mga control command upang humiling ng data mula sa o i-activate ang mga device na pinamamahalaan sa pamamagitan ng outstation. Ang outstation na ito ay tumutugon lamang sa master sa pamamagitan ng pagpapadala ng angkop na impormasyon.

  Mga Layer ng Protocol ng DNP3
Mga Layer ng Protocol ng DNP3

Batay sa modelo ng OSI, ang DNP3 protocol ay may kasamang apat na layer ng Data Link, Transport Function, Application at User Layer. Dito, gagawing mas maaasahan ng Data Link Layer sa ibaba ang pisikal na link sa pamamagitan ng pagtugon at pagtuklas ng error. Binubuo lang ng Transport Function ang mga frame ng Link Layer sa mga fragment ng Application Layer. Kinukuha ng layer na ito ang buong mensahe at tinutukoy kung anong data ang mas gusto sa Layer ng User sa itaas. Ang bawat mensahe ay maaaring magkaroon ng ilang uri ng data tulad ng analog, binary at counter input at output.

Paano Gumagana ang DNP3 Protocol?

Gumagana lang ang DNP3 protocol sa pamamagitan ng paggamit ng 27 pangunahing function code para sa pagpapahintulot sa komunikasyon sa pagitan ng mga master station at remote na unit. Upang ang ilang mga function code ay magbibigay-daan sa master na humiling at makakuha ng kundisyon ng impormasyon mula sa isang remote na aparato at iba pang mga function code ay magpapahintulot sa master na magpasya o itama ang remote na pagsasaayos ng unit.

Maraming function code ang pangunahing ginagamit sa DNP3 master station para sa pagkontrol sa kagamitan o remote unit sa mga malalayong lugar. Ang DNP3 master station ay naglalabas ng karamihan sa komunikasyon sa remote device ng DNP3. Ngunit, ang Unsolicited Message (o/p message) ay sinisimulan sa pamamagitan ng remote unit, at ito ay bumubuo ng alarma. Upang ang mensaheng ito ay nagbibigay ng alerto sa master sa sandaling magkaroon ng alarma.

Mga Function Code

Kasama sa mga function code ng DNP3 ang mga sumusunod.

Code ng Pag-andar

Paglalarawan

0x00

Kumpirmahin ang function code.

0x01

Basahin ang function code.
0x02

Sumulat ng function code.

0x03

Piliin ang function code.

0x04

Patakbuhin ang function code.

0x05

Direktang pagpapatakbo ng function na code

0x0d

Cold restart function code

0x0e

Warm restart function code

0x12

Ihinto ang application function code

0x1b

Tanggalin ang file function code

0x81

Code ng function ng tugon

0x82

Code ng function na Hindi hinihinging tugon

Format ng Mensahe ng DNP3

Ang istraktura ng format ng mensahe ng DNP3 ay ipinapakita sa ibaba. Kung susuriin natin ang istrukturang ito, mapapansin natin na ang mga mensahe ay nagpapalitan sa pagitan ng mga master at remote. Ang serial telemetry protocol (TBOS) ay byte-oriented sa pamamagitan ng pagpapalitan ng isang byte para makipag-usap.

Ang mga pinalawig na serial telemetry protocol tulad ng TABS ay naka-packet-oriented sa mga packet ng byte na ipinagpapalit upang makipag-usap. Karaniwang kasama sa mga packet na ito ang header, data at checksum byte. Ang DNP3 protocol ay packet-oriented at ginamit ang packet structure na ipinapakita sa sumusunod na figure.

  Format ng Mensahe ng DNP3
Format ng Mensahe ng DNP3

Sa diagram ng format ng mensahe sa itaas, ang DNP3 ASDU (application service data unit) ay mahalaga para sa pagsasaayos ng matalinong nilalaman na kinokontrol sa pamamagitan ng parehong mga qualifier at pati na rin ang mga field ng indexSize. Kaya ang disenyong ito ay gagawing naa-access ang data ng application sa loob ng mga flexible na configuration.

Ngayon ay talakayin natin kung paano ipinagpapalit ang data lalo na sa layered na modelo ng komunikasyon.
Pinagsasama ng application layer sa diagram sa itaas ang isang ASDU (application service data unit) at isang naka-package na bagay sa pamamagitan ng APCI (application protocol control) block upang makagawa ng APDU (application protocol data unit).

Sisirain ng transport layer ang application service data unit o APDU sa iba't ibang segment na may maximum na 16 byte na laki at ipapakete ang mga ito sa pamamagitan ng 8-bit transport control header at 16-bit na segment na CRC separator sa isang Transport Frame.

Ang link layer ay nakamapa sa 4-layer na modelo na binuo sa pamamagitan ng DoD (Department of Defense) sa pamamagitan ng DoD Internet Layer na tinanggal. Kung ang serial transport ay ginagamit, pagkatapos ay ang packet assembly ay tapos na at matatagpuan sa transport media para sa paghahatid.

Kung ang packet ay ipinadala sa isang LAN o WAN, pagkatapos ay ang 3 DNP3 layer ay pinagsama sa unang layer. Ang packet na binuo ay maaaring balot sa loob ng TCP (Transport Control Protocol) sa pamamagitan ng transport layer na nakabalot sa loob ng IP (Internet Protocol) sa pamamagitan ng internet layer. Ang UDP (User Datagram Protocol) ay maaari ding gamitin ngunit nagpapakita ng ilang karagdagang isyu na konektado sa maaasahang paghahatid sa loob ng mga naka-pack na network.

Format ng Data ng DNP3

Ang DNP ay malawakang ginagamit sa pagkontrol sa mensaheng dumadaan sa pagitan ng sentral na istasyon at ng mga control unit. Pangunahing kasama sa format ng data ng DNP3 ang dalawang seksyon ang header at ang mga seksyon ng data. Dagdag pa, ang header ay pinaghihiwalay sa anim na subsection.

  Format ng Data ng DNP3
Format ng Data ng DNP3

Ang format ng data frame at ang kinakailangang laki ng bawat field ay ipinapakita sa figure sa itaas. Sa diagram na ito, ang Sync ay ang unang field na 1 byte at tinutukoy nito ang simula ng frame.
Ang halaga ng field na ito ay nakatakda sa 0564, kaya sa sandaling matanggap ang isang frame sa pamamagitan ng pagsusuri sa posisyon ng field ng Sync, magagawa nang mahusay ang pagmamapa.

Ang haba ng field ay nagbibigay ng buong haba ng frame upang ang isang partikular na buffer ay maaaring italaga sa patutunguhan upang hawakan ang mga papasok na frame. Kaya't ang pangalawang frame ay 'Control field' na naglalarawan sa kontrol na aksyon na kinakailangan upang ma-quire sa dulo ng receiver.

Ang control field ay magsasama ng hex value 41 kung hindi man ay 42 batay sa uri ng pagkilos. Pagkatapos nito, ang patutunguhan at ang source address field ay magbibigay ng nilalayong receiver address at ang pagpapadala ng node.
Ang CRC o Cyclic Redundancy Check ay ang huling field na makakatulong sa pag-verify ng frame error. Ang isang check value ay konektado sa mensahe sa oras ng pagpapadala na i-cross-verify sa dulo ng pagtanggap. Kapag tumugma ang value na ito, tinutukoy nito ang kawalan ng error sa loob ng frame. Ang seksyon ng data ay 2 hanggang 4 na byte ngunit wala itong papel sa pagkontrol sa pagpasa ng mensahe.

Ang figure sa itaas ay nagpapakita ng control message na ipinadala sa loob ng format ng DNP3 mula sa isang istasyon patungo sa isa pa tulad ng kontrol sa destinasyon. Para sa komunikasyon ng iba't ibang mga aksyon sa mga destinasyon, ang mga field tulad ng control field pati na rin ang patutunguhan address samantalang ang ilang mga field ay hindi magbabago para sa lahat ng mga komunikasyon.

Halimbawa ng DNP3 Monitoring System

Ang DNP3 master at remote monitoring system diagram ay ipinapakita sa ibaba. Ginagamit ang modelong ito upang maglipat ng data sa pagitan ng dalawang device tulad ng master at remote gamit ang DNP3.

  Halimbawa ng DNP3
Pagsusulit sa DNP3 ang

Ang DNP3 master at remote monitoring system diagram ay ipinapakita sa ibaba. Ginagamit ang modelong ito upang maglipat ng data sa pagitan ng dalawang device tulad ng master at remote gamit ang DNP3. Narito ang master ay ang computer at ang alipin o remote ay ang outstation. Ang ipinadalang data ay alinman sa static na data, data ng kaganapan at tumatanggap ng hindi hinihinging data ng kaganapan.

Ang DNP3 protocol ay karaniwang ginagamit sa pagitan ng master (computer) at remote (Outstation). Dito, ang master ay ginagamit upang magbigay ng interface sa pagitan ng human network manager pati na rin ang monitoring system. Ang remote ay nagbibigay ng interface sa pagitan ng master pati na rin ang pisikal na aparato na kinokontrol o sinusubaybayan.

Parehong gumagamit ang master at remote ng isang karaniwang library ng mga bagay para sa pagpapalitan ng data. Narito ang data Ang DNP3 protocol ay isang polled protocol na kinabibilangan ng mga kakayahan na maingat na idinisenyo. Kapag nakakonekta na ang master station sa isang remote, maaaring magsagawa ng integrity poll na napakahalaga para sa pagtugon sa DNP3 dahil para sa isang data point ibinabalik nila ang lahat ng buffered value at binubuo din ang kasalukuyang halaga ng punto.

Sa pangkalahatan, ang mga driver ng DNP3 ay maaaring magsagawa ng iba't ibang poll nang regular tulad ng isang Integrity Poll, isang Class 1, isang Class 2, at isang Class 3. Sa Integrity Poll, hinihiling lang ng DNP3 sa outstation na ipadala ang Class 1, class 2, at class 3 nito. data ng kaganapan at Class 0 static na data sa loob ng magkakasunod na pagkakasunud-sunod. Karaniwang ginagamit ang Integrity Poll para sa pag-synchronize ng mga database ng DNP3 master & slave at sa gayon ay may posibilidad na maglaan ng mabagal na rate ng poll. Karaniwan, ginagamit ang mga poll sa Class 1, Class2 at Class 3 upang mabawi ang mga indibidwal na kaganapan sa klase sa mga nababagong rate batay sa kahalagahan ng mga kaganapang iyon na mas maraming kritikal na kaganapan ang itinalaga sa mga klase na may mas mabilis na rate ng poll.

Pagkakaiba sa pagitan ng DNP3 at IEC 61850

Ang pagkakaiba sa pagitan ng DNP3 at IEC 61850 ay kinabibilangan ng mga sumusunod.

DNP3

IEC 61850

Ang DNP3 protocol ay isang bukas na detalye ng industriya. Ang IEC 61850 ay ang IEC standard.
Ang pangkat ng mga gumagamit ng DNP ay ang karaniwang organisasyon ng DNP3 protocol. Ang internasyonal na komisyon ng electrotechnical ay ang karaniwang organisasyon ng IEC 61850.
Ang DNP3 protocol ay isang apat na layer na arkitektura at sinusuportahan din ang pitong layer TCP/IP o UDP/IP. Ang komunikasyon sa isang IEC 61850 protocol ay batay sa modelo ng OSI .
Ang DNP3, GOOSE, HMI, IEC, RTU, at SCADA ay ang mga karaniwang termino ng protocol ng komunikasyon ng IEC 61850. Ang intelligent device (IED), logical device at logical node, data object at data attribute ay ang mga antas na tumutukoy sa hierarchical information model ng isang IEC 61850
Ang mga benepisyo ng distributed network protocol ikatlong bersyon ay hindi nangangailangan ng mga tagasalin ng protocol, ang pagpapanatili, pagsubok, at pagsasanay ay magdadala ng mas kaunting oras, madaling pagpapalawak ng system, at may mahabang buhay ng produkto. Ang mga benepisyo ng IEC 61850 protocol ay ang gastos sa extension, gastos sa pagsasama, gastos sa paglilipat ng kagamitan, at mababang gastos sa pag-install.

Pagkakaiba sa pagitan ng DNP3 at Modbus

Ang pagkakaiba sa pagitan ng DNP3 at Modbus ay kinabibilangan ng mga sumusunod.

DNP3

Modbus

Ang distributed network protocol ay binuo noong 1993 ni Harris. Ang Modbus protocol ay binuo noong 1979 ni Modicon
Ang distributed network protocol ay gumagamit ng mga bits. Ang protocol ng komunikasyon ng Modbus ay gumagamit ng mga paglalarawan ng teksto upang ipadala ang data.
Ang DNP3 ay binubuo ng tatlong layer na sila ay pisikal, datalink, at application layer. Ang protocol ng komunikasyon ng Modbus ay binubuo lamang ng application layer
Sinusuportahan ng DNP3 protocol ang maraming alipin, maraming master, at peer-to-peer na komunikasyon. ang Modbus protocol ay sumusuporta lamang sa peer-to-peer na komunikasyon.
Ang mga parameter ng configuration na kinakailangan sa DNP3 protocol ay masamang rate, laki ng fragment, at mga address ng device. Ang mga configuration na kinakailangan sa Modbus protocol ay parity mode, ASCII mode, RTU mode, at baud rate.

Mga Kalamangan at Kahinaan ng DNP3

Ang mga pakinabang ng DNP3 protoco Isama ko ang mga sumusunod.

  • Ang DNP3 ay isang bukas na karaniwang protocol, kaya ang sinumang taga-disenyo ay maaaring magdisenyo ng kagamitang DNP3 na mahusay na tumutugma sa iba pang kagamitang DNP3.
  • Nagbibigay ang DNP3 ng maraming kakayahan dahil sa isang matalino at matatag na protocol.
  • Maaari itong humiling at tumugon sa pamamagitan ng ilang uri ng data sa loob ng iisang mensahe
  • Nagbibigay-daan ito sa ilang master at peer-to-peer na operasyon
  • Sinusuportahan nito ang karaniwang format ng oras at pag-synchronize ng oras.
  • Mababawasan ang mga gastos sa software.
  • Walang kinakailangan para sa mga tagasalin ng protocol.
  • Mas kaunting pagpapanatili at pagsubok.

Ang mga disadvantages ng DNP3 protocol ay kinabibilangan ng mga sumusunod.

Gumagamit ang DNP3 ng serial RTU at ina-upgrade ito sa pamamagitan ng Ethernet RTU (ERTU). Kung hindi rin pinahusay ang bandwidth ng channel ng komunikasyon sa istasyong iyon, magkakaroon ng mas mabagal na link ang user dahil sa overhead na ipinatupad sa pagbabalot ng DNP3 sa pamamagitan ng TCP/IP.

Mga Aplikasyon ng DNP3

Ang Mga aplikasyon ng DNP3 isama ang mga sumusunod.

  • Ang DNP3 ay nagbibigay-daan sa iba't ibang mga aparato sa loob ng mga sistema ng automation ng proseso na makipag-usap.
  • Malawakang ginagamit ng iba't ibang kumpanya ng utility ang protocol na ito para sa mga sistema ng telemetry ng gas, elektrikal, at tubig.
  • Ito ay ginagamit sa SCADA Communications.
  • Ang DNP3 communication protocol ay ginagamit sa remote at SCADA monitoring system.
  • Naaangkop ito sa buong kapaligiran ng SCADA na kinabibilangan ng mula master hanggang remote at RTU hanggang IED na mga komunikasyon at gayundin sa mga network application.

Kaya, ito ay tungkol sa lahat isang pangkalahatang-ideya ng DNP3 protocol – nagtatrabaho sa mga aplikasyon. Ang Detalye ng DNP3 protocol higit sa lahat ay nakasalalay sa modelo ng bagay. Kaya binabawasan lang ng modelong ito ang bit mapping ng data na kadalasang kinakailangan sa iba pang hindi gaanong object-oriented na protocol. Para sa mga technician at engineer ng SCADA, ang pagkakaroon ng ilang paunang natukoy na mga bagay ay gagawing mas kumportable ang disenyo at balangkas ng deployment ng DNP3. Narito ang isang katanungan para sa iyo, ano ang protocol?