Komunikační protokol IEC 60870-5-104
Od verze 2.7.0.x
Popis IEC 60870-5-104
Norma ISO/IEC 60870 (u nás zavedená jako ČSN EN 60870) definuje systém pro dálkovou kontrolu, supervisory control and data acquisition, neboli SCADA systémy. Takové systémy jsou používány pro kontrolu elektrických přenosových sítí a jiné geograficky rozsáhlé systémy. Normy ISO/IEC 60870-5 vycházejí z modelu master-slave.
Norma ISO/IEC 60870-5 má několik částí. Část ISO/IEC 60870-5-104 s názvem Síťový přístup pro IEC 60870-5-101 používají normalizované transportní profily. Zjednodušeně řečeno, zatímco část 5-101 specifikuje mechanismy přenosu dat, část 5-104 stanovuje (nebo v některých případech jen doporučuje) jejich použití v běžných komunikačních sítích; z nich nejpopulárnější je Ethernet s TCP/IP spojením.
Podporované platformy
- markMX.3
- markMX.2
- markMXL
- mark520
- mark320LX
- mark220LX
- mark130.2
- iCIO205.2
- iMIO105.2
- iMIO110.2
- wPLC750-8101
- wPLC750-8102
- wPLC751-9301
- WindowsRT
Na ostatních platformách není IEC 60870-5-104 podporován.
Licencování
Pro podporu tohoto komunikačního protokolu je nutné mít licenci. Tu si můžete objednat na obchod@domat.cz.
Licence se poté nahrává stejně jako licence pro PLC viz Licencování PLC a modulů.
Vytvoření kanálu
Pro vytvoření nového serverového kanálu klikneme pravým tlačítkem myši na PLC a vybereme „Přidat kanál serveru“. Na tomto kanálu poté vybereme protokol IEC 60870-5-104.
Parametry kanálu IEC 60870-5-104
- K - maximální počet nepotvrzených APDU, které má podřízená stanice (Slave) vysílat tímto kanálem, než bude čekat na potvrzení od nadřízeného (Master), že tyto APDU byly úspěšně přijaty.
- Interval dlouhého pulzu - hodnota dlouhého intervalu pro nastavení jednoduchých hodnot (C_SC_NA1, C_DC_NA_1, C_RC_NA_1 - QU).
- Velikost bufferu pro odesílání zpráv - tato hodnota musí být větší nebo rovna počtu potvrzování zpráv z klienta (Master). Parametr má vliv na heap paměť pro Runtime. Doporučuje se nastavit dvojnásobek nastavení na klientovi.
- Interval krátkého pulzu - hodnota krátkého intervalu pro nastavení jednoduchých hodnot (C_SC_NA1, C_DC_NA_1, C_RC_NA_1 - QU).
- T1 - APDU Timeout - maximální doba, po kterou podřízená stanice (Slave) čeká na potvrzení přenesené aplikační protokolové datové jednotky (APDU) od nadřízené stanice (Master).
- T2 - APDU Acknowledge Timeout - maximální doba, po kterou může podřízená stanice zůstat nečinná po přijetí APDU, než musí odeslat odpověď nadřízené stanici o úspěšném přijetí APDU.
- T3 - Idle Timeout - interval pro posílání testovacího rámce. Vysláním testovacího rámce může podřízená stanice určit, zda je kanál po delší nečinnosti stále dostupný.
- Čas příkazu je lokální - používá se pro detekci časové značky u příkazu pro nastavení času C_CS_NA_1 a příkazů s časovou značkou (C_xx_Tx_1). Doporučuje se pracovat s UTC časem.
- Interval přenosu - jak často se budou hodnoty zapisovat na nadřízenou stanici. Pokud chceme zapisovat spontánně, necháme na 0 s.
- Pozn. - libovolná poznámka.
Vytvoření zařízení
Pro vytvoření nového zařízení serveru klikneme pravým tlačítkem myši na serverový kanál a vybereme „Přidat zařízení serveru“.
Parametry zařízení IEC 60870-5-104
- Adresa zařízení - Common Address - adresa aplikační vrstvy
Parametry TCP
- Adresa zařízení (hostname) - můžeme ponechat 127.0.0.1 nebo localhost.
- Ověřovat certifikát - povolení ověřování certifikátu pro šifrovanou komunikaci.
- Port zařízení - číslo výchozího portu se používá 2404. Uživatel si tento port může změnit.
- SSL povoleno - povolení šifrované komunikace.
- Pozn. - libovolná poznámka.
Editor proměnných
Pro zobrazení editoru proměnných dvakrát poklikáme na serverové zařízení nebo ho vyvoláme z kontextového menu pravým tlačítkem myši na serverové zařízení.
Přidání proměnných lze provést pravým tlačítkem myši a vybrat Přidat proměnnou.
Parametry datových bodů
- Adresa - unikátní adresa datového bodu.
- Typ - výběr typu proměnné.
- Spontánní - pokud je True, tak zápis nebude probíhat periodicky, ale spontánně.
- Proměnná - výběr proměnné.
- DefaultInterval - výběr mezi tlačítkem a přepínačem. U proměnných C_xx_xx_1.
- CommError - výběr proměnné pro chybu komunikace.
- Časová značka - výběr proměnné pro časovou značku. Lze nastavit u časových typů proměnných.
- Threshold - zjednodušeně prodleva, kdy se změna hodnoty proměnné projeví až změna aktuální hodnoty od původní hodnoty bude větší než hodnota hystereze.
- Flags - jedná se o metadata, která lze nastavit např. podle specifikace přístroje (High/Low Limit). Lze nastavit u proměnných P_xx_xx_1.
- Pozn. - libovolná poznámka.
Typy datových bodů
Typ | Popis |
---|---|
Unknown | Nepoužito |
<1> M_SP_NA_1 | Single-point information |
<2> M_SP_TA_1 | Single-point information with time tag |
<3> M_DP_NA_1 | Double-point information |
<4> M_DP_TA_1 | Double-point information with time tag |
<5> M_ST_NA_1 | Step position information |
<6> M_ST_TA_1 | Step position information with time tag |
<7> M_BO_NA_1 | Bitstring of 32 bit |
<8> M_BO_TA_1 | Bitstring of 32 bit with time tag |
<9> M_ME_NA_1 | Measured value, normalised value |
<10> M_ME_TA_1 | Measured value, normalized value with time tag |
<11> M_ME_NB_1 | Measured value, scaled value |
<12> M_ME_TB_1 | Measured value, scaled value with time tag |
<13> M_ME_NC_1 | Measured value, short floating point number |
<14> M_ME_TC_1 | Measured value, short floating point number with time tag |
<15> M_IT_NA_1 | Integrated totals |
<16> M_IT_TA_1 | Integrated totals with time tag |
<17> M_EP_TA_1 | Event of protection equipment with time tag |
<18> M_EP_TB_1 | Packed start events of protection equipment with time tag |
<19> M_EP_TC_1 | Packed output circuit information of protection equipment with time tag |
<20> M_PS_NA_1 | Packed single point information with status change detection |
<21> M_ME_ND_1 | Measured value, normalized value without quality descriptor |
<30> M_SP_TB_1 | Single-point information with time tag CP56Time2a |
<31> M_DP_TB_1 | Double-point information with time tag CP56Time2a |
<32> M_ST_TB_1 | Step position information with time tag CP56Time2a |
<33> M_BO_TB_1 | Bitstring of 32 bit with time tag CP56Time2a |
<34> M_ME_TD_1 | Measured value, normalised value with time tag CP56Time2a |
<35> M_ME_TE_1 | Measured value, scaled value with time tag CP56Time2a |
<36> M_ME_TF_1 | Measured value, short floating point number with time tag CP56Time2a |
<37> M_IT_TB_1 | Integrated totals with time tag CP56Time2a |
<38> M_EP_TD_1 | Event of protection equipment with time tag CP56Time2a |
<39> M_EP_TE_1 | Packed start events of protection equipment with time tag CP56Time2a |
<40> M_EP_TF_1 | Packed output circuit information of protection equipment with time tag CP56Time2a |
<45> C_SC_NA_1 | Single command |
<46> C_DC_NA_1 | Double command |
<47> C_RC_NA_1 | Regulating step command |
<48> C_SE_NA_1 | Set-point Command, normalised value |
<49> C_SE_NB_1 | Set-point Command, scaled value |
<50> C_SE_NC_1 | Set-point Command, short floating point number |
<51> C_BO_NA_1 | Bitstring 32 bit command |
<58> C_SC_TA_1 | Single command with time tag CP56Time2a |
<59> C_DC_TA_1 | Double command with time tag CP56Time2a |
<60> C_RC_TA_1 | Regulating step command with time tag CP56Time2a |
<61> C_SE_TA_1 | Measured value, normalised value command with time tag CP56Time2a |
<62> C_SE_TB_1 | Measured value, scaled value command with time tag CP56Time2a |
<63> C_SE_TC_1 | Measured value, short floating point number command with time tag CP56Time2a |
<64> C_BO_TA_1 | Bitstring of 32 bit command with time tag CP56Time2a |
<100> C_IC_NA_1 | Interrogation command |
<101> C_CI_NA_1 | Counter interrogation command |
<102> C_RD_NA_1 | Read command |
<103> C_CS_NA_1 | Clock synchronisation command |
<110> P_ME_NA_1 | Parameter of measured values, normalized value |
<111> P_ME_NB_1 | Parameter of measured values, scaled value |
<112> P_ME_NC_1 | Parameter of measured values, short floating point number |
<113> P_AC_NA_1 | Parameter activation |
Ukázka komunikace
Pro příklad se můžeme podívat na prohlížeč proměnných v Domat IDE, kde se proměnné aktualizují periodicky.
U klienta poté vidíme, že se proměnné mění spontánně (záleží na nastavení proměnných v zařízení serveru).
Ve sloupci „Source“ můžeme najít Common Address zařízení, unikátní adresu proměnné nebo jaký je to typ proměnné (analog input/output nebo digital input/output).
Zobrazení těchto parametrů bude stejné nebo podobné i u jiných klientů.