...
Attribute | Description | Expected values | Mandatory | |||
---|---|---|---|---|---|---|
name | this identifies the protocol stack | iec104client, iec104server, tase2client, tase2server, 61850client, 61850server, etc... | Yes | |||
version | version number of the configuration file | 2 digits x.y => x = major change, y = minor change | Yes | |||
redundancy_groups | array of redundancy groups | Yes | ||||
redundancy_groups.connections | array of connections of a given redundancy group | Yes | ||||
redundancy_groups.connections | connection.path | array of connection paths | connection.path.srv_ip | IP address to remote IEC 104 server | IP address | Yes |
connection.path.clt_ip | client IP in case of multiple network interfaces server access | IP address, machine's default IP for a given interface | No | |||
connection.pathredundancy_groups.connections.port | port number to remote IEC 104 server | default = 2404 | No | |||
tls | activation of TLS (see tls configuration chapter for details) | TRUE, FALSE, default = FALSE | No | |||
redundancy_groups.connections.k_value | Maximum number of outstanding (unacknowledged) APDU's at a given time | default = 12 | No | |||
redundancy_groups.connections.w_value | Acknowledge the reception latest after this number of APDU's | default = 8 | No | |||
redundancy_groups.connections.t0_timeout | time out of connection establishment | default = 10 | No | |||
redundancy_groups.connections.t1_timeout | time out for send or test APDU's | default = 15 | No | |||
redundancy_groups.connections.t2_timeout | time out for acknowledges in case of no data messages (t2 < t1) | default = 10 | No | |||
redundancy_groups.connections.t3_timeout | time out for sending test frames | default = 20 | No | |||
redundancy_groups.rg_name | this identifies the redundancy group | Yes | ||||
redundancy_groups.tls | activation of TLS (see tls configuration chapter for details) | TRUE, FALSE, default = FALSE | No | |||
conn_all | establish all paths within one connection at the same time (=TRUE) or only one (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
start_all | start communication on all established paths at the same time (=TRUE) or on only one (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
conn_passv | establish connection even in passive mode (=TRUE) or not (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
orig_addr | Originator Address | default = 0 | No | |||
ca_asdu_size | size of "Common Address of ASDU" | default = 2 (byte) | No | |||
ioaddr_size | size of 'Information Object Address' | default = 3 (byte) | No | |||
startup_time | time to wait for startup completion | default = 180 (seconds) | 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 | time to wait for General Interrogation (GI) completion | default = 0 (seconds) | No | |||
gi_cycle | send General Interrogation (GI) cyclically | TRUE, FALSE, default = FALSE | No | |||
gi_all_ca | send a separate GI request to every CA; otherwise a broadcast GI request is used | TRUE, FALSE, default = FALSE | No | |||
gi_repeat_count | repeat GI for this number of times in case it is incomplete | default = 2 | No | |||
disc_qual | information object quality in case of interrupted connection | IV = Invalid, NT = Not Topical, default = NT | No | |||
send_iv_time | time delay before infos are sent as invalid (0 = deactivated) | default = 0 | No | |||
tsiv | specifies what to do with a time stamp marked as 'invalid' | remove, process, default = remove remove: the time stamp will be removed from the information object process: the time stamp will be processed on regular basis and additionally marked as 'not synchronized' | No | |||
utc_time | UTC timezone (=TRUE) or local timezone (=FALSE) for time conversion | TRUE, FALSE, default = FALSE | No | |||
comm_wttag | use commands with time tag (=TRUE) or without time tag (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
comm_parallel | maximum number of commands to be executed at in parallel (0 = unlimited) | default = 0 | No | |||
exec_cycl_test | execute cyclical test requests (C_TS_NA_1/C_TS_TA_1) in monitoring direction (=TRUE) or not (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
startup_state | startup in active mode (=TRUE) or in passive mode (=FALSE) | TRUE, FALSE, default = TRUE | No | |||
reverse | allow transmission of information objects in reverse direction (=TRUE) or only in standard direction (=FALSE) | TRUE, FALSE, default = FALSE | No | |||
time_sync | perform time synchronization (=TRUE) | TRUE, FALSE, default = FALSE | No |
...
Code Block | ||
---|---|---|
| ||
{ "protocol_stack":{ "name":"iec104client", "version":"1.0", "transport_layer":{ "redundancy_groups":[ { "connections":[ { "srv_ip":"192.168.0.10", "port":2404, "conn":true, "start":true, }"k_value":12, { "w_value":8, "srvt0_iptimeout":"192.168.0.11"10, "portt1_timeout":240415, "connt2_timeout":true10, "startt3_timeout":false20 }, ], { "rgsrv_nameip":"red-group-1192.168.0.11", "tlsport":false2404, }, "conn":true, { "connectionsstart":[false, {"k_value":12, "srvw_ipvalue":"192.168.0.12"8, "portt0_timeout":240410, "connt1_timeout":false15, "startt2_timeout":false10, }, "t3_timeout":20 { } "srv_ip":"192.168.0.13"], "port":2404, "rg_name":"red-group-1", "conntls":false, }, "start":false{ "connections":[ } ],{ "rg_name":"red-group-2", "srv_ip":"192.168.0.12", "tlsport":false2404, } ]"conn":false, "k_value":12, "w_valuestart":8false, "t0_timeout":10, "t1k_timeoutvalue":1512, "t2_timeout":10, "w_value":8, "t3t0_timeout":2010, "connt1_alltimeout":true15, "start_all":false, "t2_timeout":10, "connt3_passv":falsetimeout":20 }, { "srv_ip":"192.168.0.13", "port":2404, "conn":false, "start":false, "k_value":12, "w_value":8, "t0_timeout":10, "t1_timeout":15, "t2_timeout":10, "t3_timeout":20 } ], "rg_name":"red-group-2", "tls":false } ] }, "application_layer":{ "orig_addr":0, "ca_asdu_size":2, "ioaddr_size":3, "startup_time":180, "asdu_size":0, "gi_time":60, "gi_cycle":false, "gi_all_ca":false, "gi_repeat_count":2, "disc_qual":"NT", "send_iv_time":0, "tsiv":"REMOVE", "utc_time":false, "comm_wttag":false, "comm_parallel":0, "exec_cycl_test":false, "startup_state":true, "reverse":false, "time_sync":false } } } |
...