Podporované typy a verzie zariadení  
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Tell príkazy
Literatúra
Zmeny a úpravy
Revízie dokumentu

Podporované typy a verzie zariadení



Protokol DNP3 je telemetrický protokol určený na komunikáciu centrálnej stanice (Master Station, zvyčajne SCADA) s podriadenými stanicami (Outstation, zvyčajne PLC, RTU alebo iné IED - Intelligent Electronic Devices). Bol vyvinutý počas doby, keď IEC iba pracovalo na štandardoch skupiny IEC60870-5 (IEC 870-5-101 a IEC 870-5-104).

Protokol DNP3 definuje viacero skupín objektov (Groups - napr. Binary Input, Analog Input, Counter) a pre každú skupinu objektov viacero variácií (napr. pre Analog Input je to 32-bit with flag, 16-bit with flag, 32-bit without flag, 16-bit without flag, Single-precision floating point with flag..). Každý objekt je definovaný číslom skupiny a indexom (nezáporné číslo s veľkosťou 1, 2 alebo 4 bajty).

Zároveň DNP3 protokol zaraďuje objekty do 4 tried (Class 0 - statické objekty; Class 1..3 - dynamické objekty s registrovaním zmien). Podobne ako IEC 870-5-101 a IEC 870-5-104 podporuje DNP3 vyžiadanie si všetkých hodnôt konkrétnej triedy (výzva Poll), navyše je možné explicitné čítanie konkrétnej skupiny objektov s udaním variácie (prípadne s použitím variácie 0 - automatickej). Pri čítaní je možné žiadať dáta celej skupiny, prípadne špecifikovať konkrétny index, prípadne celý interval objektov.

Nad objektami sú podporené tieto aplikačné funkcie:

  • Read (1) - čítanie objektov.
  • Write (2) - jednofázový zápis objektov (s číselným kódom potvrdzujúcim úspešný zápis alebo hovoriacim o chybe zápisu).
  • Select (3) + Operate (4) - dvojfázový zápis objektov, ktorý prakticky vylučuje možnosť chyby v dôsledku nedetekovaného rušenia na linke. Každá operácia vracia okrem návratového kódu aj skupinu, index a zapisovanú hodnotu.
  • Direct Operate (5) - jednofázový zápis objektov (okrem číselného kódu operácia vracia aj skupinu, index a zapisovanú hodnotu).
  • Direct Operate Non Return (6) - jednofázový zápis objektu bez potvrdenia (najmenej bezpečný).
  • Enable Unsolicited Responses (20) - aktivácia posielania spontánnych zmien podriadenými stanicami.

Protokol podporuje aj posielanie spontánnych zmien podriadenými stanicami - s použitím aplikačnej funkcie Unsolicited Response (130).

Dáta sú posielané ako dátové pakety (Data Link Layer packet) nazývané aj transportné segmenty. Jeden alebo viacero transportných segmentov tvorí fragment aplikačnej vrstvy (Application Layer fragment). Fragment môže byť posielaný ako potvrdzovaný (funkčný kód dátovej vrstvy 3 - CONFIRMED_USER_DATA) alebo nepotvrdzovaný (funkčný kód dátovej vrstvy 4 - UNCONFIRMED_USER_DATA). Samotné transportné segmenty v rámci jedného fragmentu sú vždy potvrdzované - s výnimkou posledného (funkčný kód dátovej vrstvy 0 - ACK).


Tab. č. 1: Implementácia D2000 podporuje spracovanie nasledovných skupín objektov a ich variácií:

Skupina objektov
(zvýraznené sa dajú konfigurovať pre merané body)
VariáciePodporené
operácie
Poznámka
Binary Input (1)

Packed format (1)
With flags (2)

Čítanie (Read)Binárne vstupy
Binary Input Event (2)Without time (1)
With absolute time (2)
With relative time (3)
Analýza*Reportovanie zmien binárnych vstupov
Double-bit Binary Input (3)Packed format (1)
With flags (2)
Čítanie (Read)Štvorstavové vstupy
Double-bit Binary Input Event (4)Without time (1)
With absolute time (2)
With relative time (3)
Analýza*Reportovanie zmien štvorstavových vstupov
Binary Output (10)Packed format (1)
Output status with flags (2)

Čítanie (Read)
Zápis (Write, Select+Operate)

Binárne výstupy
Binary Output Event (11)Status w/o time (1)
Status with time (2)
Čítanie (Read)Reportovanie zmien binárnych výstupov
Binary Command (12)Control relay output block (CROB) (1)
Pattern control block (PCB) (2)
Pattern mask (3)
-Zatiaľ nepodporené
Binary Output Command Event (13)Command status without time (1)
Command status with time (2)
Analýza*Reportovanie zmien (príkazov niekoho iného)
Counter (20)32-bit with flag (1)
16-bit with flag (2)
32-bit with flag, delta (obsolete) (3)
16-bit with flag, delta (obsolete) (4)
32-bit w/o flag (5)
16-bit w/o flag (6)
32-bit w/o flag, delta (obsolete) (7)
16-bit w/o flag, delta (obsolete) (8)
Čítanie (Read)Počítadlá
Frozen Counter (21)32-bit with flag (1)
16-bit with flag (2)
32-bit with flag, delta (obsolete) (3)
16-bit with flag, delta (obsolete) (4)
32-bit with flag and time (5)
16-bit with flag and time (6)
32-bit with flag and time, delta (obsolete) (7)
16-bit with flag and time, delta (obsolete) (8)
32-bit w/o flag (9)
16-bit w/o flag (10)
32-bit w/o flag, delta (obsolete) (11)
16-bit w/o flag, delta (obsolete) (12)
Čítanie (Read)Počítadlá - hodnoty zachytené v čase, keď bol objekt zmrazené
Counter Event (22)32-bit with flag (1)
16-bit with flag (2)
32-bit with flag, delta (obsolete) (3)
16-bit with flag, delta (obsolete) (4)
32-bit with flag and time (5)
16-bit with flag and time (6)
32-bit with flag and time, delta (obsolete) (7)
16-bit with flag and time, delta (obsolete) (8)
Analýza*Reportovanie zmien počítadiel
Frozen Counter Event (23)32-bit with flag (1)
16-bit with flag (2)
32-bit with flag, delta (obsolete) (3)
16-bit with flag, delta (obsolete) (4)
32-bit with flag and time (5)
16-bit with flag and time (6)
32-bit with flag and time, delta (obsolete) (7)
16-bit with flag and time, delta (obsolete) (8)
Analýza*Reportovanie zmien počítadiel v čase zmrazenia
Analog Input (30)32-bit with flag (1)
16-bit with flag (2)
32-bit w/o flag (3)
16-bit w/o flag (4)
Single-prec flt-pt with flag (5)
Double-prec flt-pt with flag (6)
Čítanie (Read)Analógové vstupy
Frozen Analog Input (31)32-bit with flag (1)
16-bit with flag (2)
32-bit with time-of-freeze (3)
16-bit with time-of-freeze (4)
32-bit w/o flag (5)
16-bit w/o flag (6)
Single-prec flt-pt with flag (7)
Double-prec flt-pt with flag (8)
Čítanie (Read)Analógové vstupy - hodnoty zachytené v čase, keď bol objekt zmrazený
Analog Input Event (32)32-bit w/o time (1)
16-bit w/o time (2)
32-bit with time (3)e
16-bit with time (4)
Single-prec flt-pt w/o time (5)
Double-prec flt-pt w/o time (6)
Single-prec flt-pt with time (7)
Double-prec flt-pt with time (8)
Analýza*Reportovanie zmien analógových vstupov
Frozen Analog Input Event (33)32-bit w/o time (1)
16-bit w/o time (2)
32-bit with time (3)
16-bit with time (4)
Single-prec flt-pt w/o time (5)
Double-prec flt-pt w/o time (6)
Single-prec flt-pt with time (7)
Double-prec flt-pt with time (8)
Analýza*

Reportovanie zmien analógových vstupov  v čase zmrazenia

Analog Input Reporting Deadband (34)16-bit (1)
32-bit (2)
Single-prec flt-pt (3)
Čítanie (Read)
Zápis (všetky funkcie)
Deadbandy analógových vstupov
Analog Output Status (40)32-bit with flag (1)
16-bit with flag (2)
Single-prec flt-pt with flag (3)
Double-prec flt-pt with flag (4)
Čítanie (Read)Čítanie analógových výstupov
Analog Output (41)32-bit (1)
16-bit (2)
Single-prec flt-pt (3)
Double-prec flt-pt (4)
Zápis (Select+Operate,
Direct Operate,
Direct Operate No Response
, ale nie Write)
Zápis analógových výstupov
Analog Output Event (42)32-bit w/o time (1)
16-bit w/o time (2)
32-bit with time (3)
16-bit with time (4)
Single-prec flt-pt w/o time (5)
Double-prec flt-pt w/o time (6)
Single-prec flt-pt with time (7)
Double-prec flt-pt with time (8)
Analýza*Reportovanie zmien analógových výstupov
Analog Output Command Event (43)32-bit w/o time (1)
16-bit w/o time (2)
32-bit with time (3)
16-bit with time (4)
Single-prec flt-pt w/o time (5)
Double-prec flt-pt w/o time (6)
Single-prec flt-pt with time (7)
Double-prec flt-pt with time (8)
Analýza*

Reportovanie zmien analógových výstupov
(v dôsledku príkazu niekoho iného)

Time and Date (50)Absolute time (1)
Absolute time and interval (2)
Absolute time at last recorded time (3)
Čítanie (Read)Aktuálny čas
Time and Date CTO (51)

Absolute time, synchronized (1)
Absolute time, unsynchronized (2)

Analýza*Základná časová značka**
Class Objects (60)Class 0 data (1)
Class 1 data (2)
Class 2 data (3)
Class 3 data (4)
PollVyžiadanie hodnôt všetkých objektov príslušnej triedy
Binary-Coded Decimal Integer (101)Small (1)
Medium (2)
Large (3)
Čítanie (Read)Čítanie 1,2 a 4-bajtových BCD čísiel so znamienkom
Unsigned Integer (102)8-bit (1)Čítanie (Read)Čítanie 8-bitových čísiel bez znamienka
Octet String (110)Variácie 0-255 zodpovedajú reťazcom s dĺžkou 0-255 bajtovČítanie (Read)
Zápis (Write)
Čítanie + zápis reťazcov
Octet String Event (111)Variácie 0-255 zodpovedajú reťazcom s dĺžkou 0-255 bajtovAnalýza*Reportovanie zmien reťazcov
Virtual Terminal Output Block (112)Variácie 0-255 zodpovedajú reťazcom s dĺžkou 0-255 bajtovZápis (Write)Zápis do virtuálneho terminálu
Virtual Terminal Event Data (113)Variácie 0-255 zodpovedajú reťazcom s dĺžkou 0-255 bajtovČítanie (Read)Čítanie z virtuálneho terminálu

* Pozn: operácia Analýza znamená, že D2000 KOM dokáže analyzovať správu a priradiť hodnoty príslušnému meranému bodu. Napr. pre skupinu objektov Binary Input Event (2) sa hodnoty priraďujú meraným bodom zo skupiny Binary Input (1).

** Pozn: Stanica môže posielať hodnoty objektu zo skupiny Time and Date CTO (51) s významom nastavenia CTO (Common Time of Occurence) - základnej časovej značky. Následne sú posielané hodnoty s relatívnym časom - skupiny Binary Input Event (2) a Double-bit Binary Input Event (4), s použitím variácie With relative time (3).

Pozn: D2000 KOM umožňuje poslať správu s typom zápisu aj mimo rozsah povolený normou - napr. pre skupinu Analog Output (41) je možné nakonfigurovať zápisovú operáciu s funkciou Write (2).

Implementácia D2000 podporuje aj synchronizáciu času (podľa parametrov nastavených na stanici) a browsovanie. Nie je podporená funkcia bezpečnej autentifikácie (secure authentication).

Konfigurácia komunikačnej linky



Kategória komunikačnej linky:

  • Serial
  • SerialOverUDP Device Redundant
  • MOXA IP Serial Library
  • RFC2217 Client
  • TCP/IP-UDP: na linke sa konfiguruje IP adresa a UDP port podriadenej stanice (štandardný port pre DNP3 protokol je 20000). UDP port na strane D2000 KOM procesu je pridelený dynamicky. Ak je potrebné ho zafixovať, použite linku SerialOverUDP Device Redundant.
  • TCP/IP-TCP: na linke sa konfiguruje IP adresa a TCP port podriadenej stanice (štandardný port pre DNP3 protokol je 20000). Parameter Číslo linky sa nepoužíva, nastavte  ho na 0.
    Pozn: ak sú na linke TCP/IP-TCP všetky stanice v stave StOFF, TCP spojenie bude zatvorené. Takto je možné riadiť TCP komunikáciu zo skriptu pomocou tell príkazu STSTAT.


Parametre protokolu linky



Dialóg konfigurácia linky - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu linky:

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota

MA

Master AddressAdresa KOM procesu. Adresa musí byť 16-bitové číslo z intervalu 0-65 519 (ostatné adresy majú špeciálne významy).-1

SS

Serialized StationsSerializácia komunikácie s jednotlivými stanicami na linke. Serializácia znamená, že jednotlivé stanice sú vyzývané postupne (čo zodpovedá situácii staníc na sériovej linke), aby nedošlo ku konfliktu, keď sa budú viaceré stanice snažiť poslať odpoveď naraz. Pokiaľ sa komunikuje v skutočnosti s jediným zariadením, ktoré obsahuje viacero virtuálnych staníc, prípadne preposiela správy ďalším staniciam (tak, aby nedošlo ku konfliktu), alebo sa jedná o duplexný kanál (TCP, UDP), je možné serializáciu vypnúť. D2000 KOM proces vtedy rozpošle výzvy na všetky stanice na linke a následne čaká na odpovede. Vypnutie serializácie môže komunikáciu zrýchliť, ale na linkách s viacerými stanicami a možnosťou vzniku kolízie (napr. RS-485) to spôsobí kolíze a straty paketov.-YES

BG

Browse All GroupsParameter určuje, či sa pri browsovaní okrem Poll výzviev na jednotlivé triedy (Class 0-3) majú posielať aj výzvy na explicitné čítanie všetkých podporovaných skupín objektov. Dôvodom explicitného čítania skupín je, že niektoré objekty nemusia byť zaradené do žiadnej z tried, takže Poll výzva ich nenájde.-YES

DTQ

Debug Timeout QueueParameter zapína rozšírené ladiace informácie o správach v časovej fronte.-NO


Konfigurácia komunikačnej stanice



  • Komunikačný protokol DNP3.
  • Adresa stanice: 16-bitové číslo z intervalu 0-65 519 (ostatné adresy majú špeciálne významy).

Parametre protokolu stanice



Môžu byť zadané nasledovné parametre protokolu stanice:

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota

PI1, PI2, PI3, PI4

Poll Interval n (-1=OFF)Interval pre posielanie Poll výziev. Je možné nakonfigurovať 4 rôzne intervaly a pre každý špecifikovať triedu, na ktorú sa Poll výzva posiela (Class 0-3).
Pri každom periodickom obvolávaní stanice (podľa nastavení zadaných na záložke "Časové parametre" objektu typu Stanica) sa kontroluje, či už uplynul zadaný interval od poslania poslednej Poll výzvy.
Pozn: Poll výzvy sa navyše posielajú aj vtedy, pokiaľ stanica reportuje dostupné dáta (pomocou poľa Internal Indications, ktoré je prítomné v odpovediach na čítanie/zápis).
sec

10 pre PI1-3

600 pre PI0

PC1, PC2, PC3, PC4

Poll Class n

Trieda, ktorá sa má byť referencovaná v rámci n-tej Poll výzvy. Podľa normy existujú štyri triedy:

  • Class 0 (static data) - odpoveď na Poll vracia statické dáta objektov patriacich do Class 0-3
  • Class 1 (event data high) - odpoveď na Poll vracia udalosti (zmeny hodnôt) objektov patriacich do Class 1
  • Class 2 (event data normal) - odpoveď na Poll vracia udalosti (zmeny hodnôt) objektov patriacich do Class 2
  • Class 3 (event data low) -  - odpoveď na Poll vracia udalosti (zmeny hodnôt) objektov patriacich do Class 3

Prednastavené poradie pre jednotlivé parametre (Pol Class 1-4) je Class 1, 2, 3, 0. Najskôr sa tak vyčítavajú dáta (udalosti) od najvyššej priority (pre Class 1, 2, 3) a až potom statické dáta (pre všetky triedy Class 0-4).

-Class 1
Class 2
Class 3
Class 0

MF

Max Frame Length

Maximálna dĺžka dátového paketu posielaného procesom D2000 KOM - Data Link Layer packet (nazývaný aj transportný segment). Jedná sa o dĺžku dát v hlavičke (Header Block), t.j. polia Ctrl (1B), Destination (2B), Source (2B) a dáta v Data blokoch (v každom max. 16 bajtov). Do dĺžky sa nezapočítava polia Start (2B), Length(2B) v hlavičke ani polia CRC (2B) v hlavičke a každom dátovom bloku. Parameter môže mať hodnotu 10-255.

Bytes250

MG

Max Fragment LengthMaximálna dĺžka fragmentu aplikačnej vrstvy (Application Layer fragment) posielaného procesom D2000 KOM. Fragment aplikačnej správy je samostatne analyzovateľná správa (blok dát obsahujúcich výzvu alebo odpoveď), ktorá sa posiela ako jeden alebo viacero transportných segmentov. Parameter môže mať hodnotu 15-1024. Bytes512

RT

Response TimeoutTimeout na prijatie odpovede na výzvu.sec10.000

RL

Reset Link StatesSpráva posielaná na stanicu pri nadväzovaní spojenia. Podľa normy musí byť posielaná správa RESET_LINK_STATES (0), ak sa používajú potvrdzované správy (viď parameter Confirmation Mode). Pokiaľ sa parameter nastaví na hodnotu NO, bude posielaná správa REQUEST_LINK_STATUS (9).
Podľa normy sú správy REQUEST_LINK_STATUS (9) odporúčané pri použití DNP3 protokolu na IP sieťach, t.j. v rámci TCP a UDP správ.
-YES

RO

Read OnlyAk je parameter nastavený na hodnotu YES, stanica je v móde odposluchu (neposielajú sa na ňu žiadne správy).-NO

RC

Retry CountPočet posielaní správ (1-20), pokiaľ stanica neodpovedá, alebo je jej odpoveď poškodená.-3

CE

Com ErrorPočet chýb (neprijatá alebo poškodená odpoveď) po ktorých stanica prechádza do komunikačnej chyby.-5

AU

Activate UnsolicitedAktivovanie posielania spontánnych zmien podriadenými stanicami - funkcia Unsolicited Response (130). Parameter môže nadobúdať hodnoty:
  • Disabled - aktivovanie je vypnuté
  • Class 1/2/3 - aktivovanie sa vykoná poslaním správy s funkciou Enable Unsolicited Responses (20) na triedy Class 1, 2, 3

Pozn: posielanie spontánnych zmien viacerými stanicami napr. na RS-485 zbernici môže spôsobiť vznik kolízií.

-Disabled

CM

Confirmation ModeZapnutie potvrdzovania správ posielaných procesom D2000 KOM. Ak je zapnuté potvrdzovanie, tak stanica musí každý aplikačný fragment potvrdiť (aplikačná funkcia 0 - CONFIRM).
Podľa normy by sa nemali používať potvrdzované správy na IP sieťach, t.j. v rámci TCP a UDP správ.
Ak je zapnuté potvrdzovanie, tak parameter Reset Link States musí byť podľa normy nastavený na YES.
-Unconfirmed

RSD

Receive-send DelayOneskorenie medzi prijatím odpovede stanice a poslaním ďalšieho paketu. Oneskorenie môže umelo spomaliť komunikáciu (znížiť záťaž na stanicu).ms0

RW

Read after WriteZapína overenie hodnoty po zápise čítaním. Čítanie bude vykonané iba pre merané body s nakonfigurovaným explicitným čítaním (parameter Explicit Read) a typom zápisu (parameter Write Type), ktorý nevracia hodnotu, t.j. Write (2) a Direct Operate Non Return (6).-YES

SR

Single Request Per FrameParameter vypína prednastavenú kumuláciu viacerých požiadaviek typu Read a Poll v rámci jednej správy. Štandardne sa požiadavky kumulujú, až kým veľkosť dát nedosiahne  Max Fragment Length bajtov.-NO

SB

Status Bits Mapping

Mapovanie stavových bitov (pokiaľ ich prijatá správa obsahuje) do hodnoty meraného bodu. Možnosti sú:

  • WEAK Attribute: stavové bity sú mapované do atribútu WEAK
  • Flags (FLA..FLH): stavové bity sú mapované do užívateľských flagov FLA až FLH
  • WEAK + Flags: stavové bity sú mapované do atribútu WEAK aj do užívateľských flagov FLA až FLH
  • None: stavové bity sú ignorované

Rôzne variácie v rámci rôznych skupín majú rôzne stavové bity. Všetky s výnimkou ONLINE bitu signalizujú problém.

Jednotlivé skupiny a ich variácie majú nasledovné stavové bity:

(syntax GXvY znamená Group X variation Y, GXvY-Z znamená Group X variation Y až Z - viď Tabuľka č. 1)

G1v2, G2v1-3, G3v2, G4v1-3, G10v2, G11v1:

  • Bit 0: ONLINE
  • Bit 1: RESTART
  • Bit 2: COMM_LOST
  • Bit 3: REMOTE_FORCED
  • Bit 4: LOCAL_FORCED
  • Bit 5: CHATTER_FILTER (vždy 0 pre G10v2, G11v1)

G20v1-4, G21v1-8, G22v1-8, G23v1-8: 

  • Bit 0: ONLINE
  • Bit 1: RESTART
  • Bit 2: COMM_LOST
  • Bit 3: REMOTE_FORCED
  • Bit 4: LOCAL_FORCED
  • Bit 5: ROLLOVER
  • Bit 6: DISCONTINUITY (vždy 0 pre G20v3-4, G21v3-4, G21v7-8, G22v3-4, G22v6-8, G23v2-4, G23v7-8)

G30v1-2, G30v5-6, G31v1-4, G30v7-8, G32v1-8, G33v1-8, G40v1-4, G42v1-8:

  • Bit 0: ONLINE
  • Bit 1: RESTART
  • Bit 2: COMM_LOST
  • Bit 3: REMOTE_FORCED
  • Bit 4: LOCAL_FORCED
  • Bit 5: OVER_RANGE
  • Bit 6: REFERENCE_ERR
-WEAK + Flags

OF

Reverse Online FlagReverzia ONLINE príznaku. Keďže sa jedná o jediný príznak v DNP3 protokole, ktorý znamená normálny stav (všetky ostatné príznaky znamenajú problémy), môže byť užitočné jeho reverzia pri mapovaní do flagu FLA (takže flag FLA je nastavený, ak ONLINE príznak má hodnotu 0, t.j. zariadenie je offline).-NO

SF

Separate Frozen CounterZapína oddelenie menného priestoru pre Frozen Counters od Counters - t.j. merané body v skupinách Frozen Counter (21) a Frozen Counter Event (23) budú mať oddelené adresy od premenných v skupinách Counter (20) a Counter Event (22). Podľa normy zdieľajú Frozen Counters a Counters spoločný priestor, ale konkrétna implementácia DNP3 protokolu vyžadovala toto oddelenie.-NO

SE

Octet String Encoding

Kódovanie použité pri konverzii objektov zo skupiny Octet String (110) na textový reťazec. Podporené sú kódovania:

  • UTF-8
  • ISO-8859-1 (identické mapovanie bez konverzie)
  • Windows-1250
  • Windows-1251
  • Windows-1252
-ISO_8859_1

DT

Debug I/O TagsVysoká úroveň sledovania komunikácie s výpisom informácií o jednotlivých meraných bodoch.-NO

Konfigurácia meraných bodov



Možné typy hodnôt bodov: Ai, Ao, Di, Dout, Ci, Co, Qi, TxtI, TxtO, TiA, ToA, TiR, ToR.


Adresa meraného bodu



Úvod

Meraný bod zodpovedá jednému DNP3 objektu.

Minimálna konfigurácia meraného bodu spočíva v nakonfigurovaní parametrov Group a Index. Takýto meraný bod musí byť na strane zariadenia zaradený do niektorej z dynamických tried Class 1-3, aby jeho zmeny chodili spontánne, prípadne v rámci odpovede na Poll výzvu.

Pokiaľ sa jedná o statické dáta (zaradené do Class 0), prípadne o objekty, ktoré nie sú zaradené do žiadnej z tried Class 1-3, je nutné nakonfigurovať explicitné čítanie (Explicit Read). Podľa normy napr. objekty zo skupín Binary-Coded Decimal Integer (101), Unsigned Integer (102) Octet String (110) môžu ale nemusia byť zaradené do triedy Class 0 a trieda Analog Input Reporting Deadband (34) nie je zaradená do triedy Class 0, takže jej objekty je nutné explicitne čítať.

Pri nakonfigurovaní explicitného čítania je možné zadať konkrétnu variáciu (alebo nechať hodnotu <Automatic>, čo znamená, že sa použije variácia 0). Ďalej je možné nakonfigurovať čítané rozpätie adries parametrom Range a prípadne parametrami FromTo (požiadavka generovaná jedným meraným bodom tak môže vyčítavať dáta pre viacero meraných bodov, ktoré nemajú nakonfigurované explicitné čítanie, prípadne pre položky štruktúry). Pomocou parametra Read Period je možné nakonfigurovať vlastnú periódu čítania, odlišnú od periódy zadanej v parametroch stanice.

Ak je meraný bod výstupného typu, je možné parametrom Write nakonfigurovať zápis. Parameter Write Type vtedy udáva aplikačnú funkciu použitú na zápis, parameter Write Group skupinu objektov a Write Variation variáciu použitú pri zápise. Pokiaľ je nakonfigurovaný na meranom bode zápis, je nutné, aby bol zadaný parameter Range a pokiaľ konkrétna hodnota tohto parametra vyžaduje zadanie parametrov FromTo, tak tieto musia mať rovnakú hodnotu.

Parametrom Disable sa dá meraný bod vypnúť (zakázať).

Obr - konfigurácia adresy meraného bodu v protokole DNP3


Detailný popis jednotlivých parametrov:

Skupina Adresa

Group: skupina objektov, do ktorej meraný bod patrí. Zoznam podporených skupín podľa normy je v Tabuľke č. 1 (sú podporené, ak v stĺpci Podporené operácie je hodnota Čítanie).

Index: index objektu v skupine objektov. Index je nezáporné číslo s veľkosťou 1, 2 alebo 4 bajty. Kombinácia Group + Index udáva adresu objektu v DNP3 protokole.

Disable: možnosť vypnúť (zakázať) meraný bod, takže nebude nadobúdať hodnoty a v prípade výstupných meraných bodov nebude fungovať ani zápis.

Skupina Read / write parameters

Explicit Read: zapnutie explicitné čítania aplikačnou funkciou Read (1). Nutné je nakonfigurovať aj parametre VariationRange a v závislosti od hodnoty Range voliteľne aj FromTo.

Read Period: kladné reálne číslo, ktoré udáva periódu explicitného čítania v sekundách. Ak nie je zadané, použije sa perióda definovaná na stanici.

Variation: preferovaná variácia (formát špecifický pre konkrétnu skupinu) použitá pri explicitnom čítaní. Variácia <Automatic> sa posiela ako variácia 0 (podľa normy ňou master oznamuje, že nemá preferovaný formát a necháva výber na podriadenej stanici).

Range: rozsah objektov špecifikovaný pri explicitnom čítaní alebo pri zápise. Pri explicitnom čítaní je možné jednou výzvou načítať aj všetky objekty v konkrétnej skupine, prípadne celý interval objektov. Takto načítané hodnoty budú následne priradené aj meraným bodom, ktoré nemajú nakonfigurované explicitné čítanie, pokiaľ sa zhoduje Group + Index. Podobne budú načítané hodnoty priradené aj položkám cieľovej štruktúry, ak je špecifikovaná v záložke Cieľ.
Podporené sú nasledovné rozsahy:

RangePopis
1-octet start/stop index (0)

použiteľné, ak From aj To sú menšie ako 256

2-octet start/stop index (1)

použiteľné, ak From aj To sú menšie ako 65 536 (odporúčané normou)

4-octet start/stop index (2)použiteľné, ak To je väčšie ako 65 535

1-octet start/stop virt addr (3):

Indexácia virtuálnou adresou špecifickou pre výrobcu; použiteľné, ak From aj To sú menšie ako 256

2-octet start/stop virt addr (4)

Indexácia virtuálnou adresou špecifickou pre výrobcu; použiteľné, ak From aj To sú menšie ako 65 536 (odporúčané normou)
4-octet start/stop virt addr (5)Indexácia virtuálnou adresou špecifickou pre výrobcu; použiteľné, ak To je väčšie ako 65 535
No range (6)Nepoužívajú sa parametre FromTo, slúži na načítanie všetkých objektov zo skupiny
1-octet count of objects (7)Použiteľné pri zápise ak Index je menší ako 256, špecifikuje sa počet objektov 1 a následne Index
2-octet count of objects (8)Použiteľné pri zápise ak Index je menší ako 65 536, špecifikuje sa počet objektov 1 a následne Index  (odporúčané normou)
4-octet count of objects (9)Použiteľné pri zápise ak Index je väčší ako 65 535, špecifikuje sa počet objektov 1 a následne Index 


From, To: rozsah indexov resp. virtuálnych adries pre niektoré hodnoty parametra Range (0-5). Musí platiť, že From je menšie alebo rovné ako To. Ak je nakonfigurovaný na meranom bode zápis a konkrétna hodnota parametra Range vyžaduje zadanie parametrov FromTo, tak tieto musia mať rovnakú hodnotu. 
Pozn: v praxi sme sa stretli s implementáciami DNP3, ktoré podporovali zápis iba pri nastavení Range na hodnoty 7, 8 a 9 (1/2/4-octet count of objects), t.j. nepodporovali zápis so špecifikovaním Range na hodnoty 0, 1 a 2 (1/2/4-octet start/stop index) pomocou From a To, aj keď sa tieto nastavili na rovnakú hodnotu.

Write: pre výstupné merané body povolenie funkcie zápisu. Pri zápise je nutné špecifikovať aj parametre RangeWrite TypeWrite GroupWrite Variation a v závislosti od Range aj From To.

Write Type: aplikačná funkcia použitá na zápis. Podporené sú nasledovné funkcie:

Funkcia zápisuPopis
Write (2)Jednofázový zápis objektov (s návratovým číselným kódom potvrdzujúcim úspešný zápis alebo hovoriacim o chybe zápisu).
Select (3) + Operate (4)Dvojfázový zápis objektov, ktorý prakticky vylučuje možnosť chyby v dôsledku nedetekovaného rušenia na linke.
Každá operácia vracia okrem návratového kódu aj skupinu, index a zapisovanú hodnotu.
Direct Operate (5)Jednofázový zápis objektov. Okrem číselného kódu operácia vracia aj skupinu, index a zapisovanú hodnotu.

Direct Operate Non Return (6)

Jednofázový zápis objektu bez potvrdenia (najmenej bezpečný, ale najmenej zaťažujúci komunikačné médium).

Tabuľka č. 1 v stĺpci Podporené operácie pri operácii Zápis udáva, ktoré aplikačné funkcie sú v súlade s normou. Naša implementácia umožňuje použiť aj aplikačné funkcie nad rámec normy, pokiaľ ich konkrétne zariadenie podporuje.

Write Group: skupina objektov použitá pri zápise. Zoznam podporených skupín podľa normy je v Tabuľke č. 1 (zápis je podporený, ak v stĺpci Podporené operácie je hodnota Zápis).

Write Variationvariácia použitá pri zápise.  Zoznam podporených variácií pre jednotlivé skupiny podľa normy je v Tabuľke č. 1 v stĺpci Variácie (zápis je podporený, ak v stĺpci Podporené operácie je hodnota Zápis).


Browse

Pre merané body je možné zistiť zoznam objektov a ich dátové typy, pokiaľ KOM proces beží a komunikácia so stanicou je nadviazaná.
Po kliknutí na tlačidlo Browse sa otvorí okno DNP3 Item Browser a zobrazí sa zoznam doteraz načítaných objektov. Zoznam objektov sa vytvára dynamicky v dôsledku prijatých správ (odpovedí na výzvy Read, Poll ako aj v dôsledku spontánneho príchodu hodnôt).

Zároveň - pokiaľ je parameter Browse All Groups nastavený na hodnotu YES, sú pri prvom browsovaní (ako aj pri browsovaní v dôsledku stlačenia tlačidla Refresh) poslané výzvy na čítanie všetkých podporovaných skupín objektov.

Zoznam objektov je dynamický, t.j. pri príchode novej hodnoty do KOM procesu alebo po zistení nového objektu je aktualizovaný.

Dvojité kliknutie na konkrétny riadok spôsobí, že sa parametre Group a Index vložia do konfigurácie meraného bodu, z ktorého bolo okno DNP3 Item Browser otvorené.

Obr - okno DNP3 Item Browser

V okne sú zobrazené nasledovné informácie:

Group: skupina objektov. Okrem skupín konfigurovateľných v meraných bodoch sa v zozname môžu vyskytnúť aj "udalostné" skupiny (napr. Binary Input Event (2)), pokiaľ KOM proces prijal správu reportujúcu zmenu hodnoty objektu.

Index: index objektu v skupine objektov

Source: zdroj údajov:

  • READ - dáta prišli ako odpoveď na požiadavku čítania dát - funkcia Read (1)
  • POLLED - dáta prišli ako odpoveď na požiadavku Poll - čítanie skupiny objektov Class Objects (60)
  • SPONTANEOUS - dáta prišli spontánne - s použitím funkcie Unsolicited Response (130)

Value: aktuálna hodnota, podľa konkrétnej skupiny objektov a variácie aj s príznakmi a časovou značkou

Point: názov meraného bodu, ktorý je nakonfigurovaný pre tento objekt. Názvy sa môžu aj opakovať:

  • ak je na záložke Cieľ v položke Cieľový stĺpec v konfigurácii meraného bodu uvedený stĺpec štruktúrovanej premennej
  • ak sa jedná o "udalostnú" skupinu objektov a o skupinu objektov konfigurovateľnú v meraných bodoch, ktoré sú mapované do toho istého meraného bodu (na obrázku Analog Output Status (40) a Analog Output Event (42), oba s Index=0, meraný bod M.DNP3_OutSim_AnalogOutput41_2).

Filtrovanie v zozname objektov: prehľadávací dialóg umožňuje filtrovanie podľa hodnôt zobrazených v jednotlivých stĺpcoch. Nie je potrebné zadať ich celé. Postačuje zápis *FILTROVANÝ VÝRAZ*, kde hviezdičky reprezentujú ľubovoľný text pred začiatkom a koncom výrazu (napr. *put* zahŕňa input aj output).

Celkový počet objektov: v ľavej spodnej časti okna je zobrazený celkový počet objektov vo všetkých skupinách objektov.


Význam jednotlivých volieb a tlačidiel:

Copy all to clipboard

Skopírovanie zobrazených objektov a podrobností do schránky Windows - Clipboardu.

Refresh

Tlačidlom Refresh je možné vynútiť znovunačítanie zoznamu objektov zo zariadenia. Štandardne KOM proces načíta zoznam objektov a ich dátové typy iba pri prvej požiadavke a uchová ho v pamäti. Toto načítanie môže trvať v závislosti od počtu objektov a rýchlosti zariadenia dlhší čas. Následne posiela procesu/procesom CNF tieto uchované zoznamy, takže ďalšie naplnenie zoznamu v okne DNP3 Item Browser je už rýchle.

Cancel

D2000 Cnf má implementované recyklovanie prehliadacieho dialógu. Pokiaľ je dialóg zavretý tlačidlom Cancel alebo po výbere objektu, v skutočnosti je iba skrytý a je k dispozícii pre browsovanie iného meraného bodu v rámci tej istej stanice, takže sa zachová zoznam prehliadaných objektov. Kliknutie na krížik vpravo hore spôsobí skutočné zavretie dialógu.

Tell príkazy


PríkazSyntaxPopis
STWATCHSTWATCH MenoStaniceTell príkaz pošle na stanicu príkazy na vyčítanie hodnôt jednotlivých meraných bodov. Príkaz spôsobí poslanie Poll výziev na všetky triedy podľa konfigurácie parametrov stanice a poslanie výziev na čítanie všetkých meraných bodov s aktívnym parametrom Explicit Read.

Literatúra



IEEE Standard for Electric Power Systems Communications - Distributed Network Protocol (DNP3).

Blogy

O protokole IEC 870-5-101 si môžete prečítať aj blog:


Zmeny a úpravy



-


Revízie dokumentu



  • Ver. 1.0 - 28. máj 2019 - Vytvorenie dokumentu.


Požiadavky

Minimálna podporovaná verzia

D2000 V12.1N


Súvisiace stránky:

Write a comment...