...
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.clt_ip | address to local IEC 104 client | IP address | Yes |
redundancy_groups.rg_name | this identifies the redundancy group | Yes | |
srv_ip | Server IP address | IP address, machine's default IP for a given interface | No |
port | This defines the TCP/IP port to be used by the server. | default = 2404 | No |
tls | activation of TLS (see tls configuration chapter for details) | TRUE, FALSE, default = FALSE | No |
k_value | Maximum number of outstanding (unacknowledged) APDU's at a given time | default = 12 | No |
w_value | Acknowledge the reception latest after this number of APDU's | default = 8 | No |
t0_timeout | time out of connection establishment | default = 30 | No |
t1_timeout | time out for send or test APDU's | default = 15 | No |
t2_timeout | time out for acknowledges in case of no data messages (t2 < t1) | default = 10 | No |
t3_timeout | time out for sending test frames | default = 20 | 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 |
asdu_size | maximum ASDU size in transmission direction, if set to "0" => maximum possible value is automatically used. | default = 0 (byte) | No |
asdu_queue_size | minimum number of ASDUs that can be stored in the asdu buffer | default = 100 | No |
time_sync | If set on "TRUE" this parameter allows to synchronize the clock of the local computer by the server. If set on "FALSE", the clock is not synchronized. | TRUE, FALSE, default = FALSE | No |
cmd_exec_timeout | Defines the command execution monitoring timeout in milliseconds. The default setting is 20 seconds. | default = 20 seconds (20 000 ms) | No |
cmd_recv_timeout | This parameter defines the highest allowable deviation of received command time tag and local clock. If the difference is too big, command is ignored. | default = 0 (disabled) | No |
accept_cmd_with_time | If set to 0, then accept no commands with timestamp, if set to 1 accept only commands with timestamp, if set to 2, then accept both | default =1 | No |
filter_list | List of Authorized Originators | default = empty | No |
cmd_dest | Defines the destination service on which to execute the command | default = broadcast | No |
Configuration JSON structure
Code Block | ||
---|---|---|
| ||
{
"protocol_stack":{
"name":"iec104server",
"version":"1.0",
"transport_layer":{
"redundancy_groups":[
{
"connections":[
{
"clt_ip":"192.168.0.10"
},
{
"clt_ip":"192.168.0.11"
},
{
"clt_ip":"10.152.1.10"
},
{
"clt_ip":"10.152.1.11"
}
],
"rg_name":"red-group-1"
},
{
"connections":[
{
"clt_ip":"192.168.0.10"
},
{
"clt_ip":"192.168.0.11"
},
{
"clt_ip":"192.168.0.12"
},
{
"clt_ip":"192.168.0.14"
},
{
"clt_ip":"10.152.1.10"
},
{
"clt_ip":"10.152.1.11"
},
{
"clt_ip":"10.152.1.12"
},
{
"clt_ip":"10.152.1.13"
}
],
"rg_name":"red-group-2"
}
],
"srv_ip":"0.0.0.0",
"port":2404,
"tls":false,
"k_value":12,
"w_value":8,
"t0_timeout":30,
"t1_timeout":15,
"t2_timeout":10,
"t3_timeout":20
},
"application_layer":{
"ca_asdu_size":2,
"ioaddr_size":3,
"asdu_size":0,
"asdu_queue_size":100,
"time_sync":false,
"cmd_exec_timeout":20000,
"cmd_recv_timeout":5000,
"cmd_dest":"broadcast",
"accept_cmd_with_time":1,
"filter_orig":false,
"filter_list":[
{
"orig_addr":1
},
{
"orig_addr":2
}
]
}
}
} |
...