IEC 870-5-104

IEC 870-5-104

Protokol IEC 60870-5-104

Podporované typy a verzie zariadení


Tento protokol je tiež známy ako IEC 870-5-104 alebo IEC-104. Komunikácia podporuje čítanie a zápis údajov protokolom IEC 60870-5-104, pracujúcom na báze TCP sieťovej komunikácie. Implementácia je podľa normy IEC 60870-5-104 nasledovná:

  • Originator ASDU address - je 1 bajt, zadáva sa ako číslo linky.

  • ASDU address - je 2 bajty, zadáva sa ako adresa stanice. Každá stanica na jednej linke musí mať rôznu ASDU adresu.

  • Cause of transmission - má 2 bajty (obsahuje aj Originator ASDU address).

  • Information object address - 3 bajty, zadáva sa ako adresa meraného bodu.

  • Implementované sú nasledujúce ASDU v smere monitorovania (od riadenej stanice do D2000, v balancovanom móde aj opačným smerom):

Tab. č. 1

Typ ASDU

Typ meraného bodu

1 - Single-point information

Di, Qi (On/Off), Ai, Ci

2 - Single-point information with time tag

Di, Qi (On/Off), Ai, Ci

3 - Double-point information

Qi, Ai, Ci

4 - Double-point information with time tag

Qi, Ai, Ci

5 - Step position information

Ci, Ai *

6 - Step position information with time tag

Ci, Ai *

7 - Bitstring of 32 bits

Ci, Ai

8 - Bitstring of 32 bits with time tag

Ci, Ai

9 - Measured value, normalized value

Ai

10 - Measured value, normalized value with time tag

Ai

11 - Measured value, scaled value

Ci, Ai

12 - Measured value, scaled value with time tag

Ci, Ai

13 - Measured value, short floating point value

Ai

14 - Measured value, short floating point value with time tag

Ai

15 - Integrated totals

Ci, Ai

16 - Integrated totals with time tag

Ci, Ai

17 - Event of protection equipment with time tag

Ci, Ai, TiR **

18 - Packed start events of protection equipment with time tag

Ci, Ai, TiR ***

20 - Packed single-point information with status change detection

Ci, Ai

21 - Measured value, normalized value without quality descriptor

Ai

30 - Single-point information with time tag CP56Time2a

Di, Qi (On/Off), Ai, Ci

31 - Double-point information with CP56Time2a tag

Qi, Ai, Ci

32 - Step position information with CP56Time2a tag

Ci, Ai *

33 - Bitstring of 32 bits with CP56Time2a tag

Ci, Ai

34 - Measured value, normalized value with CP56Time2a tag

Ai

35 - Measured value, scaled value with CP56Time2a tag

Ci, Ai

36 - Measured value, short floating point value with time tag CP56Time2a

Ai

37 - Integrated totals with time tag CP56Time2a

Ci, Ai

38 - Event of protection equipment with time tag CP56Time2a

Ci, Ai, TiR **

39 - Packed start events of protection equipment with time tag CP56Time2a

Ci, Ai, TiR ***

40 - Packed output circuit information of protection equipment with time tag CP56Time2a

Ci, Ai, TiR ***

241 - 64-bit floating point value (implementácia Ipesoft/URAP)

Ao

243 - 64-bit floating point value with time tag CP56Time2a (implementácia Ipesoft/URAP)

Ao

251 - Archive data values (implementácia Ipesoft)

žiaden ****

252 - D2000 Unival (implementácia Ipesoft)

všetky okrem Qi

Poznámka: Jednotlivé bity bajtu, ktorý hovorí o kvalite (SIQ pre ASDU 1,2,30; DIQ pre ASDU 3,4,31; QDS pre 5..14,20,32..36) sú namapované do príznakov A (0.bit), B (1.bit) .. H (7.bit).
Takže napríklad:
pre ASDU 4 : A=DPI bit 0, B=DPI bit 1, C=0, D=0, E=BL bit, F=SB bit, G=NT bit, H=IV bit.
pre ASDU 16 : A .. E Sequence number bity 0..4, F=CY bit, G=CA bit, H=IV bit

Navyše:

  • ak je nastavený bit IV (Invalid), stav hodnoty bude Invalid,

  • ak je nastavený niektorý z bitov NT (Not topical), SB (Substituted), BL (Blocked), OV (Overflow), CA (Counter adjusted), CY (Counter overflow) pre príslušné typy ASDU, stav hodnoty bude Weak.

* - T-bit z hodnoty z týchto ASDU ide do príznaku FI, do premennej typu Ci/Ai ide číslo -64 .. +63.

** - ASDU 17 a 38: bajt SEP ide do príznaku A (0.bit), B (1.bit) .. H (7.bit), nasledujúce 2 bajty (CP16Time2a) idú ako kladné číslo (0-60 000) do premennej typu Ci/Ai alebo ako relatívny čas (0-60 sekúnd) do premennej typu TiR.

*** - ASDU 18, 39 a 40: bajt SPE (ASDU 18,39), resp. OCI (ASDU 40) ide do príznakov FLI (0.bit),FLJ (1.bit) ..FLP (7.bit), bajt QDP ide do príznakov A (0.bit), B (1.bit) .. H (7.bit), nasledujúce 2 bajty (CP16Time2a) idú ako kladné číslo (0-60 000) do premennej typu Ci/Ai alebo ako relatívny čas (0-60 sekúnd) do premennej typu TiR.

Implementované sú nasledujúce ASDU v smere riadenia (od D2000 do riadenej stanice, v balancovanom móde aj opačným smerom):

Tab. č. 2

Typ ASDU

Typ meraného bodu

45 - Single command

Dout

46 - Double command

Dout,Co

47 - Regulating step command

Dout

48 - Set point command, normalised value

Ao

49 - Set point command, scaled value

Co, Ao

50 - Set point command, short floating point value

Ao

51 - Bitstring of 32 bit

Co, Ao

58 - Single command with time tag CP56Time2a

Dout

59 - Double command with time tag CP56Time2a

Dout,Co

60 - Regulating step command with time tag CP56Time2a

Dout

61 - Set point command, normalised value with time tag CP56Time2a

Ao

62 - Set point command, scaled value with time tag CP56Time2a

Co, Ao

63 - Set point command, short floating point value with time tag CP56Time2a 

Ao

64 - Bitstring of 32 bit with time tag CP56Time2a

Co, Ao

250 - Archive data request command (implementácia Ipesoft)

žiaden ****

252 - D2000 Unival (implementácia Ipesoft)

všetky

Na nastavenie bitov "stavového" bajtu (SCO pre ASDU 45,58; DCO pre ASDU 46,59; RCO pre ASDU 47,60; QOS pre ASDU 48..50,61..63) sa používajú príznaky A (0.bit), B (1.bit) .. H (7.bit) s výnimkou bitov, ktoré sú priamo nastavované hodnotou premennej ( SCO bit 0, DCO a RCS bity 0-1). Po prijatí odpovede (pozitívnej/negatívnej) sa príznaky A .. H nastavia na základe bitov "stavového" bajtu.

Pri zápise príkazov (ASDU 45-64) sa ako CauseOfTransmission používa hodnota 6 [Activation]. Či sa očakáva odpoveď od riadenej stanice, závisí od nastavenia parametra Command Confirm. Existujú tieto možnosti:

  • Zápis sa považuje za úspešný, keď príde paket s RSN potvrdzujúcim SSN paketu so zápisom.

  • Zápis sa považuje za ukončený, keď príde odpoveď s CauseOfTransmission=7 [Activation Confirmation] a / alebo 10 [Activation Termination]. Úspešnosť/neúspešnosť závisí od nastavenia P/N bitu v CauseOfTransmission.

**** - ASDU 250 je použiteľné pri komunikácii s Ipesoft 870-5-104 Serverom. Tento príkaz si vyžiada od servera archívne hodnoty (za nejaký časový interval), ktoré prídu ako ASDU 251 (alebo novšia ASDU 249 používajúca kvôli presnosti 64-bitové hodnoty, pokiaľ je na strane servera nastavený parameter protokolu D2H64). Načítanie archívnych hodnôt je možné vyvolať cez Tell príkaz GETOLDVAL s parametrom názvu meraného bodu alebo názvu stanice (v tomto prípade sa čítajú archívne hodnoty pre všetky body postupne ,t.j. až po ukončení čítania jedného bodu sa vyžiada čítanie ďalšieho).

Odpoveďou na ASDU 250 je opäť ASDU 250 (s CauseOfTransmission=7) s návratovým kódom:

  • 0 - úspešný začiatok čítania histórie

  • 1 - história pre žiadaný bod neexistuje

  • 2 - história pre žiadaný bod nie je dostupná (archív nebeží)

Ďalej nasledujú (ak bol návratový kód 0) ASDU 251 s archívnymi dátami a ukončovacia ASDU 250 s CauseOfTransmission=10.

Nadväzovanie spojenia:

Proces D2000 KOM sa pripojí na TCP port a pošle U-frame StartDT Act, očakáva ako odpoveď StartDT Con.

Pre stanice, ktoré majú nastavenú synchronizáciu (viď ďalší bod), sa pošle ASDU typ 103 [Clock synchronisation command] s CauseOfTransmission=6 [Activation], očakáva sa odpoveď v závislosti od nastavenia parametra Command Confirm.

Následne pošle sekvenciu 0 až N I-framov s ASDU 100 [Interrogation Command] a ASDU 101 [Counter Interrogation Command], obidve s CauseOfTransmission=6 [Activation]. Tieto I-framy sú poslané pre každú stanicu, ktorá má aspoň 1 meraný bod (t.j. Ai, Di, Qi, Ci). Ako odpoveď očakáva (v ľubovoľnom poradí):

  • prijatie framov s ASDU 100 [Interrogation Command] a s CauseOfTransmission=7 alebo 10 (závisí na Command Confirm),

  • prijatie framov s ASDU 101 [Counter Interrogation Command] a s CauseOfTransmission=7 alebo 10 (závisí na Command Confirm),

  • prijatie aktuálnych hodnôt všetkých meraných bodov.

Druhá strana môže poslať aj framy s ASDU TypeIdentificator=100 a CauseOfTransmission=10 [Activation Termination], ale proces D2000 KOM nepovažuje za chybu, ak takéto framy nedôjdu. Poradie posielania ASDU 100 a 101, ako aj vypnutie ich posielania, sa nastavuje parametrami Order of IC a Order of Counter IC.

Synchronizácia hodín: Posielanie ASDU typ 103 [Clock synchronisation command] sa deje pri inicializácii (po poslaní StartDT a pred poslaním Interrogation Command). Synchronizácia sa posiela pre tie stanice, ktoré majú v záložke Časové parametre zaškrtnutý parameter Povolená synchronizácia. ASDU typ 103 sa posiela pravidelne so zadanou periódou.

Vynútené prerušenie spojenia: Keď sa všetky stanice na linke dostanú do simulácie alebo majú zastavenú komunikáciu, linka sa odpojí (dôjde ku zavretiu komunikačného socketu). Keď aspoň jedna stanica bude mať vypnutú simuláciu a nebude mať zastavenú komunikáciu (záložka Parametre objektu Stanica), linka sa znovu pripojí (a pošle sa Interrogation Command, resp. Counter Interrogation Command na túto aktívnu stanicu). Následne po zapnutí každej ďalšej stanice sa pošle na ňu Interrogation Command, resp. Counter Interrogation Command, viď ďalší bod.

Vynútené zaslanie Interrogation Command, resp. Counter Interrogation Command: Keď sa stanica dostane do stavu, že nie je v simulácii a nemá zastavenú komunikáciu (záložka Parametre objektu Stanica), pošle proces D2000 KOM Interrogation Command a/alebo Counter Interrogation Command (viď parametre Order of IC, Order of Counter IC).

D2000 podporuje aj balancovaný mód, v ktorom je vymenená úloha riadiacej a riadenej stanice. D2000 vtedy prijíma povely a potvrdzuje ich. Balancovaný mód je možné použiť iba, ak ho podporuje partnerská stanica. Výhodou je, že po rozpade a opätovnom nadviazaní spojenia pošle D2000 ako odpoveď na výzvu ASDU 100 [Interrogation Command] a 101 [Counter Interrogation Command] aktuálny stav výstupných meraných bodov (nakonfigurovaných ako ASDU 1-40). Jednorazové príkazy je stále vhodné konfigurovať ako ASDU 45 - 64, tieto sa pri opätovnom nadviazaní spojenia neopakujú.

Keďže tento protokol podporuje balancovaný mód a teda je sčasti server, platia preň pravidlá pre serverovské protokoly.
Výstupné merané body nakonfigurované ako ASDU 1-40 pri zápise neprechádzajú stavom Transient (t.j. sú chápané tak, ako keby v konfigurácii meraného bodu v záložke Ovládanie výstupu bol nastavený Charakter výstupu na Príkaz). Zápis sa považuje za úspešný, pokiaľ v dobe zápisu existuje spojenie so serverom, v opačnom prípade je zápis neúspešný.

Nakomunikované zariadenia


  • ABB MicroScada.
    Poznámka: V nastaveniach ABB MicroScady je nutné zmenšiť hodnotu parametra Maximum message length z 253 alebo podobnej na 230 (plus/mínus pár bajtov). Pre pôvodnú hodnotu parametra dochádza zrejme k prepisovaniu komunikačného buffra, čo sa prejaví vyslaním poškodenej správy.

  • PLC Bernecker & Rainer, implementácia protokolu: URAP-AUTOMATIZÁCIA s.r.o.

  • LFC terminály Slovenských Elektrární, a.s., implementácia protokolu: Energodata/ABB

  • RS Unicon 4, UniControls

Konfigurácia komunikačnej linky


  • Kategória komunikačnej linky: TCP/IP-TCP alebo TCP/IP-TCP Redundant

  • TCP Parametre - je nutné zadať parametre servera:

    • Host: string max. 80 znakov – meno servera vo formáte INET (meno alebo číselná adresa a.b.c.d). V prípade redundantných systémov je možné zadávať aj viacero mien/adries oddelených čiarkami

    • Port: číslo TCP portu (0 až 65535)

    • Číslo linky: použije sa ako Originator ASDU address (1 bajt, 0-255)

Konfigurácia komunikačnej stanice


  • Komunikačný protokol: IEC870-TCP.

  • Adresa stanice je číslo v rozsahu 0 až 65535, určuje adresu ASDU. Môže byť zadaná dekadicky, prípadne ako hexadecimálne číslo s mriežkou na začiatku (napr. #0A).

Poznámka 1: Po uložení stanice v procese D2000 CNF, pošle proces D2000 KOM automaticky ASDU 100 a ASDU 101 (Interrogation a Counter Interrogation Command) na túto stanicu, pokiaľ sú povolené.

Poznámka 2: Protokol podporuje posielanie dlhých časových značiek (CP56Time2a tag) v lokálnom čase alebo v UTC čase s definovaným posunom podľa nastavenia stanice (pozri parameter Použi monotónny čas UTC+).

Poznámka 3: Pokiaľ je nakonfigurovaná linka typu TCP Redundant, od D2000 verzie 7.02.004 sa pri nastavovaní hodnoty komunikačnej stanice využívajú flagy C a D na indikáciu funkčnosti primárnej (C) a sekundárnej (D) komunikačnej cesty. Nastavenie týchto príznakov znamená, že komunikačná cesta nefunguje. Napr., ak hodnota komunikačnej stanice je StON a je nastavený príznak FLC, znamená to, že komunikácia prebieha iba po sekundárnej komunikačnej ceste.
Pre nižšie verzie D2000 existuje iba čiastočná detekcia nefunkčnej komunikačnej cesty nastavením parametra Strict Redundancy Connection Signalisation.

Tlačidlo Browse otvorí browsovací dialóg pre adresu stanice. Pokiaľ je komunikácia funkčná, zobrazí sa dialóg s doteraz prijatými ASDU adresami. Tlačidlom Refresh je možné zoznam prijatých ASDU adries vyčistiť.

Parametre protokolu stanice

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

Tab. č. 3

Plný názov

Popis

Jednotka

Náhradná hodnota

Asymmetric Redundancy Mode Periodicity

Parameter použiteľný na linke TCP Redundant s nakonfigurovanými náhradnými servermi (parametre "Alternate Server 1", "Alternate Port 1","Alternate Server 2", "Alternate Port 2" ..). Nenulové "Asymmetric Redundancy Mode Periodicity" znamená, že po takomto počte prijatých ASDU sa zisťuje, či obidve spojenia nejdú cez tú istú sieť (IP a porty zadané v nastaveniach linky resp. ASx:APx a BSx:BPx). Ak áno, spojenie so standby serverom (viď parameter Asymmetric Redundancy Mode Slave Detection) sa preruší a pokúša sa nadviazať cez nasledujúcu sieť. Ak sa nadviazať spojenie nepodarí, skúša sa nasledujúca adresa (t.j. "Alternate Server 1", "Alternate Server 2", IP linky, "Alternate Server 1" atď.).
Poznámka: Pri zapnutom "Asymmetric Redundancy Mode Periodicity" sa po spustení procesu D2000 KOM druhé spojenie vytvára na "B-Alternate Server 1":"B-Alternate Port 1" a nie na IP adresu a port zadaný na linke (aby sa následne hneď nerozpadlo).

-

0

Asymmetric Redundancy Mode Slave Detection

Spôsob detekcie standby servera pre Asymmetric Redundancy Mode Periodicity:

  • 0 - bez detekcie: odpojí sa prvé spojenie, ktoré zistí, že ide cez rovnakú sieť

  • 1 - ak ASDU obsahuje v 3. bajte Control Field nastavený bit 0

  • 2 - ak ASDU obsahuje v CauseOfTransmission nastavený bit 7

-

0

Alternate Server 1/
Alternate Port 1/
Alternate Server 2/
Alternate Port 2/

Rozšírenie pre redundantné systémy: okrem IP adresy nastavenej v konfigurácii linky je možné zadať 2 ďalšie alternatívne IP adresy. V prípade výpadku spojenia sa proces D2000 KOM skúša pripojiť na ďalšiu adresu v zozname.
Poznámka 1: Všetky IP adresy a porty je nutné zadať pri jedinej stanici a je potrebné zadávať ich postupne (t.j. nezadať "Alternate Server 2", "Alternate Port 2" pri vynechaných "Alternate Server 1", "Alternate Port 1").
Poznámka 2: Tieto parametre sú zastarané, nakoľko je možné zadať niekoľko IP adries v konfigurácii komunikačnej linky (oddelených čiarkou alebo bodkočiarkou, napr. 10.0.0.1;10.0.0.2).

-

-

B-Alternate Server 1/
B-Alternate Port 1/
B-Alternate Server 2/
B-Alternate Port 2/

Použiteľné, ak je protokol IEC 870-5-104 nakonfigurovaný na linke TCP Redundant. Parametre majú rovnaký význam ako parametre pre primárne spojenie, ale sú platné pre záložné TCP spojenie.
Poznámka 1: Všetky IP adresy a porty je nutné zadať pri jedinej stanici a je potrebné zadávať ich postupne (t.j. nezadať "B-Alternate Server 2", "B-Alternate Port 2" pri vynechaných "B-Alternate Server 1", "B-Alternate Port 1").
Poznámka 2: Tieto parametre sú zastarané, nakoľko je možné zadať niekoľko IP adries v konfigurácii komunikačnej linky (oddelených čiarkou alebo bodkočiarkou, napr. 10.0.0.1;10.0.0.2).

-

-

Command Confirm

Potvrdzovanie riadiacich ASDU.
Ak CMDC=0, proces D2000 KOM neočakáva potvrdzovanie riadiacich ASDU od partnerskej stanice spätným poslaním ASDU s inou CauseOfTransmission, ASDU sa považuje za potvrdenú keď sa príjme paket s príslušným ReceiveSequenceNumber.
Ak "Command Confirm"=1, proces D2000 KOM očakáva potvrdenie s CauseOfTransmission=7 (Activation Confirmation).
Ak "Command Confirm"=2, proces D2000 KOM očakáva potvrdenie s CauseOfTransmission=10 (Activation Termination).
Ak "Command Confirm"=3, proces D2000 KOM očakáva potvrdenie s CauseOfTransmission=7 alebo 10 (ak dôjdu obe, berie sa do úvahy prvé z nich).
Až po prijatí príslušného potvrdenia sa považuje zápis za ukončený (zhodí sa príznak Transient zapisovanej hodnoty a prestane plynúť timeout "Wait Timeout Tn").
Ak príde potvrdenie s iným CauseOfTransmission, ako proces D2000 KOM očakáva, je ignorované.
Zápis je považovaný za úspešný, ak v prijatej ASDU je P/N bit nastavený na 0. V opačnom prípade je zápis považovaný za neúspešný.
Hodnota z prijatej ASDU je spätne zapísaná do príslušného meraného bodu a ide do systému. Takže napr. ak je zaslaná ASDU typ 50 (short floating point) s hodnotou 1200.0 a partnerská stanica pošle ako odpoveď ASDU typ 50, P/N bit=0, hodnota 999.0 (napr. kvôli fyzikálnym obmedzeniam na danú veličinu), tak túto hodnotu pošle proces D2000 KOM ďalej.

-

1

Commands on Start

Posielanie príkazových ASDU pri nadviazaní spojenia. Toto chovanie nie je podľa normy, ale umožňuje výmenu dát medzi IEC 104 klientom a IEC 104 serverom, ktorý nepodporuje balancovaný režim a nevie spracovať dátové ASDU. Ak je tento parameter nastavený na hodnotu True, po nadviazaní spojenia sa automaticky pošlú všetky hodnoty bodov s príkazovými ASDU, ktoré sú platné (Valid).

-

False

D2CLS
D2CPA
D2VCO

Parametre sú určené pre konfiguráciu stanice pri komunikácii medzi dvoma systémami D2000 s použitím ASDU 252 - D2000 Unival (implementácia Ipesoft). viac ...

Debug Input

Maska pre úrovne debugovania vstupných dát. Jednotlivé bity majú nasledovný význam:

  • 0.bit - zobrazenie počtu bodov prijatých v rámci General Interrogation

  • 1.bit - zobrazenie prijatých hodnôt meraných bodov

  • 2.bit - balancovaný mód: bol prijatý Interrogation command

-

0

Debug Output

Maska pre úrovne debugovania výstupných dát. Jednotlivé bity majú nasledovný význam:

  • 0.bit - balancovaný mód: zobrazenie počtu bodov odoslaných v rámci General Interrogation

  • 1.bit - zobrazenie odoslaných hodnôt meraných bodov

-

0

End of Initialization

Ak je hodnota parametra "1 - IC/CIC after EOI", tak po prijatí ASDU 70 (End of initialisation) sa opäť pošle Interrogation Command a/alebo Counter Interrogation Command - podľa hodnôt parametrov Order of IC a Order of Counter IC. Prednastavenená hodnota "0 - no IC/CIC after EOI" spôsobí ignorovanie ASDU 70.
Pozn: tento parameter bol implementovaný pre ABB MicroScadu.

-

0

Force Master Time

Ak je "Force Master Time"=True, tak proces D2000 KOM akceptuje od servera ASDU 103 (Clock synchronisation command) s CauseOfTransmission=6 [Activation] alebo 3 [Spontaneous] a zapamätá si časovú diferenciu medzi časom servera a svojím časom. Ak bolo CauseOfTransmission=6, odpovie s CauseOfTransmission=7 [Activation Confirmation].
Následne čas všetkých hodnôt, ktoré prídu s časovou značkou, je zmenšený o túto diferenciu, t.j. použije sa korekcia na čas komunikačného počítača.
Parameter "Force Master Time" rieši problém, keď posiela komunikačný partner niektoré hodnoty bez časovej značky a niektoré hodnoty s časovou značkou a nie sú synchronizované časy komunikačného partnera a D2000. V takomto prípade bez parametra "Force Master Time"=True sú hodnoty bez časovej značky označené časom D2000 a hodnoty s časovou značkou sú označené časom servera. S parametrom "Force Master Time"=True je čas zaslaný serverom korigovaný na čas D2000 za použitia časovej diferencie vypočítanej z prijatého ASDU 103 (Clock synchronisation command).

-

False

Force Slave Time

Comments