Protokol IEC 60870-5-104
Podporované typy a verzie zariadení
Nakomunikované zariadenia
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Tell príkazy
Konfigurácia meraných bodov
Literatúra
Revízie dokumentu
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 |
50 - Set point command, short floating point value | Ao |
51 - Bitstring of 32 bit | Co |
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 |
63 - Set point command, short floating point value with time tag CP56Time2a | Ao |
64 - Bitstring of 32 bit with time tag CP56Time2a | Co |
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 |
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 |
D2CLS | 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 |
Debug Output | Maska pre úrovne debugovania výstupných dát. Jednotlivé bity majú nasledovný význam:
| - | 0 |
End of initialization | Rozšírenie pre ABB MicroScadu: Ak je "End of initialization"=1, tak po prijatí ASDU 70 (End of initialisation) sa opäť pošle Interrogation Command a/alebo Counter Interrogation Command. | - | 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 | Rozšírenie pre ABB MicroScadu: Ak je "Force Slave 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 všetky hodnoty, ktoré prídu bez časovej značky, sú označené aktuálnym časom plus časová diferencia (pokiaľ nie je stanica nakonfigurovaná tak, že má použiť čas komunikačného počítača). Parameter "Force Slave Time" rieši problém, keď po zaslaní ASDU 100 alebo 101 posiela ABB MicroScada hodnoty bez časovej značky, ale počas komunikácie ich posiela s časovou značkou, čím vznikajú problémy, ak nie sú synchronizované časy MicroScady a D2000. | - | False |
GI Send New | Ak je "GI Send New"=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 "GI Send New" je nutné nastaviť na True, pokiaľ je potrebné príkazom General Interrogation posielať aj hodnoty s budúcim časom. | - | False |
Ignore Control Field 3 bit 0 | Určuje správanie sa, ak ASDU obsahuje v 3. bajte Control Field nastavený bit 0.
| - | False |
Ignore Invalids on Interrogation | Balancovaný mód: pokiaľ 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 |
Ignore Tests | Určuje správanie sa, ak ASDU obsahuje v CauseOfTransmission nastavený najvyšší bit 7 (Test).
| - | 0 |
Ignore Unknown Addresses | Ak 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 |
Implicit Interrogation | Balancovaný mód: po pripojení sa na server pošle proces D2000 KOM hodnoty všetkých premenných bez čakania na ASDU 100 alebo 101 [Interrogation/Counter Interrogation Command]. | - | False |
Interrogation Covers Counter Interrogation | Balancovaný mód: Ako odpoveď na Interrogation sa posielajú aj hodnoty výstupných meraných bodov nakonfigurovaných ako ASDU 15,16,37 (Integrated Totals), ktoré sú štandardne vyžiadané ASDU 101 [Counter Interrogation]. | - | False |
Interrogation WithOut Timestamps | Ak je hodnota parametra True, pri posielaní hodnôt ako odpoveď na ASDU 100 [Interrogation Command] v balancovanom móde 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 |
Interrogation By Broadcast Address | Ak je hodnota parametra True, proces D2000 KOM posiela ASDU 100 [Interrogation Command] resp. ASDU 101 [Counter Interrogation Command] pri inicializácii spojenia na jedinú stanicu s adresou 0xFFFF (decimálne 65535). V opačnom prípade posiela tieto ASDU na všetky stanice na linke, ktoré majú vstupné merané body a nie sú vypnuté. Poradie ASDU 100 a ASDU 101 a to, či sa vôbec posielajú závisí od parametrov "Order of IC" a "Order of Counter IC". | - | False |
K | Veľkosť vysielacieho okna, t.j. množstvo I-framov, ktoré proces D2000 KOM odošle bez prijatia potvrdenia (S-framu alebo I-framu). Podľa normy je prednastavené K=12. | - | 12 |
LFC History | Parameter je použiteľný na dočítavanie archívnych dát pri komunikácii s LFC terminálmi a prípadne inými zariadeniami, ktoré podporujú Ipesoftom definovanú ASDU 250. Na rozdiel od pôvodného použitia ASDU 250, LFC terminál je schopný poslať iba jednu hodnotu pre čas začiatku intervalu, pričom koncový čas je ignorovaný. Hodnota nepríde ako ASDU 251 ale ako jedna zo štandardných ASDU s časovou značkou. Navyše okrem hodnoty vyžiadaného bodu môžu prísť aj hodnoty iných bodov (všetky s tou istou časovou značkou). LFC terminál ako súčasť odpovede na ASDU 250 nepošle ASDU 250 (s CauseOfTransmission=7, 10) a proces D2000 KOM pokladá čítanie za ukončené, keď dostane hodnotu pre meraný bod, pre ktorý bola vyžiadaná. Pokiaľ nepríde hodnota do času "Wait Timeout T1", je čítanie z archívu považované za neúspešné, ale spojenie s LFC terminálom sa neukončí. Ak prídu okrem hodnoty vyžiadaného bodu aj hodnoty iných bodov, je nutné, aby prišli pred hodnotou vyžiadaného bodu. V opačnom prípade nie sú pokladané za archívne hodnoty (pretože čítanie sa považuje za ukončené prijatím hodnoty vyžiadaného bodu). Konkrétny prípad: LFC terminál po vyžiadaní hodnoty pre body s adresami 1,2..16 vždy posiela hodnoty všetkých šestnástich bodov v poradí 1,2..16, preto požiadame o bod s adresou 16. Ak nie je parameter nastavený alebo "LFC History"=0, čítanie archívnych dát je Ipesoftom definované (predpokladá sa partner D2000 IEC104 Server). Ak "LFC History"=1, tak za historickú hodnotu (ktorá ide do archívu ale nie do meraných bodov, atď.) sa považuje hodnota, ktorej čas patrí do intervalu časov vyžiadaných od procesu D2000 KOM prostredníctvom akcie GETOLDVAL (a poslaných cez ASDU 250). Ak "LFC History"=2, tak platí to isté ako pre "LFC History"=1, ale pokiaľ má prijatá hodnota novší čas ako aktuálna hodnota meraného bodu, do procesu D2000 Server sa pošle ako nová a nie ako historická. Poznámka: Pri dočítavaní archívnych dát z LFC terminálu, akcia GETOLDVAL nesmie obsahovať názov stanice (parameter statIdent) ale názov meraného bodu. Ak akcia obsahuje meno stanice, ASDU 250 sa pošle iba pre jeden meraný bod. | - | 0 |
Maximum Time Difference | Maximálny povolený časový rozdiel (v hodinách) medzi časom posielaných dát a časom procesu D2000 KOM. Ak partnerská stanica pošle hodnotu s časovou značkou, ktorá je staršia alebo novšia ako "Maximum Time Difference" hodín, hodnota je ignorovaná a v trace súbore linky je generované chybové hlásenie. Ak je parameter "Maximum Time Difference" záporný (napr. "Maximum Time Difference"=-5), berie sa do úvahy jeho absolútna hodnota a navyše sa pri takejto udalosti generuje systémový alarm SystemError. Nulová hodnota parametra "Maximum Time Difference" vypína kontrolu časovej diferencie. | hod | 0 |
No Flags | Ak je hodnota parametra True, potom sa stavový byte prichádzajúcich ASDU ignoruje a neukladá do príznakov A .. H. Zároveň sú ignorované príznaky výstupných meraných bodov a stavový byte sa nenastavuje podľa nich. | - | False |
Order of IC | Poradie posielania ASDU 100 [Interrogation Command] pri inicializácii spojenia. Ak je "Order of IC" < "Order of Counter IC", pošle sa ASDU 100 pred ASDU 101. Ak je "Order of IC"=0, ASDU 100 sa neposiela. Parameter je nastaviteľný a platný zvlášť pre každú stanicu. | - | 1 |
Order of Counter IC | Poradie posielania ASDU 101 [Counter Interrogation Command] pri inicializácii spojenia. Ak je "Order of Counter IC"<"Order of IC", pošle sa ASDU 101 pred ASDU 100. Ak je "Order of Counter IC"=0, ASDU 101 sa neposiela. Parameter je nastaviteľný a platný zvlášť pre každú stanicu. | - | 2 |
Ping Count | Počet opakovaní, po ktorých ak IP adresa neodpovedá na ping, je označená ako nefunkčná. Viď parameter Ping TimeOut. | - | 3 |
Ping TimeOut | Ak je tento parameter nenulový, tak udáva timeout (v milisekundách) na odpoveď servera na ping (ICMP echo) paket. Proces D2000 KOM v pozadí pinguje všetky zadané IP, t.j. IP adresu(y) linky a "Alternate Server 1", "Alternate Server 2", "B-Alternate Server 1", "B-Alternate Server 2". Ak niektorá IP adresa Ping Count-krát po sebe neodpovie, je označená ako nefunkčná. V prípade, že je linka spojená s touto IP adresou, je spojenie ukončené. Nové spojenie je nadväzované iba na funkčnú IP adresu. Ak je parameter "Ping TimeOut"=0, pingovanie IP adries nie je aktívne. | ms | 0 |
Post start delay | Oneskorenie pri inicializácii spojenia medzi prijatím odpovede StartDT Con a zaslaním Interrogation Command a/alebo Counter Interrogation Command. | ms | 0 |
Pre Reconnect Delay | Čakanie pred pripájaním sa na začiatku komunikácie po spustení procesu D2000 KOM a po rozpade komunikácie. | ms | 0 |
Send sequence number | Počiatočné "Send sequence number" SSN. Podľa normy sa po vytvorení spojenia nastavuje "Send sequence number" na 0, iné ako nulové "Send sequence number" môže byť vhodné napr. na testovanie. | - | 0 |
Smart Redundancy Mode | Použiteľné na linke TCP Redundant ako alternatíva k Ignore Tests=1 resp. Ignore Control Field 3 bit 0=1. Proces D2000 KOM predpokladá, že cez obidve spojenia TCP Redundant linky idú tie isté hodnoty (v prípade hodnôt s čas. značkou aj rovnaké čas. značky) v tom istom poradí. Proces D2000 KOM sa snaží zosynchronizovať obe spojenia. Ak príde Smart Redundancy Minimum rovnakých hodnôt, dáta sú zosynchronizované. Po zosynchronizovaní sa berie do úvahy hodnota, ktorá príde skôr, tá istá hodnota cez druhé TCP spojenie je zahodená. K rozpadu synchronizácie dôjde pri rozpade TCP spojenia alebo ak prídu rôzne hodnoty. Výhodou "Smart Redundancy Mode" oproti rozlišovaniu hot/standby partnera cez "Ignore Tests"/"Ignore Control Field 3 bit 0" je, že po výpadku komunikácie s hot partnerom nedochádza k žiadnej strate údajov, pretože komunikácia pokračuje so standby partnerom a spojenie s hot sa snaží obnoviť. Pri obnovovaní spojenia (v prípade, že druhé spojenie je v poriadku) sa ignorujú hodnoty získané príkazom General Interrogation. | - | False |
Smart Redundancy Minimum | Množstvo hodnôt, ktoré sa musia zhodovať, aby v Smart Redundancy Mode móde boli spojenia považované za synchronizované. Pri zhode sa berie do úvahy:
| - | 5 |
Standby Keep Open | Ak je True, po prechode procesu D2000 Server, ku ktorému je proces D2000 KOM pripojený, z Hot do Standby stavu (redundantný systém) sa nezatvorí spojenie so serverom. | - | False |
Standby Set Control Field | Ak je True, po prechode procesu D2000 Server, ku ktorému je proces D2000 KOM 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 resp. príkazmi) 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 "Standby Set Test Bit". | - | False |
Standby Set Test Bit | Ak je True, Cause Of Transmission bude mať nastavený Test bit, pokiaľ je D2000 KOM pripojený k Standby serveru (redundantný systém) alebo je pasívnou inštanciou. | - | False |
Standby Write Values | Ak je True, po prechode procesu D2000 Server, ku ktorému je proces D2000 KOM pripojený, z Hot do Standby stavu (redundantný systém) sa budú posielať nové hodnoty serveru. | - | False |
Station Communication Error | Parameter udáva počet neúspešných pokusov o pripojenie po výpadku komunikácie, po ktorých všetky stanice na linke prejdú do stavu St_CommErr. Pri redundantných linkách musí navyše buď komunikácia vypadnúť na oboch TCP spojeniach alebo funkčné TCP spojenie musí byť na standby-server (viď parametre Ignore Control Field 3 bit 0 a Ignore Tests), t.j. dáta z neho sú ignorované. | - | 2 |
Station Hard Error | Po výpadku komunikácie všetky stanice na linke prejdú do stavu St_HardErr, ak sú splnené nasledovné podmienky:
| - | 5 |
Stop Data Confirm Ignored | Workaround pre chybu MetsoDNA servera: po pripojení sa na IEC870-5-104 server firmy Metso tento pošle U-frame STOPDTcon (potvrdenie o skončení zasielania dát). Ak parameter "Stop Data Confirm Ignored"=True, tento rámec bude ignorovaný a bude sa pokračovať v komunikácii. Bez parametra STDCI sa spojenie preruší. | - | False |
Strict Redundancy Connection Signalisation | Určuje správanie sa, ak je protokol použitý na linke TCP Redundant
| - | False |
Tcp Keep Init | Tento parameter je implementovaný iba na OpenVMS. Ak je nenulový, tak udáva timeout (v sekundách) na otvorenie nového spojenia na server. Pre OpenVMS je default 75 sekúnd, pre Windows 20. Keď timeout uplynie, connect procedúra vráti chybu. | - | 0 |
Tcp No Delay | Nastavenie "Tcp No Delay"=True parametra spôsobí nastavenie nízkoúrovňového parametra socketov TCP_NODELAY, čím sa vypne prednastavené spájanie paketov. | - | False |
W | Množstvo prijatých I-framov, po ktorých proces D2000 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 |
Wait Timeout T1 | Timeout 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 "Wait Timeout T1" nedostane proces D2000 KOM potvrdenie, zavrie TCP spojenie. Podľa normy prednastavený "Wait Timeout T1" je 15000 ms. | ms | 15 000 |
Wait Timeout T2 | Timeout na posielanie potvrdenia na prijatý I-frame. "Wait Timeout T2" < "Wait Timeout T1". Ak nie je posielaný do času "Wait Timeout T2" od prijatia I-framu iný I-frame (ktorý by zároveň potvrdil prijatý I-frame), tak pošle proces D2000 KOM partnerovi potvrdzujúci S-frame, ktorým potvrdí prijatý I-frame. Podľa normy prednastavený "Wait Timeout T2" je 10000 ms. | ms | 10 000 |
Wait Timeout T3 | Timeout na posielanie testovacích framov (U-frame TEST ACT). Ak sa neposielajú žiadnym smerom dlhší čas žiadne dáta, po uplynutí doby "Wait Timeout T3" pošle proces D2000 KOM U-frame TEST ACT a očakáva (do doby "Wait Timeout T1" od odoslania) príchod U-frame TEST CON. V prípade, že partner má "Wait Timeout T3" nastavený na menšiu hodnotu, posiela testovacie framy on a proces D2000 KOM na ne odpovedá. Podľa normy prednastavený "Wait Timeout T3" je 20000 ms. Nastavením na 0 sa posielanie testovacích framov vypne. | ms | 20 000 |
Wait Timeout No answer | Timeout na prijatie potvrdenia spracovania zaslanej hodnoty. 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 "Wait Timeout Tn" 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í "Wait Timeout Tn" zavrie proces D2000 KOM TCP spojenie. | ms | 60 000 |
Zadané parametre s výnimkou "Order of IC", "Order of Counter IC" a "Force Slave Time" sú platné pre celú linku - tj. stačí ich zadať v jedinej stanici patriacej linke.
Tell príkazy
Tab. č. 4
Príkaz | Syntax | Popis |
STCOMMAND | STCOMMAND MenoStanice DISCONNECT | Tell príkaz vykoná okamžité uzatvorenie aktívnych TCP spojení linky (rodiča stanice "MenoStanice"). Následne je vykonaný reštart a reinicializácia spojenia. |
STWATCH | STWATCH MenoStanice | Tell príkaz pošle na stanicu Interrogation Command a/alebo Counter Interrogation Command (podľa parametrov stanice). |
Príklady konfigurácie
Príklad 1: Klient komunikujúci so serverom SrvA na redundantnej sieti
Nastavenia servera
| Nastavenia klienta
|
Po výpadku komunikácie cez jeden segment siete (napr. výpadok IPA1) nadviaže klient spojenie so serverom SrvA na adrese IPA2.
Príklad 2: Klient komunikujúci s redundantnými servermi SrvA, SrvB
Nastavenia serverov
| Nastavenia klienta
|
Klient komunikuje s hot aj standby serverom, spojenie so standby serverom zostáva otvorené, ale nové hodnoty posiela iba hot server.
Poznámka: Ak sa použije meno myName, treba ho pomocou súboru hosts previesť na 1. serveri na IPA a na 2. serveri na IPB.
Príklad 3: Klient komunikujúci s redundantnými servermi SrvA, SrvB na redundantnej sieti
Nastavenia serverov
| Nastavenia klienta
|
Klient bude komunikovať s obidvoma servermi, po výpadku komunikácie cez jeden segment siete (napr. výpadok IPA1) nadviaže spojenie so serverom SrvA na adrese IPA2.
Príklad 4: Redundantní klienti ClientC, ClientD komunikujúci s redundantnými servermi SrvA, SrvB na redundantnej sieti
Nastavenia serverov
| Nastavenia klientov
|
Klienti budú komunikovať s obidvoma servermi, po výpadku komunikácie cez jeden segment siete (napr. výpadok IPA1) nadviaže spojenie so serverom SrvA na adrese IPA2. Po prepnutí hot/standby klientov ClientC a ClientD títo pokračujú v komunikácii so servermi, ale príkazy posiela iba aktívny klient. Podobne, nové hodnoty posiela iba aktívny server.
Konfigurácia meraných bodov
Povolené typy bodov: Ai, Ao, Ci, Co, Di, Dout, Qi
- Adresa bodu je mapovaná na Information object address, t.j. má 3 bajty a musí byť v rozmedzí 0 - 16777215. Môže byť zadaná dekadicky, prípadne ako hexadecimálne číslo s mriežkou na začiatku (napr. #0A).
Meraný bod s adresou, ktorá sa začína %IGNORE, bude ignorovaný. - Vstupné body musia mať príslušné typy (Ai, Ci, Di, Qi) pre prijaté ASDU, viď tabuľka 1.
- Pre konkrétny typ výstupného bodu (Ao, Dout, Co) je nutné nastaviť typ ASDU, ktorý sa má použiť, viď tabuľka 2, v balancovanom móde aj tabuľka 1.
- Archív pre poskytovanie starých hodnôt: ak si klient vyžiada archívne hodnoty pomocou ASDU 250, server posiela:
- hodnoty archivovaného bodu zadané v tomto vstupnom políčku
- ak vstupné políčko nie je vyplnené, hodnoty archivovaného bodu, ktorý archivuje priamo meraný bod
- ak takýto archivovaný bod neexistuje, hodnoty archivovaného bodu, ktorý archivuje riadiaci objekt tohto meraného bodu
- ak takýto objekt neexistuje (alebo archív nie je dostupný), vracia server chybu.
- Ak je nakonfigurovaný Cieľový stĺpec štruktúry, tak sa do príslušných položiek ukladajú prijaté hodnoty od adresy nakonfigurovanej na meranom bode a vyššie (napr. objekty s adresami 10, 11, 12 ... podľa počtu riadkov cieľovej štruktúry).
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-5-104 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-5-104 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 .
Literatúra
Príklad komunikácie
Priložený ZIP obsahuje konfiguráciu linky, stanice a meraných bodov na IEC104 komunikáciu. V podadresári client sú objekty linky/stanice/meraných bodov s protokolom IEC 870-5-104 Client, v podadresári server sú objekty linky/stanice/meraných bodov s protokolom IEC 870-5-104 Server, Server počúva na porte 2404 na lokálnom rozhraní (localhost). Nakonfigurovaných je niekoľko dátových aj príkazovych ASDU, ktoré posielajú hodnoty systémových premenných Sec a Min.
Blog
O protokole IEC 870-5-104 si môžete prečítať aj blogy:
Revízie dokumentu
- Ver. 1.0 – 30. júl 2003
- Ver. 1.1 – 19. november 2003 - rozšírenie podporovaných ASDU, nové parametre
- Ver. 1.2 – 20. marec 2004 - pridané ASDU na čítanie archívnych hodnôt
- Ver. 1.3 – 20. jún 2004 - rozšírenie o podporu redundancie
- Ver. 1.4 – 1. december 2004 - rozšírenie o podporu balancovaného módu
- Ver. 1.5 - 12. december 2012 - aktualizácia, tell príkazy
- Ver. 1.6 – 15. jún 2020: podpora browsovania
- Ver. 1.7 – 16. november 2023 (podpora cieľového stĺpca štruktúry)
Súvisiace stránky:
1 Comment
D2000 Dev Team
O protokole IEC 870-5-104 si môžete prečítať aj blogy:
Add Comment