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 ASDUTyp meraného bodu
1 - Single-point informationDi, Qi (On/Off), Ai, Ci
2 - Single-point information with time tagDi, Qi (On/Off), Ai, Ci
3 - Double-point informationQi, Ai, Ci
4 - Double-point information with time tagQi, Ai, Ci
5 - Step position informationCi, Ai *
6 - Step position information with time tagCi, Ai *
7 - Bitstring of 32 bitsCi, Ai
8 - Bitstring of 32 bits with time tagCi, Ai
9 - Measured value, normalized valueAi
10 - Measured value, normalized value with time tagAi
11 - Measured value, scaled valueCi, Ai
12 - Measured value, scaled value with time tagCi, Ai
13 - Measured value, short floating point valueAi
14 - Measured value, short floating point value with time tagAi
15 - Integrated totalsCi, Ai
16 - Integrated totals with time tagCi, Ai
17 - Event of protection equipment with time tagCi, Ai, TiR **
18 - Packed start events of protection equipment with time tagCi, Ai, TiR ***
20 - Packed single-point information with status change detectionCi, Ai
21 - Measured value, normalized value without quality descriptorAi
30 - Single-point information with time tag CP56Time2aDi, Qi (On/Off), Ai, Ci
31 - Double-point information with CP56Time2a tagQi, Ai, Ci
32 - Step position information with CP56Time2a tagCi, Ai *
33 - Bitstring of 32 bits with CP56Time2a tagCi, Ai
34 - Measured value, normalized value with CP56Time2a tagAi
35 - Measured value, scaled value with CP56Time2a tagCi, Ai
36 - Measured value, short floating point value with time tag CP56Time2aAi
37 - Integrated totals with time tag CP56Time2aCi, Ai
38 - Event of protection equipment with time tag CP56Time2aCi, Ai, TiR **
39 - Packed start events of protection equipment with time tag CP56Time2aCi, Ai, TiR ***
40 - Packed output circuit information of protection equipment with time tag CP56Time2aCi, 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 ASDUTyp meraného bodu
45 - Single commandDout
46 - Double commandDout,Co
47 - Regulating step commandDout
48 - Set point command, normalised valueAo
49 - Set point command, scaled valueCo
50 - Set point command, short floating point valueAo
51 - Bitstring of 32 bitCo
58 - Single command with time tag CP56Time2aDout
59 - Double command with time tag CP56Time2aDout,Co
60 - Regulating step command with time tag CP56Time2aDout
61 - Set point command, normalised value with time tag CP56Time2aAo
62 - Set point command, scaled value with time tag CP56Time2aCo
63 - Set point command, short floating point value with time tag CP56Time2a Ao
64 - Bitstring of 32 bit with time tag CP56Time2aCo
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 dekadické číslo v rozsahu 0 až 65535, určuje adresu ASDU.

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ázovPopisJednotkaNá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

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
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.
  • ak "Ignore Control Field 3 bit 0"=False (default), obsah sa ASDU spracuje
  • ak "Ignore Control Field 3 bit 0"=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 najnižšieho bitu v 3. bajte Control Field-u a pasívny (standby) server posielal ASDU s nastaveným bitom.
-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).

  • ak "Ignore Tests"=0 (default), obsah sa ASDU spracuje
  • ak "Ignore Tests"=1, obsah ASDU sa ignoruje
  • ak "Ignore Tests"=2, nastaví sa weak príznak
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.
-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.hod0
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.ms0
Post start delay
Oneskorenie pri inicializácii spojenia medzi prijatím odpovede StartDT Con a zaslaním Interrogation Command a/alebo Counter Interrogation Command.ms0
Pre Reconnect Delay
Čakanie pred pripájaním sa na začiatku komunikácie po spustení procesu D2000 KOM a po rozpade komunikácie.ms0
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:
  • adresa bodu a stanice
  • hodnota
  • čas
  • príznaky (flagy A .. H)
-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:

  • počet neúspešných pokusov o pripojenie dosiahol hodnotu ST_HE alebo vyššiu
  • snaha o obnovenie komunikácie trvá minimálne dobu, ktorú udáva parameter Časový filter (do úvahy sa berie maximálna hodnota na všetkých staniciach linky)
  • pri redundantných linkách navyše buď komunikácia vypadla na oboch TCP spojeniach alebo funkčné TCP spojenie je iba na standby-server (viď parametre Ignore Control Field 3 bit 0 a Ignore Tests), t.j. dáta z neho sú ignorované.
-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
  • ak "Strict Redundancy Connection Signalisation"=False, linka je v poriadku (TRUE), ak je funkčné aspoň 1 pripojenie
  • ak "Strict Redundancy Connection Signalisation"=True, linka je v chybovom stave (FALSE), ak sú funkčné obe pripojenia
-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.ms15 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.ms10 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.
ms20 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.
ms60 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íkazSyntaxPopis
STCOMMANDSTCOMMAND MenoStanice DISCONNECTTell 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.
STWATCHSTWATCH MenoStaniceTell 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

  • linka: TCP/IP-TCP (Host ALL, port 2404)
  • protokol: IEC 870-5-104 Server
  • parametre: žiadne

Nastavenia klienta

  • linka: TCP/IP-TCP (Host IPA1,IPA2 port 2404)
  • protokol: IEC 870-5-104
  • parametre: žiadne

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

  • linka: TCP/IP-TCP (Host myName alebo ALL, port 2404)
  • protokol: IEC 870-5-104 Server
  • parametre:

    Standby Keep Open = True

    Standby Write Values = False

    Standby Set Control Field = True

Nastavenia klienta

  • linka: TCP/IP-TCP Redundant (Primary host IPA, Secondary host IPB, oba porty 2404)
  • protokol: IEC 870-5-104
  • parametre:

    Standby Keep Open = True

    Ignore Control Field 3 bit 0 = True

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

  • linka: TCP/IP-TCP (Host ALL, port 2404)
  • protokol: IEC 870-5-104 Server
  • parametre:

    Standby Keep Open = True

    Standby Write Values = False

    Standby Set Control Field = True

Nastavenia klienta

  • linka: TCP/IP-TCP Redundant (Primary host IPA1,IPA2, Secondary host IPB1,IPB2, oba porty 2404)
  • protokol: IEC 870-5-104
  • parametre:

    Ignore Control Field 3 bit 0 = True

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

  • linka: TCP/IP-TCP (Host ALL, port 2404)
  • protokol: IEC 870-5-104 Server
  • parametre:

    Standby Keep Open = True

    Standby Write Values = False

    Standby Set Control Field = True

Nastavenia klientov

  • linka: TCP/IP-TCP Redundant (Primary host IPA1,IPA2, Secondary host IPB1,IPB2, oba porty 2404)
  • protokol: IEC870-5-104
  • parametre:

    Standby Keep Open = True

    Standby Write Values = False

    Ignore Control Field 3 bit 0 = True

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.
  • 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:
    1. hodnoty archivovaného bodu zadané v tomto vstupnom políčku
    2. ak vstupné políčko nie je vyplnené, hodnoty archivovaného bodu, ktorý archivuje priamo meraný bod
    3. ak takýto archivovaný bod neexistuje, hodnoty archivovaného bodu, ktorý archivuje riadiaci objekt tohto meraného bodu
    4. ak takýto objekt neexistuje (alebo archív nie je dostupný), vracia server chybu.
    Zadaním archívneho bodu je možné napr. nastaviť posielanie 10-minútových priemerov namiesto posielania všetkých zmien meraného bodu.


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


-

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


Súvisiace stránky:

1 komentár

Napíšte komentár