Popis komunikace pomocí objektu PmaCommGroup
Pro tento ovladač lze použít objekty
PmaCommGroup (zatím zprovozněn pouze příjem dat).
Pro běžné příjmy ASDU proměnných je to výhodnější než použít objekt
PmaCommMsg nastavený pro
Slave zprávu typu
Příjem dat.
Lze přijímat všechny typy ASDU dat/povelů uvedené níže, viz
Seznam a popis podporovaných ASDU.
Konfigurátor "
PmaCommGroup > Parametry > Obnovovací perioda komunikace [ms]" se pro tento ovladač nezadává a je nastaveno na 0. Objekt neposílá výzvy pro poslání dat.
Pro IEC 60870-5-101 posílá druhá strana data sama od sebe nebo lze poslání vyžádat posláním Master zprávy typu Dotaz na data (ASDU-100, C_IC_NA_1).
V jednom objektu
PmaComm může být více objektů
PmaCommGroup. Proměnné definované v různých
PmaCommGroup se ale musí lišit hodnotou společné adresy (
ASDU Common Address). To znamená, že v jednom objektu
PmaCommGroup mohou být například 2 proměnné každá s jinou společnou adresou, ve dvou objektech
PmaCommGroup však
nesmí být proměnné se stejnou společnou adresou.
Popis konfigurátoru "ItemId":
ItemId je textový identifikátor položky, který slouží k adresaci položky v zařízení. Z konfigurátoru
ItemId ovladač pozná, jak se má hodnota položky přijímat nebo vysílat.
Text lze buď napsat ručně, nebo sestavit v okně, které se otevře tlačítkem vpravo od konfigurátoru.
Pro zadání lze použít
Makro výraz (vyhodnocuje se po spuštění aplikace).
Identifikátor
ItemId může mít podobu například "
CA1501.v6", kde:
- 1. část určuje společnou adresu (ASDU common address) (CA1501 = Common Address 1501).
- 2. část určuje adresu informačního objektu a typ hodnoty tohoto objektu (
v6 = hodnota na adrese
6). Typy jsou:
v = Value = hodnota položky
t = Time
Tento konfigurátor se pro daný ovladač nevyužívá.
Seznam a popis podporovaných ASDU
Následující typy dat ASDU lze přijímat (v objektu
PmaCommGroup nebo
Slave zprávou typu
Příjem dat) a vysílat (
Master zprávou typu
Zaslání dat):
ASDUs pro provozní informace ve směru sledování:
ASDU-1 (M_SP_NA_1) = Single-point information:
- Hodnota (Value) je typu Byte, 0=Vypnuto, 1=Zapnuto.
- Kvalifikátor (
Qualif) je typu
SIQ
- Čas (Time) se nepoužívá.
ASDU-2 (M_SP_TA_1) = Single-point information, time CP24:
- Hodnota (Value) je typu Byte, 0=Vypnuto, 1=Zapnuto.
- Kvalifikátor (
Qualif) je typu
SIQ
- Čas (Time) zde není zatím implementován.
ASDU-3 (M_DP_NA_1) = Double-point information:
- Hodnota (Value) je typu Byte, 0=Neurčitý nebo přechodný stav, 1=určitý stav Vypnuto, 2=určitý stav Zapnuto, 3=Neurčitý stav.
- Kvalifikátor (
Qualif) je typu
DIQ
- Čas (Time) se nepoužívá.
ASDU-4 (M_DP_TA_1) = Double-point information, time CP24:
- Hodnota (Value) je typu Byte, 0=Neurčitý nebo přechodný stav, 1=určitý stav Vypnuto, 2=určitý stav Zapnuto, 3=Neurčitý stav.
- Kvalifikátor (
Qualif) je typu
DIQ
- Čas (Time) zde není zatím implementován.
ASDU-5 (M_ST_NA_1) = Step position information:
- Hodnota (Value) je typu Byte a představuje indikaci přechodného stavu pro signalizaci polohy. Nejvyšší bit hodnoty: 0 = zařízení není v přechodném stavu, 1 = zařízení je v přechodném stavu.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) se nepoužívá.
ASDU-6 (M_ST_TA_1) = Step position information, time CP24:
- Hodnota (Value) je typu Byte a představuje indikaci přechodného stavu pro signalizaci polohy. Nejvyšší bit hodnoty: 0 = zařízení není v přechodném stavu, 1 = zařízení je v přechodném stavu.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) zde není zatím implementován.
ASDU-7 (M_BO_NA_1) = Bitstring of 32 bit:
- Hodnota (
Value) je typu
Long a představuje binární stavovou informaci 32-bitů (jednotlivé bity lze pak číst například metodou
GetBit).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) se nepoužívá.
ASDU-8 (M_BO_TA_1) = Bitstring of 32 bit, time CP24:
- Hodnota (
Value) je typu
Long a představuje binární stavovou informaci 32-bitů (jednotlivé bity lze pak číst například metodou
GetBit).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) zde není zatím implementován.
ASDU-9 (M_ME_NA_1) = Measured value, normalised:
- Hodnota (Value) je typu Single, rozsah od -1.0 do +1.0.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) se nepoužívá.
ASDU-10 (M_ME_TA_1) = Measured value, normalised, time CP24:
- Hodnota (Value) je typu Single, rozsah od -1.0 do +1.0.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) zde není zatím implementován.
ASDU-11 (M_ME_NB_1) = Measured value, with measure:
- Hodnota (Value) je typu Integer (rozsah od -32536 do +32535) a představuje hodnotu s pevným měřítkem (např. napětí 10.3 kV se přenese jako 103).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) se nepoužívá.
ASDU-12 (M_ME_TB_1) = Measured value, with measure, time CP24:
- Hodnota (Value) je typu Integer (rozsah od -32536 do +32535) a představuje hodnotu s pevným měřítkem (např. napětí 10.3 kV se přenese jako 103).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) zde není zatím implementován.
ASDU-13 (M_ME_NC_1) = Measured value, short floating-point:
- Hodnota (Value) je typu Single a lze použít celý rozsah.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) se nepoužívá.
ASDU-14 (M_ME_TC_1) = Measured value, short floating-point, time CP24:
- Hodnota (Value) je typu Single a lze použít celý rozsah.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) zde není zatím implementován.
ASDU-15 (M_IT_NA_1) = Integrated totals:
- Hodnota (Value) je typu Long v celém rozsahu.
- Kvalifikátor (
Qualif) je typu
BCR
- Čas (Time) se nepoužívá.
ASDU-16 (M_IT_TA_1) = Integrated totals, time CP24:
- Hodnota (Value) je typu Long v celém rozsahu.
- Kvalifikátor (
Qualif) je typu
BCR
- Čas (Time) zde není zatím implementován.
ASDU-30 (M_SP_TB_1) = Single-point information, time CP56:
- Hodnota (Value) je typu Byte, 0=Vypnuto, 1=Zapnuto.
- Kvalifikátor (
Qualif) je typu
SIQ
- Čas (Time) je typu Date.
ASDU-31 (M_DP_TB_1) = Double-point information, time CP56:
- Hodnota (Value) je typu Byte, 0=Neurčitý nebo přechodný stav, 1=určitý stav Vypnuto, 2=určitý stav Zapnuto, 3=Neurčitý stav.
- Kvalifikátor (
Qualif) je typu
DIQ
- Čas (Time) je typu Date.
ASDU-33 (M_BO_TB_1) = Bitstring of 32 bit, time CP56:
- Hodnota (
Value) je typu
Long a představuje binární stavovou informaci 32-bitů (jednotlivé bity lze pak číst například metodou
GetBit).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) je typu Date.
ASDU-34 (M_ME_TD_1) = Measured value, normalised, time CP56:
- Hodnota (Value) je typu Single, rozsah od -1.0 do +1.0.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) je typu Date.
ASDU-35 (M_ME_TE_1) = Measured value, with measure, time CP56:
- Hodnota (Value) je typu Integer (rozsah od -32536 do +32535) a představuje hodnotu s pevným měřítkem (např. napětí 10.3 kV se přenese jako 103).
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) je typu Date.
ASDU-36 (M_ME_TF_1) = Measured value, short floating-point, time CP56:
- Hodnota (Value) je typu Single a lze použít celý rozsah.
- Kvalifikátor (
Qualif) je typu
QDS
- Čas (Time) je typu Date.
ASDU-37 (M_IT_TB_1) = Integrated totals, time CP56:
- Hodnota (Value) je typu Long v celém rozsahu.
- Kvalifikátor (
Qualif) je typu
BCR
- Čas (Time) je typu Date.
ASDUs pro provozní informace ve směru ovládání:
ASDU-45 (C_SC_NA_1) = Single command:
- Hodnota (Value) je typu Byte, 0=Vypnuto, 1=Zapnuto.
- Kvalifikátor (
Qualif) je typu
QOC
- Čas (Time) se nepoužívá.
ASDU-46 (C_DC_NA_1) = Double command:
- Hodnota (Value) je typu Byte, 0=nepřípustný, 1=Vypnuto, 2=Zapnuto, 3=nepřípustný.
- Kvalifikátor (
Qualif) je typu
QOC
- Čas (Time) se nepoužívá.
ASDU-48 (C_SE_NA_1) = Set-point command, normalised:
- Hodnota (Value) je typu Single, rozsah od -1.0 do +1.0.
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) se nepoužívá.
ASDU-49 (C_SE_NB_1) = Set-point command, with measure:
- Hodnota (Value) je typu Integer (rozsah od -32536 do +32535) a představuje hodnotu s pevným měřítkem (např. napětí 10.3 kV se přenese jako 103).
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) se nepoužívá.
ASDU-50 (C_SE_NC_1) = Set-point command, short floating-point:
- Hodnota (Value) je typu Single a lze použít celý rozsah.
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) se nepoužívá.
ASDU-51 (C_BO_NA_1) = Bitstring of 32 bit:
- Hodnota (
Value) je typu
Long a představuje binární stavovou informaci 32-bitů (jednotlivé bity lze pak číst například metodou
GetBit).
- Kvalifikátor (Qualif) se nepoužívá.
- Čas (Time) se nepoužívá.
ASDU-58 (C_SC_TA_1) = Single command, time CP56:
- Hodnota (Value) je typu Byte, 0=Vypnuto, 1=Zapnuto.
- Kvalifikátor (
Qualif) je typu
QOC
- Čas (Time) je typu Date.
ASDU-59 (C_DC_TA_1) = Double command, time CP56:
- Hodnota (Value) je typu Byte, 0=nepřípustný, 1=Vypnuto, 2=Zapnuto, 3=nepřípustný.
- Kvalifikátor (
Qualif) je typu
QOC
- Čas (Time) je typu Date.
ASDU-60 (C_RC_TA_1) = Regulation step command, time CP56:
- Hodnota (Value) je typu Byte, 0=nepřípustný, 1=následující krok Níže, 2=následující krok Výše, 3=nepřípustný.
- Kvalifikátor (
Qualif) je typu
QOC
- Čas (Time) je typu Date.
ASDU-61 (C_SE_TA_1) = Set-point command, normalised, time CP56:
- Hodnota (Value) je typu Single, rozsah od -1.0 do +1.0.
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) je typu Date.
ASDU-62 (C_SE_TB_1) = Set-point command, with measure, time CP56:
- Hodnota (Value) je typu Integer (rozsah od -32536 do +32535) a představuje hodnotu s pevným měřítkem (např. napětí 10.3 kV se přenese jako 103).
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) je typu Date.
ASDU-63 (C_SE_TC_1) = Set-point command, short floating-point, time CP56:
- Hodnota (Value) je typu Single a lze použít celý rozsah.
- Kvalifikátor (
Qualif) je typu
QOS
- Čas (Time) je typu Date.
ASDU-64 (C_BO_TA_1) = Bitstring of 32 bit, time CP56:
- Hodnota (
Value) je typu
Long a představuje binární stavovou informaci 32-bitů (jednotlivé bity lze pak číst například metodou
GetBit).
- Kvalifikátor (Qualif) se nepoužívá.
- Čas (Time) je typu Date.
ASDUs pro systémové informace ve směru ovládání:
ASDU-100 (C_IC_NA_1) = Interrogation command:
Zaslání tohoto povelu je obecnější ale principiálně stejné jako poslání
Master zprávy typu
Dotaz na data (ASDU-100, C_IC_NA_1). Zde lze navíc ovládat "
příčina přenosu".
- Hodnota (
Value) je typu
Long. Je to "
příčina přenosu":
6=act,
7=actcon,
8=deact,
9=deactcon,
10=actterm.
- Kvalifikátor (
Qualif) je typu
QOI
- Čas (Time) se nepoužívá.
ASDU-101 (C_CI_NA_1) = Counter Interrogation Command:
- Hodnota (
Value) je typu
Long. Je to "
příčina přenosu":
6=act,
7=actcon,
10=actterm.
- Kvalifikátor (
Qualif) je typu
QCC
- Čas (Time) se nepoužívá.
Typy a hodnoty kvalifikátorů (Qualif)
Kvalifikátor položky (kvalitativní deskriptor) podává další informace o položce. Informace může být o kvalitě hodnoty (platná, neplatná ...) ale také o období, pořadí, atd.
Typy kvalifikátoru:
-
SIQ:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-(1,2,30).
0 = normální hodnota
bit 5 = 0/1 = neblokováno/blokováno
bit 6 = 0/1 = nezaměněno/zaměněno
bit 7 = 0/1 = aktuální/neaktuální hodnota
bit 8 = 0/1 = platná/neplatná hodnota. Pokud je tento bit nastaven, pak se u proměnné nastaví vlastnost
Quality na
"0=Bad:NonSpecific".
-
DIQ:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-(3,4,31).
0 = normální hodnota
bit 5 = 0/1 = neblokováno/blokováno
bit 6 = 0/1 = nezaměněno/zaměněno
bit 7 = 0/1 = aktuální/neaktuální hodnota
bit 8 = 0/1 = platná/neplatná hodnota. Pokud je tento bit nastaven, pak se u proměnné nastaví vlastnost
Quality na
"0=Bad:NonSpecific".
-
QDS:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-(5-14,33-36).
0 = normální hodnota
bit 1 = 0/1 = nepřeplněno/přeplněno
bit 5 = 0/1 = neblokováno/blokováno
bit 6 = 0/1 = nezaměněno/zaměněno
bit 7 = 0/1 = aktuální/neaktuální hodnota
bit 8 = 0/1 = platná/neplatná hodnota. Pokud je tento bit nastaven, pak se u proměnné nastaví vlastnost
Quality na
"0=Bad:NonSpecific".
-
BCR:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-15,16,37. Obsahuje záznam pořadí:
- bit 0-4 (SQ) je pořadové číslo
- bit 5 (CY) určuje, zda v příslušném integračním období 0=nedošlo nebo 1=došlo k přeplnění čítače
- bit 6 (CA) určuje, zda od posledního snimání 0=nebyl nebo 1=byl čítač nastaven
- bit 7 (IV) určuje, zda je snímání čítače 0=platné nebo 1=neplatné
-
QOC:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-(45,46,58,59,60).
0 = bez doplňující definice
1 = krátká délka signálu
2 = dlouhá délka signálu
3 = trvalý výstup
>3 = rezervováno
Navíc pokud bit 8 = 0=vykonání, 1=volba(příprava)
-
QOS:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-(48,49,50,61,62,63).
0 = implicitní
větší než 0 = rezervováno
Navíc pokud bit 8 = 0=vykonání, 1=volba(příprava)
-
QOI:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-100.
20 = dotaz na stanici (globální)
21..36 = dotaz na skupinu 1..16
-
QCC:
Je typu
Byte. Tento kvalifikátor je obsažen v
ASDU-101. Je to součet dvou čísel:
První číslo je RQT požadavek: 0 = nepožadován žádný čítač, 1-4 = požadavek na čítač skupiny 1-4, 5 = celkový dotaz na čítač.
Druhé číslo je FRZ zmrazení: 0 = bez zmrazení nebo nulování, 64 = zmrazení čítače bez nulování, 128 = zmrazení čítače s nulováním, 128+64 = nulování čítače.
Popis dotazu na data pro IEC 60870-5-104.
Druhá strana může data posílat sama automaticky (např. při změně, tehdy bývá "příčina přenosu"=
3=spont) a tyto data se budou přijímat do proměnných definovaných v objektu
PmaCommGroup (nebo je lze přijímat
Slave zprávami typu
Příjem dat).
Pokud aplikace PROMOTIC však chce explicitně druhou stranu požádat ať pošle svá data (všechna, nejen změněná), pak aplikace PROMOTIC musí zaslat
Master zprávu typu
Dotaz na data (ASDU-100, C_IC_NA_1). Tato zpráva vyšle
ASDU-100 s "příčina přenosu"=
6=act a pak čeká na odpověď. Druhá strana by měla jako odpověď poslat zprávu stejného typu s "příčina přenosu"=
7=actcon.
Následně pak druhá strana bude posílat datové zprávy (s "příčina přenosu"=
20=inrogen), které se budou přijímat do proměnných definovaných v objektu
PmaCommGroup (nebo je lze přijímat
Slave zprávami typu
Příjem dat).
Po ukončení zašle druhá strana zprávu
ASDU-100 s "příčina přenosu"=
10=actterm - tuto zprávu lze přijímat
Slave zprávou typu
Příjem když nikdo nechce.
Postup je stejný i obráceně: druhá strana také může poslat
ASDU-100 s "příčina přenosu"=
6=act, to znamená, že druhá strana požaduje data z aplikace PROMOTIC. Tuto zprávu lze přijmout
Slave zprávou typu
Příjem když nikdo nechce s nastaveným
ErrorFlag=0. Po příjmu objekt sám odpoví zprávou
ASDU-100 s "příčina přenosu"=
7=actcon. Pak bude systém PROMOTIC vysílat data
Master zprávou typu
Zaslání dat. Po vyslání potřebných dat lze poslat (někdy to není vyžadováno) zpráva
ASDU-100 s "příčina přenosu"=
10=actterm - to lze provést opět
Master zprávou typu
Zaslání dat.