Protokol IEC 60870-5-104 Server

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


Revízie dokumentu

Podporované typy a verzie zariadení


Toto je implementácia serverovskej strany protokolu tiež známeho 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. D2000 pracuje v režime IEC 60870-5-104 server (slave) schopný komunikácie s N klientmi (masters). Implementácia je podľa normy IEC 60870-5-104 nasledovná:

Tab. č. 1

Typ ASDUTypy meraného bodu
1 - Single-point informationDout
2 - Single-point information with time tagDout
3 - Double-point informationDout,Cout
4 - Double-point information with time tagDout,Cout
5 - Step position informationCout
6 - Step position information with time tagCout
7 - Bitstring of 32 bitsCout
8 - Bitstring of 32 bits with time tagCout
9 - Measured value, normalized valueAo
10 - Measured value, normalized value with time tagAo
11 - Measured value, scaled valueCout
12 - Measured value, scaled value with time tagCout
13 - Measured value, short floating point valueAout
14 - Measured value, short floating point value with time tagAout
15 - Integrated totalsCout
16 - Integrated totals with time tagCout
20 - Packed single-point information with status change detectionCout *
21 - Measured value, normalized value without quality descriptorAi
30 - Single-point information with time tag CP56Time2aDout
31 - Double-point information with CP56Time2a tagDout,Cout
32 - Step position information with CP56Time2a tagCout
33 - Bitstring of 32 bits with CP56Time2a tagCout
34 - Measured value, normalized value with CP56Time2a tagAout
35 - Measured value, scaled value with CP56Time2a tagCout
36 - Measured value, short floating point value with time tag CP56Time2aAout
37 - Integrated totals with time tag CP56Time2aCout
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

Poznámka: Na nastavenie jednotlivých bitov bajtu, ktorý hovorí o kvalite (SIQ pre ASDU 1,2,30; DIQ pre ASDU 3,4,31; QDS pre ASDU 5..14,20,32..36) sú použité flagy A (0.bit), B (1.bit) .. H (7.bit).
Napríklad:

Výnimkou sú bity, ktoré sú nastavené priamo hodnotou (napr. pre ASDU 1 nie je 0. bit nastavený flagom A, ale hodnotou výstupného meraného bodu).
Ak má nová hodnota nastavený príznak Invalid, v stavovom bajte všetkých ASDU (okrem ASDU 21, ktorý ho nemá) sa nastaví najvyšší bit (IV).

* - Status sa chápe ako dolné 2 bajty, Status change detection ako horné dva bajty 32 bitového integeru

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

Tab. č. 2

Typ ASDUTyp meraného bodu
45 - Single commandDi, Qi
46 - Double commandQi
47 - Regulating step commandDi, Qi
48 - Set point command, normalised valueAi
49 - Set point command, scaled valueCi
50 - Set point command, short floating point valueAi
51 - Bitstring of 32 bitCi
58 - Single command with time tag CP56Time2aDi, Qi
59 - Double command with time tag CP56Time2aQi
60 - Regulating step command with time tag CP56Time2aDi, Qi
61 - Set point command, normalised value with time tag CP56Time2aAi
62 - Set point command, scaled value with time tag CP56Time2aCi
63 - Set point command, short floating point value with time tag CP56Time2a Ai
64 - Bitstring of 32 bit with time tag CP56Time2aCi
250 - Archive data request command (implementácia Ipesoft)žiaden **
252 - D2000 Unival (implementácia Ipesoft)všetky okrem Qi

Bity "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) spôsobia nastavenie flagov 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 flagy A .. H nastavia na základe bitov "stavového" bajtu.

Pri zápise hodnôt sa ako CauseOfTransmission očakáva hodnota 6 [Activation]. Odpoveď riadiacej stanici závisí od nastavenia parametra CMDC. Originator ASDU address sa použije rovnako ako bola v prijatom príkaze.

Nadväzovanie spojenia:

Originator ASDU address (OA): Pôvodná OA sa nastavuje v konfigurácii ako číslo TCP linky. Táto sa použije pri voliteľnom posielaní ASDU 70 [End of initialization] na začiatku spojenia a vždy pri zasielaní nových hodnôt. Po príchode ASDU 100, resp. 101  sa posielajú aktuálne hodnoty všetkých výstupných bodov (ktoré nemajú nastavený príznak Invalid) s takou OA, akú mala ASDU 100, resp. 101. Ako odpovede na prijaté príkazy (ASDU 45..51, 58..64) sa posielajú potvrdenia s takými ASDU, aké mal prijatý príkaz.

D2000 podporuje aj balancovaný mód, v ktorom je vymenená úloha riadiacej a riadenej stanice. D2000 vtedy posiela povely a ASDU 100/101. 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 ASDU 100 [Interrogation Command] a 101 [Counter Interrogation Command] a dostane aktuálny stav vstupných meraných bodov (nakonfigurovaných ako ASDU 1-40). Jednorázové príkazy je vhodné konfigurovať ako ASDU 45 - 64, tieto sa pri znovunadviazaní spojenia neopakujú.

Zápis výstupného meraného bodu:

Konfigurácia komunikačnej linky


Poznámka: Od D2000 verzie 7.02.004 sa pri nastavovaní hodnoty komunikačnej linky využívajú flagy A až P na informáciu o pripojených aktívnych klientoch. Aktívny klient je taký, ktorý nadviazal spojenie a poslal U-frame StartDT Act, t.j. vyžiadal si posielanie dát. Prvý pripojený aktívny klient spôsobí nastavenie flagu A, druhý flagu B, atď. až po P, ďalej sa pokračuje od prvého flagu A. Pokiaľ klient pošle U-frame StopDT Act (požiada o zastavenie posielania dát) alebo sa odpojí, hodnota flagu sa zmení na FALSE.

Konfigurácia komunikačnej stanice


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

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

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota
CMDC
Command ConfirmPotvrdzovanie riadiacich ASDU.
Ak CMDC=0,proces D2000 KOM nepotvrdzuje riadiace ASDU od partnerskej stanice spätným poslaním ASDU s inou CauseOfTransmission.
Ak CMDC=1, proces D2000 KOM potvrdzuje riadiace ASDU s CauseOfTransmission=7 (Activation Confirmation).
Ak CMDC=2, proces D2000 KOM potvrdzuje riadiace ASDU s CauseOfTransmission=10 (Activation Termination).
Ak CMDC=3, proces D2000 KOM potvrdzuje riadiace ASDU s CauseOfTransmission= 7 a CauseOfTransmission= 10.
-1
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 ...
D2H64
D2000 64-bit Historical ValuesPri posielaní historických hodnôt (ako odpoveď na žiadosť o historické dáta) sa nepoužije ASDU 251, v ktorej sú hodnoty posielané ako 32-bitové float hodnoty, ale kvôli zvýšeniu presnosti sa použije ASDU 249, ktorá používa 64-bitovú reprezentáciu hodnôt (rovnakú, ako vnútorne D2000).
Poznámka: Pred zapnutím parametra je nutné overiť si, že aj klient podporuje ASDU 249. Táto podpora bola implementovaná v novembri 2011 do D2000 v8.00.011.
-False
DBGI
Debug InputMaska 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
DBGO
Debug OutputMaska 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
EOI
End of initializationAk je EOI=0, tak proces D2000 KOM neposiela ASDU 70 (End of initialisation). Ak je EOI=1, tak keď klient pošle U-frame StartDT Act, KOM odpovie StartDT Con a pošle ASDU 70.-0
GISN
GI Send NewAk je GISN=True, tak proces D2000 KOM po prijatí príkazu General Interrogation pošle aj hodnoty s novším časom ako čas, kedy príkaz General Interrogation prijal. Parameter GISN je nutné nastaviť na True, pokiaľ je potrebné príkazom General Interrogation posielať aj hodnoty s budúcim časom.-False
ICF3
Ignore Control Field 3 bit 0Určuje správanie sa, ak ASDU obsahuje v 3. bajte Control Field (Receive) nastavený bit 0 (test).
  • ak ICF3=False (default), obsah sa ASDU spracuje
  • ak ICF3=True, obsah ASDU sa ignoruje
Vlastnosť je využiteľná pri vytvorení redundantného TCP spojenia (linka TCP Redundant + protokol IEC 870-5-104). Stačí zabezpečiť, aby aktívny (hot) server posielal ASDU bez nastaveného Test bitu a pasívny (standby) server posielal ASDU s nastaveným Test bitom.
-False
III
Ignore Invalids on InterrogationAk je na stanici tento parameter nastavený, nepošle proces D2000 KOM ako odpoveď na ASDU 100 a 101 (Interrogation / Counter interrogation command) hodnoty objektov, ktoré sú Invalid alebo Unknown. Parameter má využitie napr. pri riadení, pokiaľ poslanie Invalid hodnoty spôsobí výpadok z riadenia.-False
IT
Ignore TestsUrčuje správanie sa, ak ASDU obsahuje v CauseOfTransmission nastavený najvyšší bit 7 (Test).
  • ak IT=0 (default), obsah sa ASDU spracuje
  • ak IT=1, obsah ASDU sa ignoruje
  • ak IT=2, nastaví sa Weak príznak
Vlastnosť je využiteľná pri vytvorení redundantného TCP spojenia. Stačí zabezpečiť, aby aktívny (hot) klient posielal ASDU bez nastaveného Test bitu a pasívny (standby) klient posielal ASDU s nastaveným Test bitom.
-0
IUA
Ignore Unknown AddressesAk je hodnota parametra True, proces D2000 KOM nebude hlásiť chybu (na konzole ani do logovacích súborov) v prípade, že príde hodnota s adresou, ktorej nezodpovedá žiaden meraný bod.-False
II
Implicit InterrogationAk je II=True, po pripojení klienta sa pošlú hodnoty všetkých premenných, ako keby klient poslal ASDU 100 a 101 [Interrogation/Counter Interrogation Command]-False
ICCI
Interrogation Covers Counter InterrogationAko odpoveď na Interrogation sa posielajú aj ASDU 15,16,37 (Integrated Totals), ktoré sú štandardne vyžiadané ASDU 101 [Counter Interrogation].-False
IGO
Interrogation Groups ObjectsOptimalizácia posielania hodnôt v rámci General Interrogation (odpoveď na Interrogation Command / Counter Interrogation Command). Pokiaľ IGO=True, v rámci jednej ASDU sa pošle viacero hodnôt (tak, aby dĺžka ASDU nepresiahla maximum podľa normy - 253 Bajtov). Parameter nemá vplyv na zmenové posielanie hodnôt počas normálnej komunikácie.-False
IWOT
Interrogation WithOut TimestampsAk je hodnota parametra True, pri posielaní hodnôt ako odpoveď na ASDU 100 [Interrogation Command] budú posielané hodnoty ako ASDU bez časových značiek.
Napr. namiesto ASDU 2 (Single-point information with time tag) a ASDU 30 (Single-point information with time tag CP56Time2a) bude poslaná ASDU 1 (Single-point information).
Toto chovanie umožňuje ošetriť situáciu, keď po výpadku komunikácie prídu nové hodnoty a nie je žiadané, aby mali starú časovú značku (napr. kvôli dopočtom v archíve, ak sa hodnoty menia iba zriedka a Invalid spôsobený výpadkom komunikácie by spôsoboval neplatné hodnoty vypočítaných archívov). Zároveň je toto chovanie striktne podľa IEC normy, ktorá hovorí, že odpoveď na Interrogation nemá používať ASDU s časovou značkou.
-False
K
KVeľkosť vysielacieho okna, t.j. množstvo paketov, ktoré KOM odošle bez prijatia potvrdenia (S-framu alebo I-framu). Podľa normy je prednastavené k=12.-12
MC
Maximum ClientsMaximálny počet pripojených klientov. Parameter je potrebný pre D2000 OpenVMS, kde sa po štarte KOM procesu alokuje 2 * MC threadov pre obsluhu klientov (jeden na posielanie a jeden na príjem). Pokiaľ je hodnota parametra Maximum Clients rovná 0, počet klientov nie je obmedzený a thready sa vytvárajú dynamicky podľa potreby.-0
NF
No FlagsAk je hodnota parametra True, potom sa stavový byte prichádzajúcich ASDU ignoruje a neukladá do flagov A .. H. Zároveň sú ignorované flagy výstupných meraných bodov a stavový byte sa nenastavuje podľa nich.-False
OCIC
Order of Counter ICBalancovaný mód: Poradie posielania ASDU 101 [Counter Interrogation Command] pri inicializácii spojenia. Ak je OCIC<OIC, pošle sa ASDU 101 pred ASDU 100. Ak je OCIC=0,ASDU 101 sa neposiela. Parameter je nastaviteľný a platný zvlášť pre každú stanicu.-0
OIC
Order of ICBalancovaný mód: Poradie posielania ASDU 100 [Interrogation Command] pri inicializácii spojenia. Ak je OIC<OCIC, pošle sa ASDU 100 pred ASDU 101. Ak je OIC= 0,ASDU 100 sa neposiela. Parameter je nastaviteľný a platný zvlášť pre každú stanicu.-0
PW
Pessimistic WriteUrčuje vyhodnocovanie úspešnosti zápisu v prípade pripojenia viac ako jedného klienta. Ak je PW=0, tak sa zápis hodnoty považuje za úspešný, ak ho potvrdil aspoň 1 klient (spôsob potvrdzovania udáva parameter CMDC). Ak je PW= 1, musia zápis potvrdiť všetci pripojení klienti. Ak ho aspoň 1 nepotvrdí (napr. dôjde k prerušeniu spojenia alebo je potvrdenie negatívne), zápis je považovaný za neúspešný.-0
SSN
Send sequence numberPočiatočné SSN. Podľa normy sa po vytvorení spojenia nastavuje SSN na 0, iné ako nulové SSN môže byť vhodné napr. na testovanie.-0
SKO
Standby Keep OpenAk je True, po prechode procesu D2000 Server, ku ktorému je KOM proces pripojený, z Hot do Standby stavu (redundantný systém) sa nezatvoria spojenia s klientami ani sa neukončí prijímanie klientov.-False
SSCF3
Standby Set Control FieldAk je True, po prechode procesu D2000 Server, ku ktorému je KOM proces pripojený, z Hot do Standby stavu (redundantný systém) bude posielať v najnižšom bite 3. bajtu Control Field-u Informačných APDU (APDU s dátami) miesto štandardnej 0 (podľa normy) hodnotu 1. Toto chovanie nie je striktne podľa normy a pokiaľ je to možné, odporúčame miesto toho použiť parameter SST-False
SSTB
Standby Set Test BitAk je True, po prechode procesu D2000 Server, ku ktorému je KOM proces pripojený, z Hot do Standby stavu (redundantný systém) bude posielať nastavený Test bit v Cause Of Transmission-False
SWV
Standby Write ValuesAk je True, po prechode procesu D2000 Server, ku ktorému je KOM proces pripojený, z Hot do Standby stavu (redundantný systém), bude server posielať nové hodnoty klientom.-False
W
WMnožstvo prijatých paketov, po ktorých KOM odošle ako potvrdenie S-frame. Podľa normy je prednastavené w=8.
Musí platiť w < k, norma odporúča w = 2/3 * k
-8
WT1
Wait Timeout T1Timeout na prijatie potvrdenia na odoslaný I-frame (očakáva sa buď potvrdenie v rámci I-framu alebo samostatný S-frame) alebo U-frame (očakáva sa U-frame). Ak do času WT1 nedostane KOM potvrdenie, zavrie TCP spojenie. Podľa normy prednastavený WT1 je 15000 ms.ms15 000
WT2
Wait Timeout T2Timeout na posielanie potvrdenia na prijatý I-frame. WT2 < WT1. Ak nie je posielaný do času WT2 od prijatia I-framu iný I-frame (ktorý by zároveň potvrdil prijatý I-frame), tak proces D2000 KOM pošle partnerovi potvrdzujúci S-frame, ktorým potvrdí prijatý I-frame. Podľa normy prednastavený WT2 je 10000 ms.ms10 000
WT3
Wait Timeout T3Timeout na posielanie testovacích framov (U-frame TEST ACT). Ak sa neposielajú žiadnym smerom dlhší čas žiadne dáta, po uplynutí doby WT3 proces D2000 KOM pošle U-frame TEST ACT a očakáva (do doby WT1 od odoslania) príchod U-frame TEST CON. V prípade, že partner má WT3 nastavený na menšiu hodnotu, posiela testovacie framy on a KOM na ne odpovedá. Podľa normy prednastavený WT3 je 20000 ms.
Nastavením na 0 sa posielanie testovacích framov vypne.
ms20 000
WTN
Wait Timeout No answerBalancovaný mód: Timeout na prijatie potvrdenia spracovania zaslanej hodnoty pre ASDU v smere riadenia (ASDU 45 - 64). Prijatie napr. S-framu s RSN (Receive Sequence Number) potvrdzujúcim, že druhá strana prijala predchádzajúci I-frame, ešte neznamená, že tento prijatý I-frame bol aj spracovaný. Do času WTn očakáva proces D2000 KOM prijatie odpovede (napr. po poslaní ASDU s TypeIdentificator=45 [Single Command] s CauseOfTransmission=6 [Activation] sa očakáva prijatie Single Commandu s CauseOfTransmission=7 [Activation Confirmation].
Po vypršaní WTn zavrie proces D2000 KOM TCP spojenie.
ms60 000

String s parametrami protokolu sa zapisuje podľa pravidiel:

Kľúčové_slovo=hodnota;Kľúčové_slovo=hodnota; ...

Príklad:

WT1=10000;WT3=25000;EOI=1;

Ak nebolo v inicializačnom stringu nájdené kľúčové slovo s platnou hodnotou, je použitá náhradná hodnota podľa tabuľky. Zadané parametre sú platné pre celú linku - tj. stačí ich zadať v jedinej stanici patriacej linke. Výnimkou sú parametre OIC a OCIC, ktoré treba nastaviť pre každú stanicu zvlášť.

Konfigurácia meraných bodov


Povolené typy bodov:

Ai, Ao, Ci, Co, Di, Dout, Qi

Browse

Pre merané body je možné zistiť zoznam objektov, pokiaľ KOM proces beží a komunikácia so stanicou je nadviazaná.
Po kliknutí na tlačidlo Browse sa otvorí okno IEC870-TCPSRV Item Browser a zobrazí sa zoznam doteraz načítaných hodnôt. Zoznam objektov sa vytvára dynamicky v dôsledku prijatých správ .

Zoznam objektov je dynamický, t.j. pri príchode novej hodnoty do KOM procesu je aktualizovaný. Podporované je aj filtrovanie v jednotlivých stĺpcoch, v maske je možné používať hviezdičky (napr. *Short*).

Dvojité kliknutie na konkrétny riadok spôsobí, že sa parameter Address vloží do konfigurácie meraného bodu, z ktorého bolo okno IEC870-TCPSRV Item Browser otvorené.

Tlačidlo Refresh spôsobí vymazanie zoznamu hodnôt v CNF aj v KOM procese.

V stĺpci Value sa nachádza prijatá hodnota .

Tell príkazy


Tab. č. 4

PríkazSyntaxPopis
STWATCHSTWATCH MenoStaniceTell príkaz pošle na stanicu Interrogation Command a/alebo Counter Interrogation Command (podľa parametrov stanice).

Literatúra


-

Revízie dokumentu



Komunikačné protokoly