Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each entry shall be mapped with the corresponding configuration function in the chosen implementation protocol library.

Parameters definition

AttributeDescriptionExpected valuesMandatory
namethis identifies the protocol stackiec104client, iec104server, tase2client, tase2server, 61850client, 61850server, etc...Yes
versionversion number of the configuration file2 digits x.y => x = major change, y = minor changeYes
connection.patharray of connection paths

connection.path.srv_ipIP address to remote IEC 104 serverIP addressYes
connection.path.clt_ipclient IP in case of multiple network interfaces server access IP addressNo
connection.path.portport number to remote IEC 104 serverdefault = 2404
Yes
No
tlsactivation of TLSTRUE, FALSE, default = FALSENo
k_valueMaximum number of outstanding (unacknowledged) APDU's at a given timedefault = 12
Yes
No
w_valueAcknowledge the reception latest after this number of APDU'sdefault = 8
Yes
No
t0_timeouttime out of connection establishmentdefault = 10
Yes
No
t1_timeouttime out for send or test APDU'sdefault = 15
Yes
No
t2_timeouttime out for acknowledges in case of no data messages (t2 < t1)default = 10
Yes
No
t3_timeouttime out for sending test framesdefault = 20
Yes
No
conn_allestablish all paths within one connection at the same time (=TRUE) or only one (=FALSE)TRUE, FALSE, default = FALSE
Yes
No
start_allstart communication on all established paths at the same time (=TRUE) or on only one (=FALSE)TRUE, FALSE, default = FALSE
Yes
No
conn_passvestablish connection even in passive mode (=TRUE) or not (=FALSE)TRUE, FALSE, default = FALSE
Yes
No
orig_sizesize of "Originator Address"0, 1 (byte)No
orig_addrOriginator Addressdefault = 0No
ca_asdu_sizesize of "Common Address of ASDU"default = 2 (byte)
Yes
No
ioaddr_size
Size
size of 'Information Object Address'default = 3 (byte)
Yes
No
startup_timetime to wait for startup completiondefault = 180 (seconds)
Yes
No
asdu_size

maximum ASDU size in transmission direction, if set to "0" => maximum possible value is automatically used.

default = 0 (byte)No
gi_time
gi_cyclegi_all_cagi_repeat_countdisc_qualsend_iv_timetsivtz
time to wait for General Interrogation (GI) completiondefault = 0 (seconds)No
gi_cyclesend General Interrogation (GI) cyclicallyTRUE, FALSE, default = FALSENo
gi_all_casend a separate GI request to every CA; otherwise a broadcast GI request is usedTRUE, FALSE, default = FALSENo
gi_repeat_countrepeat GI for this number of times in case it is incompletedefault = 2No
disc_qualinformation object quality in case of interrupted connectionIV = Invalid, NT = Not Topical, default = NTNo
send_iv_timetime delay before infos are sent as invalid (0 = deactivated)default = 0No
tsivspecifies what to do with a time stamp marked as 'invalid'remove, process, default = removeNo
utc_timeUTC timezone (=TRUE) or local timezone (=FALSE) for time conversionTRUE, FALSE, default = FALSENo
comm_wttaguse commands with time tag (=TRUE) or without time tag (=FALSE)TRUE, FALSE, default = FALSENo
comm_parallelmaximum number of commands to be executed at in parallel (0 = unlimited)default = 0No
exec_cycl_testexecute cyclical test requests (C_TS_NA_1/C_TS_TA_1) in monitoring direction (=TRUE) or not (=FALSE)TRUE, FALSE, default = FALSENo
startup_statestartup in active mode (=TRUE) or in passive mode (=FALSE)TRUE, FALSE, default = FALSENo
reverseallow transmission of information objects in reverse direction (=TRUE) or only in standard direction (=FALSE)TRUE, FALSE, default = FALSENo
tz_sourcecomm_wttagcomm_parallelexec_cycl_teststartup_state

Configuration JSON file structure

Code Block
languagejs
{
   "protocol_stack":{
      "name":"iec104client",
      "version":"1.0",
      "transport_layer":{
         "connection":{
            "path":[
               {
                  "srv_ip":"192.168.0.10",
                  "clt_ip":"",
                  "port":2404
               },
               {
                  "srv_ip":"192.168.0.11",
                  "clt_ip":"",
                  "port":2404
               }
            ],
            "tls":"NONE"
         },
         "k_value":12,
         "w_value":8,
         "t0_timeout":10,
         "t1_timeout":15,
         "t2_timeout":10,
         "t3_timeout":20,
         "conn_all":true,
         "start_all":false,
         "conn_passv":false
      },
      "application_layer":{
         "orig_size":1,
         "orig_addr":"",
         "ca_asdu_size":2,
         "ioaddr_size":3,
         "startup_time":180,
         "asdu_size":0,
         "gi_time":60,
         "gi_cycle":0,
         "gi_all_ca":false,
         "gi_repeat_count":2,
         "disc_qual":"NT",
         "send_iv_time":0,
         "tsiv":"REMOVE",
         "tz":"UTC",
         "tz_sourceutc_time":"systemfalse",
         "comm_wttag":false,
         "comm_parallel":0,
         "exec_cycl_test":false,
         "startup_state":"active",
		 "reverse":false"
      }
   }
}

IEC 104 exchanged ASDU configuration

...