Přeskočit na hlavní obsah

Server

Konfigurace serveru protokolu IEC 60870-5-104

Vzor

...
<!-- konfigurace pro pro IEC-104 server -->
<Ez_iec104s version="1.00">
<srvmain mid="1" lip="10.16.62.98"/>
<srvgroup>
<srv name="ED" mid="1" rip="192.168.1.21,192.168.1.22,192.168.2.21,192.168.2.22" cfid="1">
<settings
enlog ="0"
/>
<asdu addr="164"/>
</srv>
<srv name="ED servis" mid="1" rip="" cfid="2">
<asdu addr="164"/>
</srv>
<!-- adresace -->
<iodata>
<io type="30" ioa="1" group="0x1"> <!-- 0:1, _RDRT_PorKom_ED: Porucha komun. klient ED -->
<sig id="1"/>
</io>
<io type="30" ioa="3" group="0x1"> <!-- 0:3, _RDRT_PorKom_ED_servis: Porucha komun. klient ED servis -->
<sig id="2"/>
</io>
</iodata>
</srvgroup>
</Ez_iec104s>
...

<Ez_iec104s>

Je hlavička, která určuje protokol a hierarchii komunikace. Zde se jedná o server <…s> = server.

  • version = verze implementace daného protokolu, povinné vždy zadat a zapisuje se v reálných číslech bez znaménka.
  • dbg = diagnostická pomůcka, zanesení do logu komentáře. Defaulně se zadává 0 v celých číslech bez znaménka. Vyjmenování typů viz. Debug

<srvmain>

Srvmain obsahuje nastavení serverů pro komunikaci.

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • mid = defaultně se mid = 1, NIKDY nesmí být 0 (chybná konfigurace), vytvoří se interface s určitým ID
  • lip = lokální IP adresa, defaultně nevyplněná
  • lport = lokální port, je port klienta. Pokud není nastaven očekává se 2404

<srvgroup>

Je skupina serverů které sdílejí společně stejná data.

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1

<srv>

Nastavení serveru pro možné dotazování klientů a nastavení jeho vlastností.

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • name = název serveru
  • rip = rezervování IP adresy, jen tato IP se může připojit, defaultně prázdná v tom případě se může připojit jakékoli zařízení.
  • rport = port pro komunikaci serveru, defaultně 0
  • cfid = ID chybového hlášení přerušení komunikace (hlásí se bufferu), defaultně 0
  • name= jméno serveru, musí se zadat
  • rdto = opožděný start serveru, defaultně nastaven na 0, zadává se v ms
  • ncto = new connect timeout, po timeoutu začne server posílat požadavky na připojení, zadává se v ms, defaultně 0
  • dto = defaultně 0
  • wdto = defaultně 0
  • dbg = (debug) diagnostická pomůcka, zanesení do logu komentáře. Defaulně se zadává 0 v celých číslech bez znaménka. Vyjmenování typů viz. Debug

<settings>

Nastavení některých základních údajů komunikace protokolu.

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • t1 = Časová prodleva pro vysílané nebo zkušební APDU, defaultně 15 s.
  • t2 = Časová prodleva pro potvrzení v případě, že zprávy neobsahují data t2 < t1, defaultně 10 s.
  • t3 = Časová prodleva pro vysílání zkušebních rámců v případě dlouhých klidových stavů, defaultně 20 s.
  • k = Maximální rozdíl mezi pořadovým číslem příjmu a stavovou proměnou vysílání, defaultně 12 APDU.
  • w = Poslední potvrzení po přijetí w APDU s I formátem, defaultně 8 APDU
  • enlog = povolení logů defaultně 1 // kontrola //
  • entestfr = /// dovyplnit /// defaultně 0
  • ensendinit = /// dovyplnit /// defaultně 0
  • lp = Určení objektu pro porovnání s bufferem (ID), defaultně 10
  • lpa = Způsob porovnání objektu s bufferem (rovnost / nerovnost => 1/0), defaultně 0 (nerovnost), defaultně 200 // kontrola //
  • blkcmd = platí na všechny povely, (1/0), pokud 1, neprovede se vůbec, pokud 0, přechází na podmínky v příkazu

<asdu>

Adresní prostor.

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • addr = adresa asdu, defaultně 0
  • aid = Pokud je definováno více asdu je pak potřeba jim přidat aid jakožto identifikátor

<io>

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • type = určuje počet bitů, pokud se nedefinuje, defaultně se nastaví na 0 (sama se určí jako rezerva, nepoužívá se)
  • ioa = Adresa informačního objektu nad protokolem 104 (strukturovaná adresa–3 bytové číslo), plní se VŽDY
  • ioa1 = 1. část nestrukturované adresy informačního objektu 104, musí být uvedena (pokud si uživatel vybere nestrukturovanou adresu)
  • ioa2 = 2. část nestrukturované adresy informačního objektu 104, defaultně 0
  • group = musí být vyplněna, uvedena hexadecimálně

<sig>

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • id = odkaz na objekt v bufferu, defaultně 0
  • conv = je způsob jak převést data na jiné datové typy nebo je upravit (negace, float => celé číslo), defaultně 0. Vyjmenování typů viz. Konverze
  • k = lineární konverze kx + q, defaultně 1.0
  • q = lineární konverze kx + q, defaultně 0.0
  • c = konstanta pro konverze, defaultně 0.0
  • off_lo = offset pro určení bytové informace z řetězce pro 1. bit, defaultně 0
  • lo = určení čísla bitu z offset bytového řetězce pro 1. informaci, defaultně 0
  • off_hi = offset pro určení bytové informace z řetězce pro 2. bit, defaultně 0
  • hi = určení čísla bitu z offset bytového řetězce pro 2. informaci, defaultně 0

<cmd>

  • en = Povolení 1 nebo zakázání 0 provedení tohoto prvku, absence en znamená že je nastaven na 1
  • id = odkaz na objekt v bufferu, defaultně 0
  • conv = je způsob jak převést data na jiné datové typy nebo je upravit (negace, float => celé číslo), defaultně 0. Vyjmenování typů viz. Konverze
  • k = lineární konverze kx + q, defaultně 1.0
  • q = lineární konverze kx + q, defaultně 0.0
  • c = konstanta pro konverze, defaultně 0.0
  • off_lo = offset pro určení bytové informace z řetězce pro 1. bit, defaultně 0
  • lo = určení čísla bitu z offset bytového řetězce pro 1. informaci, defaultně 0
  • off_hi = offset pro určení bytové informace z řetězce pro 2. bit, defaultně 0
  • hi = určení čísla bitu z offset bytového řetězce pro 2. informaci, defaultně 0
  • lp = je odkaz na id poruchy komunikace v bufferu
  • lpt = defaultně 0