Protokół DNP3: architektura, działanie, kody funkcji, format danych i jego zastosowania

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Protokół DNP3 lub Distributed Network Protocol3 został uruchomiony w 1992 roku przez japońską korporację w celu ustanowienia protokołu komunikacji między systemami rozproszonymi. DNP3 to protokół sterowania urządzeniami oparty na sieci, który służy do komunikacji między urządzeniem a zdalnym urządzeniem wejścia/wyjścia. Protokół ten zależy głównie od modelu zorientowanego obiektowo, który zmniejsza mapowanie bitów danych, które jest zwykle wymagane przez inne protokoły mniej zorientowane obiektowo. Jest używany głównie między centralnymi stacjami głównymi, a rozproszonymi jednostkami zdalnymi, gdzie centralna stacja główna działa po prostu jako interfejs między menedżerem sieci ludzkiej a systemem monitorowania. Rozproszona jednostka zdalna jest interfejsem między stacją główną a fizycznym urządzeniem obserwowanym i kontrolowanym w odległych obszarach. Wymiana danych między tymi dwoma może odbywać się za pomocą biblioteki obiektów wspólnych. W tym artykule omówiono omówienie Protokół DNP3 – praca z aplikacjami.


Co to jest protokół DNP3?

Zestaw protokołów komunikacyjnych, które są używane między różnymi komponentami w systemach automatyzacji procesów, znany jest jako protokół DNP3. Protokół ten został zaprojektowany głównie do celów komunikacji między różnymi rodzajami sprzętu do gromadzenia i kontroli danych. Tak w Systemy SCADA , protokół ten odgrywa zasadniczą rolę, gdy jest wykorzystywany przez RTU, SCADA i IED.



Architektura protokołu DNP3 i jego działanie

DNP3 to trzecia wersja protokołu sieci rozproszonej. Ma jeden sondaż integralności i trzy poziomy sondowania, gdzie sonda integralności służy do pobierania danych w jednym sondażu.

  Architektura protokołu DNP3
Architektura protokołu DNP3

Architektura sieci DNP3 może być architekturą unicast, multidrop i złączem danych/hierarchiczną.



Architektura unicastowa: jest również znana jako architektura jeden-do-jednego, tutaj stacja główna może komunikować się tylko z jedną stacją zewnętrzną, podczas gdy in architektura multidrop stacja główna może komunikować się z więcej niż jednym urządzeniem stacji zewnętrznej, co oznacza, że ​​może komunikować się z wieloma urządzeniami stacji zewnętrznej. Łącznik danych/architektura hierarchiczna jest kombinacją architektur multidrop i unicast.

Protokół komunikacyjny DNP3 jest powszechnie używany w instalacjach energetycznych, wodno-kanalizacyjnych, naftowych i gazowych, transporcie i innych środowiskach SCADA. Pozwala na przeglądanie ważnych poziomów w czasie rzeczywistym i historycznie, takich jak temperatura, wilgotność, poziom baterii, napięcie, poziom paliwa itp. Pozwala również na wykrywanie problemów i szybkie ich korygowanie, a także eliminowanie wąskich gardeł i nieefektywności.

Projektowanie protokołu DNP3 można wykonać w oparciu o warstwy modelu OSI, takie jak łącze danych, transport, aplikacja i warstwa użytkownika. Protokół ten zapewnia elastyczność w zakresie podłączania pojedynczego urządzenia nadrzędnego przez co najmniej jedną lub więcej stacji poza szeregowym oraz fizycznym nośnikiem Ethernet.
Inne możliwe architektury obejmują głównie różne połączenia główne z pojedynczą stacją zewnętrzną i operacjami peer-to-peer. Zazwyczaj master uruchamia polecenia sterujące, aby zażądać danych z urządzeń zarządzanych przez stację zewnętrzną lub aktywować je. Ta stacja po prostu reaguje na mastera, przesyłając odpowiednie informacje.

  Warstwy protokołu DNP3
Warstwy protokołu DNP3

Oparty na modelu OSI, protokół DNP3 obejmuje cztery warstwy łącza danych, funkcji transportu, warstwy aplikacji i użytkownika. W tym przypadku warstwa łącza danych na dole sprawi, że fizyczne łącze będzie bardziej niezawodne dzięki adresowaniu i wykrywaniu błędów. Funkcja transportu po prostu składa ramki z warstwy łącza we fragmenty warstwy aplikacji. Ta warstwa zajmuje całą wiadomość i określa, jakie dane są preferowane w stosunku do powyższej warstwy użytkownika. Każda wiadomość może mieć kilka typów danych, takich jak wejścia i wyjścia analogowe, binarne i licznikowe.

Jak działa protokół DNP3?

Protokół DNP3 działa po prostu przy użyciu 27 podstawowych kodów funkcji umożliwiających komunikację między stacjami głównymi i jednostkami zdalnymi. Niektóre kody funkcji pozwolą urządzeniu nadrzędnemu zażądać i uzyskać informacje o stanie z urządzenia zdalnego, a inne kody funkcji pozwolą urządzeniu nadrzędnemu na podjęcie decyzji lub poprawienie konfiguracji urządzenia odległego.

Kilka kodów funkcji jest używanych głównie w stacji głównej DNP3 do sterowania sprzętem lub jednostką zdalną w odległych lokalizacjach. Stacja master DNP3 zapewnia większość komunikacji ze zdalnym urządzeniem DNP3. Jednak komunikat niezamówiony (komunikat o/p) jest inicjowany przez jednostkę zdalną i generuje alarm. Aby ten komunikat zaalarmował urządzenie główne po wystąpieniu alarmu.

Kody funkcji

Kody funkcji DNP3 obejmują następujące elementy.

Kod funkcji

Opis

0x00

Potwierdź kod funkcji.

0x01

Przeczytaj kod funkcji.
0x02

Napisz kod funkcji.

0x03

Wybierz kod funkcji.

0x04

Obsługa kodu funkcji.

0x05

Kod funkcji bezpośredniego działania

0x0d

Kod funkcji zimnego restartu

0x0e

Kod funkcji ciepłego restartu

0x12

Zatrzymaj kod funkcji aplikacji

0x1b

Usuń kod funkcji pliku

0x81

Kod funkcji odpowiedzi

0x82

Kod funkcji niezamówionej odpowiedzi

Format wiadomości DNP3

Poniżej przedstawiono strukturę formatu wiadomości DNP3. Jeśli przyjrzymy się tej strukturze, zauważymy, że wiadomości są wymieniane między masterami i pilotami. Protokół telemetrii szeregowej (TBOS) jest zorientowany bajtowo poprzez wymianę pojedynczego bajtu w celu komunikacji.

Rozszerzone protokoły telemetrii szeregowej, takie jak TABS, są zorientowane na pakiety z pakietami bajtów, które są wymieniane w celu komunikacji. Pakiety te zwykle zawierają bajty nagłówka, danych i sumy kontrolnej. Protokół DNP3 jest zorientowany na pakiety i wykorzystuje strukturę pakietów pokazaną na poniższym rysunku.

  Format wiadomości DNP3
Format wiadomości DNP3

Na powyższym schemacie formatu wiadomości DNP3 ASDU (jednostka danych usługi aplikacji) jest cenna dla dostosowania sprytnej treści, która jest kontrolowana zarówno przez kwalifikatory, jak i pola indexSize. Dzięki temu projektowi dane aplikacji będą dostępne w elastycznych konfiguracjach.

Porozmawiajmy teraz o wymianie danych, zwłaszcza w warstwowym modelu komunikacji.
Warstwa aplikacji na powyższym diagramie łączy ASDU (jednostka danych usługi aplikacji) i obiekt w pakiecie za pomocą bloku APCI (kontrola protokołu aplikacji), aby utworzyć APDU (jednostkę danych protokołu aplikacji).

Warstwa transportowa podzieli jednostkę danych usługi aplikacji lub APDU na różne segmenty o maksymalnym rozmiarze 16 bajtów i pakuje je za pomocą 8-bitowego nagłówka kontroli transportu i 16-bitowych separatorów CRC segmentów w ramkę transportową.

Warstwa łącza jest mapowana do modelu 4-warstwowego, który jest opracowywany przez DoD (Departament Obrony) z pominięciem warstwy internetowej DoD. Jeśli używany jest transport szeregowy, składanie pakietów jest wykonywane i umieszczane na nośniku transportowym w celu dostarczenia.

Jeśli pakiet jest przesyłany przez sieć LAN lub WAN, 3 warstwy DNP3 są zwijane w pierwszą warstwę. Składany pakiet może być owinięty w TCP (Transport Control Protocol) przez warstwę transportową, która jest owinięta w IP (Internet Protocol) przez warstwę internetową. Można również wykorzystać UDP (protokół datagramów użytkownika), ale stwarza pewne dodatkowe problemy związane z niezawodnym dostarczaniem w upakowanych sieciach.

Format danych DNP3

DNP jest szeroko stosowany w kontrolowaniu wiadomości przesyłanych między stacją centralną a jednostkami sterującymi. Format danych DNP3 obejmuje głównie dwie sekcje: nagłówek i sekcje danych. Ponadto nagłówek jest podzielony na sześć podsekcji.

  Format danych DNP3
Format danych DNP3

Format ramki danych i niezbędny rozmiar każdego pola pokazano na powyższym rysunku. Na tym diagramie Sync jest pierwszym polem, które ma 1 bajt i określa początek ramki.
Ta wartość pola jest ustalona na 0564, więc po odebraniu ramki poprzez zbadanie pozycji pola Sync, mapowanie może być wykonane wydajnie.

Długość pola zapewnia całkowitą długość ramki, dzięki czemu w miejscu docelowym można przypisać określony bufor do przechowywania przychodzących ramek. Tak więc druga ramka to „Pole kontrolne”, które opisuje czynność kontrolną wymaganą do sprawdzenia po stronie odbiornika.

Pole kontrolne będzie zawierało wartość szesnastkową 41, w przeciwnym razie 42 na podstawie typu akcji. Następnie pole adresu docelowego i źródłowego zapewni zamierzone adresy odbiorców i węzeł nadawczy.
CRC lub cykliczna kontrola nadmiarowa to ostatnie pole, które pomoże w weryfikacji błędu ramki. Wartość kontrolna jest połączona z wiadomością w czasie transmisji, która zostanie zweryfikowana krzyżowo po stronie odbiorczej. Gdy ta wartość jest zgodna, określa brak błędu w ramce. Sekcja danych ma od 2 do 4 bajtów, jednak nie odgrywa żadnej roli w kontrolowaniu przekazywania wiadomości.

Powyższy rysunek przedstawia komunikat kontrolny przesyłany w formacie DNP3 z jednej stacji do drugiej, podobnie jak kontrola do miejsca przeznaczenia. W przypadku komunikacji różnych działań z miejscami docelowymi, pola takie jak pole kontrolne, a także adres docelowy, podczas gdy niektóre pola nie zmienią się dla całej komunikacji.

Przykład systemu monitorowania DNP3

Schemat systemu nadrzędnego i zdalnego monitorowania DNP3 pokazano poniżej. Ten model służy do przesyłania danych między dwoma urządzeniami, takimi jak master i remote, za pomocą DNP3.

  Przykład DNP3
Egzamin DNP3 ten

Schemat systemu nadrzędnego i zdalnego monitoringu DNP3 przedstawiono poniżej. Ten model służy do przesyłania danych między dwoma urządzeniami, takimi jak master i remote, za pomocą DNP3. Tutaj master jest komputerem, a slave lub pilot jest stacją zewnętrzną. Przesyłane dane są albo danymi statycznymi, danymi o zdarzeniach, albo akceptują niezamówione dane o zdarzeniach.

Protokół DNP3 jest zwykle używany między urządzeniem nadrzędnym (komputerem) a zdalnym (stacja zewnętrzna). Tutaj master służy do zapewnienia interfejsu między menedżerem sieci ludzkiej a systemem monitorowania. Pilot zapewnia interfejs pomiędzy urządzeniem nadrzędnym a fizycznym urządzeniem, które jest kontrolowane lub monitorowane.

Zarówno master jak i remote wykorzystują do wymiany danych wspólną bibliotekę obiektów. Oto dane Protokół DNP3 jest protokołem odpytywanym, który zawiera funkcje, które zostały starannie zaprojektowane. Gdy stacja główna jest podłączona do pilota zdalnego, można przeprowadzić sondowanie integralności, które jest bardzo istotne dla adresowania DNP3, ponieważ dla punktu danych zwracają wszystkie buforowane wartości i zawierają również bieżącą wartość punktu.

Ogólnie rzecz biorąc, sterowniki DNP3 mogą rutynowo przeprowadzać różne sondy, takie jak Integrity Poll, Class 1, Class 2 i Class 3. W Integrity Poll, DNP3 po prostu żąda od stacji zewnętrznej przesłania jej klasy 1, klasy 2 i klasy 3. dane o zdarzeniach i dane statyczne klasy 0 w porządku chronologicznym. Integrity Poll jest zwykle używany do synchronizowania baz danych urządzenia master i slave DNP3 i dlatego przypisuje mu się niską częstotliwość odpytywania. Zazwyczaj ankiety klasy 1, klasy 2 i klasy 3 są używane do odzyskiwania poszczególnych zdarzeń klasowych po zmiennym tempie, w zależności od ważności tych zdarzeń, bardziej krytyczne zdarzenia są przypisywane do klas, które mają szybszy wskaźnik odpytywania.

Różnica między DNP3 a IEC 61850

Różnica między DNP3 a IEC 61850 obejmuje następujące elementy.

DNP3

IEC 61850

Protokół DNP3 to otwarta specyfikacja branżowa. IEC 61850 to standard IEC.
Grupa użytkowników DNP to standardowa organizacja protokołu DNP3. Międzynarodowa Komisja Elektrotechniczna jest organizacją standardową IEC 61850.
Protokół DNP3 jest architekturą czterowarstwową i obsługuje również siedmiowarstwową TCP/IP lub UDP/IP. Komunikacja w protokole IEC 61850 oparta jest na: Model OSI .
DNP3, GOOSE, HMI, IEC, RTU i SCADA to wspólne terminy protokołu komunikacyjnego IEC 61850. Inteligentne urządzenie (IED), urządzenie logiczne i węzeł logiczny, obiekt danych i atrybut danych to poziomy, które definiują hierarchiczny model informacji IEC 61850
Zaletą trzeciej wersji protokołu sieci rozproszonej jest brak konieczności korzystania z translatorów protokołów, konserwacja, testowanie i szkolenie zajmie mniej czasu, łatwa rozbudowa systemu i długa żywotność produktu. Zaletami protokołu IEC 61850 są koszt rozszerzenia, koszt integracji, koszt migracji sprzętu i koszty instalacji są niskie.

Różnica między DNP3 a Modbus

Różnica między DNP3 i Modbus obejmuje następujące elementy.

DNP3

Modbus

Rozproszony protokół sieciowy został opracowany w 1993 roku przez Harrisa. Protokół Modbus został opracowany w 1979 roku przez Modicon
Rozproszony protokół sieciowy używa bitów. Protokół komunikacyjny Modbus wykorzystuje opisy tekstowe do wysyłania danych.
DNP3 składa się z trzech warstw: warstwy fizycznej, łącza danych i aplikacji. Protokół komunikacyjny Modbus składa się tylko z warstwy aplikacji
Protokół DNP3 obsługuje wiele urządzeń podrzędnych, wiele urządzeń nadrzędnych i komunikację peer-to-peer. protokół Modbus obsługuje tylko komunikację peer-to-peer.
Parametry konfiguracyjne wymagane w protokole DNP3 to zła szybkość, rozmiar fragmentu i adresy urządzeń. Konfiguracje wymagane w protokole Modbus to tryb parzystości, tryb ASCII, tryb RTU i szybkość transmisji.

Plusy i minusy DNP3

The zalety protokołu DNP3 Dołączam następujące.

  • DNP3 to otwarty protokół standardu, więc każdy projektant może zaprojektować sprzęt DNP3, który jest dobrze dopasowany do innych urządzeń DNP3.
  • DNP3 zapewnia wiele możliwości dzięki inteligentnemu i solidnemu protokołowi.
  • Może żądać i odpowiadać za pośrednictwem kilku typów danych w ramach pojedynczych wiadomości
  • Umożliwia kilka operacji master i peer-to-peer
  • Obsługuje standardowy format czasu i synchronizację czasu.
  • Koszty oprogramowania zostaną obniżone.
  • Brak wymagań dla tłumaczy protokołów.
  • Mniej konserwacji i testowania.

Wady protokołu DNP3 obejmują następujące elementy.

DNP3 używa szeregowego RTU i aktualizuje go przez Ethernet RTU (ERTU). Jeśli przepustowość kanału komunikacyjnego do tej stacji również nie zostanie zwiększona, wówczas użytkownik będzie miał wolniejsze łącze z powodu narzutu zaimplementowanego w owinięciu DNP3 przez TCP/IP.

Aplikacje DNP3

The Aplikacje DNP3 obejmują następujące elementy.

  • DNP3 umożliwia komunikację różnych urządzeń w ramach systemów automatyzacji procesów.
  • Różne firmy użyteczności publicznej szeroko stosują ten protokół w systemach telemetrii gazowej, elektrycznej i wodnej.
  • Jest używany w komunikacji SCADA.
  • Protokół komunikacyjny DNP3 jest używany w systemach zdalnego monitoringu i SCADA.
  • Ma to zastosowanie w całym środowisku SCADA, które obejmuje komunikację od urządzenia nadrzędnego do zdalnego i RTU do urządzenia IED, a także w aplikacjach sieciowych.

Tak więc o to chodzi przegląd protokołu DNP3 – praca z aplikacjami. The Specyfikacja protokołu DNP3 zależy głównie od modelu obiektu. Tak więc ten model po prostu zmniejsza mapowanie bitów danych, które jest zwykle konieczne w przypadku innych protokołów mniej zorientowanych obiektowo. Dla techników i inżynierów SCADA posiadanie kilku predefiniowanych obiektów sprawi, że DNP3 będzie wygodniejszy w zakresie projektowania i wdrażania. Oto pytanie do Ciebie, jaki jest protokół?