Protokol IEC 60870-5-101
Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Parametre protokolu linky
Konfigurácia meraných bodov
Tell príkazy
Literatúra
Zmeny a úpravy
Revízie dokumentu
Podporované typy a verzie zariadení
Tento protokol je tiež známy ako IEC 870-5-101 alebo IEC-101. Implementácia protokolu podporuje štandard IEC 60870-5-101:2003 v módoch "unbalanced" master aj slave a "balanced". Navyše je podporená redundancia komunikačných liniek podľa tzv. nórskej konvencie (Norwegian IEC 870-5-101 User Conventions). Implementácia podľa normy IEC 60870-5-101 je nasledovná:
- Originator ASDU address - nie je prítomná.
- ASDU address - je 1 bajt, zadáva sa ako adresa stanice. Každá stanica na jednej linke musí mať rôznu ASDU adresu.
- Cause of transmission - má 1 bajt (neobsahuje Originator ASDU address).
- Information object address - 2 bajty, zadáva sa ako adresa meraného bodu.
Konfigurácia komunikačnej linky
Kategórie linky:
- Serial,
- Serial Line Redundant,
- Serial System&Line Redundant,
- SerialOverUDP Device Redundant,
- SerialOverUDP Line Redundant,
- SerialOverUDP System&Line Redundant,
- RFC2217 Client.
Ak je vyžadovaná redundantná komunikácia na dvoch komunikačných linkách (tzv. nórska konvencia), použite kategórie linky Serial Line Redundant alebo SerialOverUDP Device Redundant.
Ak vyžadujete systémovo redundantnú komunikáciu, použite kategóriu linky SerialOverUDP System&Line Redundant alebo Serial System&Line Redundant. V prípade, že má byť táto komunikácia ešte aj sieťovo redundantná, vyplňte "Sekundárnu linku" pre "Systém A" a "Systém B". Táto konfigurácia následne funguje s tým, že paralelne posiela a prijíma dáta z dvoch systémov, pričom každý z nich je sieťovo redundantne pripojený podľa tzv. nórskej konvencie (Norwegian IEC 870-5-101 User Conventions).
Konfigurácia stanice
- Komunikačný protokol "IEC 870-5-101 balanced", "IEC 870-5-101 unbalanced primary (Master)" alebo "IEC 870-5-101 unbalanced secondary (Slave)".
- Adresa stanice je číslo v rozsahu 0 až 255 a v protokole je použitá ako ASDU address. Môže byť zadaná dekadicky, prípadne ako hexadecimálne číslo s mriežkou na začiatku (napr. #0A).
- Synchronizáciu reálneho času stanice je možné povoliť v prípade protokolov "master" a "balanced - station A(controlling)" nastavením periódy synchronizácie na nenulovú hodnotu. Synchronizácia sa vykonáva pomocou ASDU 103 "Clock synchronization command" v pásmovom čase podľa nastavenia systému D2000.
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ť.
Pozn: v prípade protokolov "slave" a "balanced", pokiaľ príde príkaz Interrogation (ASDU 100) alebo Counter Interrogation (ASDU 101) na "broadcast" adresu (hexadecimálne FF resp. FFFF podľa parametra Link Address), posielajú sa dáta zo všetkých staníc.
Parametre protokolu linky
Dialóg konfigurácia linky - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu stanice:
Tab. č. 1
Parameter | Popis | Jednotka | Náhradná hodnota |
---|---|---|---|
Link Address | Spoločná linková adresa. | - | 1 |
Length of ASDU Address | Dĺžka adresy ASDU. | 1/2 byte(s) | 1 |
Length of Link Address | Dĺžka spoločnej linkovej adresy. | 1/2 byte(s) | 1 |
Length of Info Object Address | Dĺžka adresy informačného objektu. | 1/2/3 byte(s) | 2 |
Length of Cause Of Trasmission | Dĺžka "Cause Of Transmission". | 1/2 byte(s) | 1 |
Retry Count | Počet opakovaní výzvy v prípade chyby komunikácie. | - | 2 |
Retry Timeout | Oneskorenie medzi opakovaním výzvy v prípade chyby komunikácie. | ms | 100 milisek. |
Wait First Timeout | Oneskorenie po odvysielaní výzvy pred čítaním odpovede. | ms | 100 milisek. |
Wait Timeout | Oneskorenie medzi čítaniami odpovede do jej skompletovania. | ms | 500 milisek. |
Max. Wait Retry | Počet opakovaní čítania odpovede do jej skompletovania. | - | 6 |
No Data Timeout | Oneskorenie ďalšej výzvy "Request user data class 1/2" v prípade že neboli prijaté žiadne dáta (iba master). | ms | 300 milisek. |
Inactivity Timeout | Perióda kontroly stavu spojenia. Ak neboli prijaté žiadne platné dáta, stav staníc prejde do komunikačnej chyby. Prepínanie redundantných zariadení v prípade linky SerialOverUDP Device Redundant (iba slave). | ms | 5 sek. |
Moxa Timeout | Perióda prepínania redundantných zariadení MOXA NPort v prípade komunikačnej chyby (iba master, balanced). | sek. | 10 |
Source Flags | Nastavenie flagov FI..FL podľa zdroja linky. Pokiaľ je použitá linka SerialOverUDP System+Line Redundant, hodnoty budú flagované následne:
Pozn: flagovanie bolo použité v praxi v komunikácii s redundantnými systémami na odlíšenie chybných hodnôt, ktoré posielal partnerský systém, ktorý mal byť pasívny a neposielať nič. | - | NO |
No Output Flags | Zapnutie parametra spôsobí ignorovanie flagov FA..FH pri výstupných meraných bodoch. Pokiaľ je parameter vypnutý, flagmi FA..FH sa dajú ovplyvňovať jednotlivé bity bajtu, ktorý hovorí o kvalite. | - | NO |
Link Test Timeout | Perióda odoslania žiadosti "Test function for link" v prípade že uplynul tento timeout a neboli prenesené žiadne dátové telegramy (iba balanced). | sek. | 10 |
Single Value In Spontaneous Answer | Pri posielaní zmenových hodnôt sa tieto budú posielať po jednej a nebudú sa zlučovať do dlhších paketov. Parameter bol implementovaný kvôli TM1703mic, ktorý v niektorých verziách vyžadoval takúto vlastnosť. | - | NO |
Data Class | Trieda posielania dát (iba slave). IEC 101 Master posiela výzvy na čítanie dát Class 1 (prioritné) a Class 2 (bežné). Slave na ne odpovedá dátami alebo správou, že nemá dáta. V každej odpovedi (na Class1/2) existuje ešte príznak ACD, že slave má k dispozícii data Class1. Ak je nastavený, IEC 101 Master si následne vyžiada dáta Class1. Parameter ovplyvňuje správanie nasledovne:
Prednastavená hodnota parametra je Class1. | - | Class1&2 Class1 Class2 Prio reply |
Single Request | Zahadzovanie prijatých dát pred poslaním odpovede (iba slave). Ak je prijatá korektná výzva a IEC 101 Slave posiela odpoveď, pred poslaním ešte vyčistí frontu, ak v nej má prijaté dáta. Tento parameter slúži ako ochrana pred rôznymi duplicitami dát z dôvodu chýb komunikačných partnerov (napr. OSI Monarch so spusteným RtuPing počas prepínania aktívnej komunikačnej linky). | - | NO |
Filter Spontaneous Values | Filtrovanie viacnásobných spontánnych hodnôt toho istého meraného bodu pri odosielaní (iba slave, balanced). Ak sa niektoré výstupné merané body menia tak rýchlo, že v jednej odpovedi na žiadosť o dáta by sa nachádzalo viacero hodnôt toho istého meraného bodu, tak aktivácia tohto parametra spôsobí, že sa pošle iba jedna (najnovšia) spontánna hodnota. | NO | |
Send Confirmation Command | Typ odoslaného potvrdenia na príkaz zápisu hodnoty (iba slave, balanced). | - 7(CONF) 10(TERM) 7(CONF) and 10(TERM) | 7(CONF) |
Accept Confirmation Command | Typ potvrdenia zápisu pre jeho úspešné akceptovanie (iba master, balanced). | - 7(CONF) 10(TERM) 7(CONF) or 10(TERM) | 7(CONF) or 10(TERM) |
Max. MTU | Obmedzenie veľkosti datových paketov (iba slave, balanced). | bytes | 220 |
Phys. Trans. Direction | Voľba nastavenia bitu DIR v balancovanom móde (iba balanced). | Station A(Controlling) Station B(Controlled) | Station A(Controlling) |
Single Byte Ack | Odosielaj prioritne jednobytové ACK (0xE5). | YES/NO | NO |
Interrog. Covers Counters | Odosielaj na general interrogation výzvu 100 aj hodnoty countrov (iba slave, balanced). | YES/NO | YES |
Send EOI | Odošli "end of interrogation command" všetkým ASDU (iba slave). | YES/NO | YES |
End of Initialization | Ak je hodnota parametra "1 - IC/CIC after EOI", tak po prijatí ASDU 70 (End of initialisation) sa opäť pošle Interrogation Command. Prednastavenená hodnota "0 - no IC/CIC after EOI" spôsobí ignorovanie ASDU 70. Pozn: tento parameter bol implementovaný pre SAT RTU. | - | 0 |
Send Interrog. in Sec. Direct. | Odošli general interrogation command aj keď som slave alebo balanced controlled station B (iba slave, balanced). | YES/NO | NO |
Sinaut Mode | Komunikuje sa so systémom Sinaut Spectrum, ktorý vyžaduje neštandardné správanie na redundantných linkách (iné ako definuje tzv. Nórska norma). | YES/NO | NO |
System Redundancy: Manages A Status Address | Adresa stanice a výstupného meraného bodu so stavom systémovej redundancie. Adresa je vo formáte Station Address, I/O tag address, napr. "1,1003". Parameter má zmysel na linkách SerialOverUDP System&Line Redundant, ktoré umožňujú komunikáciu s dvoma nezávislými riadiacimi systémami (napr. hlavný dispečing SED v Žiline a záložný dispečing SED v Bratislave). Parameter umožňuje ignorovať hodnoty prichádzajúceho od riadiaceho systému, ktorý práve neriadi (t.j. je neaktívny), pokiaľ aplikácia má znalosť, ktorý z riadiacich systémov je aktívny a ktorý neaktívny. Túto znalosť môže mať napr. na základe vstupného meraného bodu s dohodnutou hodnotou. Aby rozlišovanie aktívneho riadiaceho systému fungovalo, musí na stanici existovať stanica s výstupným meraným bodom typu Dout s rovnakou adresou stanice a bodu, ako je v konfigurácii tohto parametra a aplikácia musí doň zapísať hodnotu True, ak sa stane aktívnym "Systém A", resp. False, ak sa stane aktívnym "Systém B" nakonfigurovaný v systémovo redundantnej linke. | - | |
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 |
Full Debug | Vysoká úroveň sledovania komunikácie, zobrazujú sa načítané hodnoty meraných bodov a iné ladiace informácie. | YES/NO | NO |
Konfigurácia meraných bodov
Možné typy hodnôt bodov: Ai,Ao,Di,Dout,Ci,Co,Qi
Adresa meraného bodu je číselná adresa informačného objektu IOA (v rozsahu 0 až 65535). 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ý.
V prípade povelového smeru (command direction) v režimoch master alebo balanced je nutné nakonfigurovať vhodný typ ASDU:
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 |
V prípade režimu slave alebo balanced je nutné nakonfigurovať vhodný typ ASDU v dátovom smere:
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 *** |
Poznámka 1: 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 FLA (0.bit), FLB (1.bit) ..FLH (7.bit).
Takže napríklad:
pre ASDU 4 : FLA=DPI bit 0, FLB=DPI bit 1, FLC=0, FLD=0, FLE=BL bit, FLF=SB bit, FLG=NT bit, FLH=IV bit.
pre ASDU 16 : FLA..FLE Sequence number bity 0..4, FLF=CY bit, FLG=CA bit, FLH=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 týchto ASDU nastavujú atribúty FI, do hodnoty meraného bodu s typom hodnoty Ci/Ai, ktoré sa interpretujú ako čísla -64 až +63.
** - ASDU 17 a 38: hodnota bajtu SEP nastavuje atribúty FLA (0.bit), FLB (1.bit) až FLH (7.bit), nasledujúce 2 bajty (CP16Time2a) sa interpretujú ako kladné číslo (0-60 000) do hodnoty meraného bodu s typom hodnoty Ci/Ai alebo ako relatívny čas (0-60 sekúnd) do hodnoty meraného bodu s typom hodnoty TiR.
*** - ASDU 18, 39 a 40: hodnota bajtu SPE(ASDU 18,39) alebo OCI (ASDU 40) nastavuje atribúty FLI (0.bit), FLJ (1.bit) až FLP (7.bit), hodnota byte QDP nastavuje atribúty FLA (0.bit), FLB (1.bit) až FLH (7.bit), nasledujúce 2 bajty (CP16Time2a) sa interpretujú ako kladné číslo (0-60 000) do hodnoty meraného bodu s typom hodnoty Ci/Ai alebo ako relatívny čas (0-60 sekúnd) hodnoty meraného bodu s typom hodnoty TiR.
Poznámka 2: V prípade použitia systémovo a linkovo-redundantných kategórií liniek je stav linky a stanice tvorený logickým súčtom všetkých použitých liniek. To znamená, že ak máme redundantný systém so štyrmi linkami a funguje práve jedna, je stav stanice a linky v poriadku. Na upresnenie informácie o stave jednotlivých liniek slúži špeciálny vstupný alebo výstupný meraný bod (celočíselný a reálny typ, t.j. Ai/Ao/Ci/Co). Meno tohto meraného bodu má nasledujúci tvar: M.[meno linky]_SystemStatus (napr. pre linku L.Test je to M.Test_SystemStatus). Hodnota tohto meraného bodu reprezentuje binárny tvar stavu N-tice liniek. V prípade, že prvé tri linky sú v poriadku a posledná nefunguje (SystemB/SecondaryLine) tj. [FALSE,TRUE,TRUE,TRUE], má meraný bod hodnotu 0b0111, teda 7.
Poradie liniek mapujúcich sa na jednotlivé bity je [SystemB/SecondaryLine, SystemB/PrimaryLine, SystemA/SecondaryLine, SystemA/PrimaryLine].
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-101 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-101 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, v stĺpci Time prijatá časová značka. V stĺpci Point sa nachádza názov meraného bodu, ktorý má túto adresu (ak taký existuje).
Tell príkazy
Príkaz | Syntax | Popis |
STWATCH | STWATCH MenoStanice | Tell príkaz pošle na stanicu Interrogation Command (ak je nakonfigurovaný/povolený pre konkrétny protokol). |
Literatúra
- Telecontrol equipment and systems Part 5-101: Transmission protocols – Companion standard for basic telecontrol tasks (IEC 60870-5-101:2003), http://www.iec.ch.
- Telecontrol equipment and systems Part 5-2: Link transmissions procedures (IEC 60870-5-2:1992), http://www.iec.ch.
- Norwegian IEC 870-5-101 User Conventions, Approved version Revision no. 2.0.
Blogy
O protokole IEC 870-5-101 si môžete prečítať aj blogy:
Zmeny a úpravy
- Jún 2015 - implementovaný parameter Source Flags
Revízie dokumentu
- Ver. 1.0 - 22. november 2007 - Vytvorenie dokumentu.
- Ver. 1.1 - 22. apríl 2009 - Aktualizácia dokumentu.
- Ver. 1.2 - 8. Jún 2015 - implementovaný nový parameter
- Ver. 1.3 – 15. jún 2020: podpora browsovania
Súvisiace stránky:
1 komentár
D2000 Dev Team
O protokole IEC 870-5-101 si môžete prečítať aj blogy:
Pridať komentár