IEC 870-5-104 Sinaut
Protokol IEC 60870-5-104 Sinaut
Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Parametre protokolu stanice
Konfigurácia meraných bodov
Tell príkazy
Literatúra
Revízie dokumentu
Podporované typy a verzie zariadení
Protokol je modifikácia protokolu IEC 870-5-104 pracujúcom na báze TCP sieťovej komunikácie. Protokol je upravený špecificky pre redundantnú komunikáciu so systémom Siemens Sinaut Spectrum. Podporuje balancovaný mód a aktívne aj pasívne nadväzovanie komunikácie (pripájajúcu aj čakajúcu stranu) podľa nastavenia parametrov protokolu stanice, preto umožňuje prepojiť nielen systém D2000 so systémom Sinaut, ale aj dva systémy D2000 medzi sebou.
Obrázok: Redundantný systém D2000 komunikujúci s redundantným systémom Sinaut v redundantnej sieti
Obrázok znázorňuje TCP spojenia - každý proces D2000 KOM (D2000 Hot, D2000 StandBy) s každým Sinaut-om (Sinaut Hot, Sinaut StandBy).
Implementácia je podľa normy IEC870-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.
Poznámka: Kvôli dátovému modelu Sinaut je vymenený horný a spodný bajt adresy oproti štandardnej implementácii IEC 104, t.j. big endian namiesto little endian.
Príklad:
adresa stanice=1, pošle sa ASDU address ako bajty 0, 1
adresa stanice=513 (2*256+1), pošle sa ASDU address ako bajty 2, 1
Kvôli lepšej orientácii je možné zapisovať adresu stanice v tvare ByteHI,ByteLO, t.j. adresa 2,1 je rovná 513.Cause of transmission - má 2 bajty (obsahuje aj Originator ASDU address)
Information object address - 3 bajty, zadáva sa ako adresa meraného bodu
Poznámka: Kvôli dátovému modelu Sinaut je vymenené poradie bajtov adresy oproti štandardnej implementácii IEC 104, t.j. big endian namiesto little endian.
Príklad:
adresa meraného bodu=1, pošle sa ASDU address ako bajty 0, 0, 1.
adresa meraného bodu=66051(1*256*256+2*256+3), pošle sa ASDU address ako bajty 1, 2, 3.
Kvôli lepšej orientácii je možné zapisovať adresu meraného bodu v tvare ByteHI,ByteMIDDLE,ByteLO, t.j. adresa 1,2,3 sa pošle ako bajty 1, 2, 3.
Implementované sú nasledujúce ASDU v smere monitorovania (zo Sinautu do D2000, v balancovanom móde aj opačným smerom):
Tab. č. 1
Typ ASDU | Typy 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 *** |
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 flagov 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 flagu FI, do premennej typu Ci/Ai ide číslo -64 .. +63
** - ASDU 17 a 38: bajt SEP ide do flagov 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 Sinautu, 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 |
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ú flagy 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 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 CMDC. Existujú tieto možnosti:
zápis sa považuje za úspešný, keď príde paket s RSN potvrdzujúcim SSN paket 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.
Základné vlastnosti redundantnej komunikácie so systémom Siemens Sinaut:
Jedna linka typu TCP/IP-TCP Redundant komunikuje s dvoma redundantnými partnermi Sinaut, jeden z nich je HOT, druhý STANDBY.
S každým partnerom sa komunikuje po dvoch redundantných sieťach (t.j. vytvárajú sa 2 TCP spojenia pre každý Sinaut, spolu 4 TCP spojenia).
Iba HOT účastník komunikácie (D2000 resp. Sinaut) posiela nové hodnoty a odpovedá na ASDU 100 [Interrogation Command]. STANDBY účastník po nadviazaní spojenia posiela iba potvrdenia (S-framy) a testovacie framy. Aj standby účastník môže vyslať ASDU 100 [Interrogation Command].
Každý účastník komunikuje s partnerom iba cez jedno TCP spojenie. Cezeň posiela nové hodnoty, potvrdenia príkazov, ASDU 100 aj odpovede na ASDU 100. Druhé spojenie je nečinné (posielajú sa cezeň testovacie framy) a použije sa až pri detekcii výpadku prvého spojenia.
Nadväzovanie spojenia:
V aktívnom režime sa proces D2000 KOM pripojí na špecifikované TCP porty. Na každý pošle U-frame StartDT Act, ako odpoveď očakáva StartDT Con.
V pasívnom režime proces D2000 KOM čaká na špecifikovanom TCP porte (viď parametre SP, SH). Po pripojení sa klientov čaká na U-frame StartDT Act, ako odpoveď posiela StartDT Con.
Ďalšia komunikácia je úplne symetrická. Obaja partneri môžu vyslať ASDU 100 [Interrogation Command] na načítanie všetkých aktuálnych hodnôt, a následne prijímajú a posielajú zmenené hodnoty a príkazy.
Po nadviazaní spojenia môže poslať účastník I-frame s ASDU 100 [Interrogation Command] s CauseOfTransmission=6 [Activation] a s ASDUAddres=FFFF, čím žiada hodnoty meraných bodov pre všetky stanice. Ako odpoveď očakáva:
prijatie I-frame s ASDU 100 [Interrogation Command] a s CauseOfTransmission= 7 a ASDUAddres=FFFF
prijatie aktuálnych hodnôt všetkých meraných bodov
prijatie I-frame s ASDU 100 [Interrogation Command] a s CauseOfTransmission= 10 a ASDUAddres=FFFF
Vynútené prerušenie spojenia: Keď sa všetky komunikačné stanice na linke dostanú do simulácie alebo majú zastavenú komunikáciu, komunikačná linka sa odpojí (dôjde ku zavretiu komunikačných socketov). Keď aspoň jedna stanica bude mať vypnutú simuláciu a nebude mať zastavenú komunikáciu (záložka Parametre objektu typu 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ší odstavec.
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 typu Stanica), pošle proces D2000 KOM Interrogation Command a/alebo Counter Interrogation Command (viď parametre OIC, OCIC).
Protokol IEC870-5-104 Sinaut podporuje balancovaný mód popísaný v protokole IEC 870-5-104 a teda je sčasti server, preto platia preň pravidlá pre serverovské protokoly.
Konfigurácia komunikačnej linky
Kategória komunikačnej linky: TCP/IP-TCP Redundant
TCP parametre:
Host: string max. 80 znakov – dve čiarkou oddelené IP adresy servera vo formáte a.b.c.d
V aktívnom režime sú to adresy servera, na ktorý sa KOM proces pripája.
V pasívnom režime (viď parametre SP, SH) sú to IP adresy klienta, ktoré proces D2000 KOM akceptuje (v prípade pripojenia sa klienta z inej IP adresy, bude tento hneď odpojený).Port: číslo TCP portu (0 až 65535)
V aktívnom režime je to port servera, na ktorý sa proces D2000 KOM pripája.
V pasívnom režime (viď parametre SP, SH) je tento parameter ignorovaný (ale musí byť nastavený, napr. na hodnotu 0).Číslo linky: použije sa ako Originator ASDU address (1 bajt, 0-255).
Konfigurácia komunikačnej stanice
Komunikačný protokol: IEC870-TCP Sinaut.
Adresa stanice je dekadické číslo v rozsahu 0 až 65535, určuje adresu ASDU.
Kvôli lepšej orientácii je možné zapisovať adresu stanice v tvare ByteHI,ByteLO, t.j. adresa 2,1 je rovnaká ako 513 (2*256 + 1). Viď poznámku o adrese ASDU.
Poznámka: 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+).
Parametre protokolu stanice
Dialóg konfigurácia stanice - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu stanice:
Tab. č. 3
Parameter | Popis | Jednotka | Náhradná hodnota |
|---|---|---|---|
Command Confirm | Potvrdzovanie riadiacich ASDU. | - | 3 |
Debug Input | Maska pre úrovne debugovania vstupných dát. Jednotlivé bity majú nasledovný význam:
| 0 .. 255 | 0 |
Debug Output | Maska pre úrovne debugovania výstupných dát. Jednotlivé bity majú nasledovný význam:
| 0 .. 255 | 0 |
ICCP compatible flags | Povoľuje mapovanie flagov kompatibilných so Sinaut Spectrum ICCP OPC komunikáciou. Bližšie info viď ICCP kompatibilné mapovanie flagov. | YES/NO | NO |
Ignore Flagged | Parameter umožňuje špecifikovať príznaky hodnôt (dátových ASDU 1-40), ktoré - ak budú nastavené - spôsobia, že príslušná hodnota bude zahodená. Parameter bol implementovaný, keď bolo nutné odfiltrovať hodnoty s príznakom "Non-topical" (mapované do flagu G), ktoré prišli od komunikačného partnera. Mapovanie jednotlivých príznakov z ASDU do flagov A..H je nasledovné:
| A..H | - |
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. | YES/NO | NO |
Interrogation Covers Counter Interrogation | Ako odpoveď na Interrogation sa posielajú aj ASDU 15,16,37 (Integrated Totals), ktoré sú štandardne vyžiadané ASDU 101 [Counter Interrogation]. | YES/NO | YES |
K (max outstanding I APDUs) | Veľkosť vysielacieho okna, t.j. množstvo paketov, ktoré proces D2000 KOM odošle bez prijatia potvrdenia (S-framu alebo I-framu). Podľa normy je prednastavené K=12. | - | 12 |
No Flags | Ak je hodnota parametra True, potom sa stavový bit 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ý bit sa nenastavuje podľa nich. | YES/NO | NO |
Order of IC | Poradie posielania ASDU 100 [Interrogation Command] pri prechode stanice do komunikácie alebo pri vytvorení novej stanice. 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. | - | 1 |
Order of Counter IC | Poradie posielania ASDU 101 [Counter Interrogation Command] pri prechode stanice do komunikácie alebo pri vytvorení novej stanice. 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 |
Ping Count | Počet opakovaní, po ktorých ak IP adresa neodpovedá na ping, je označená ako nefunkčná. Viď parameter PTO. | - | 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 štyri nakonfigurované IP adresy. Ak niektorá IP adresa PCNT-krát po sebe neodpovie, je označená ako nefunkčná a spojenie je ukončené. Ak je parameter PTO= 0, pingovanie IP adries nie je aktívne. | - | 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 |
Send Sequence Number | Poč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 |
Server Port, Server Host | Číslo portu a IP adresa rozhrania, na ktorom má proces D2000 KOM počúvať. Ak sú zadané oba parametre, proces D2000 KOM funguje ako pasívny (čaká na pripojenie sa klientov Sinaut). Ak má počúvať na všetkých sieťových rozhraniach, treba nastaviť hodnotu parametra na ALL alebo *. | - |
|
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 druhou stranou. | - | True |
Station Communication Error |
O protokole IEC 870-5-104 si môžete prečítať aj blogy:
Komunikácia – protokol IEC 104
Komunikácia – protokol IEC 104, časť 2