Versions Compared

Key

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

...

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
redundancy_groupsarray of redundancy groups
Yes
redundancy_groups.connectionsarray of connections of a given redundancy group
Yes
redundancy_groups.connections.clt_ipIEC 104 client addressIP addressYes
redundancy_groups.rg_namethis identifies the redundancy groupAny non empty stringYes
srv_ipServer IP addressIP address, machine's default IP for a given interface, default = 0.0.0.0No
portThis defines the TCP/IP port to be used by the server.default = 2404No
tlsactivation of TLS (see tls configuration chapter for details)TRUE, FALSE, default = FALSENo
k_valueMaximum number of outstanding (unacknowledged) APDU's at a given timedefault = 12, range : 1 to 32767No
w_valueAcknowledge the reception latest after this number of APDU'sdefault = 8, range : 1 to 32767No
t0_timeouttime out of connection establishmentdefault = 30 seconds, range : 1 to 255No
t1_timeouttime out for send or test APDU'sdefault = 15 seconds, range : 1 to 255No
t2_timeouttime out for acknowledges in case of no data messages (t2 < t1)default = 10 seconds, range : 1 to 255No
t3_timeouttime out for sending test framesdefault = 20 seconds, range : 1 to 172800No
mode

"accept_always": accept connection or maintain connection with center independently from the south asset connection status 

"accept_if_south_connx_started": accept connection or maintain connection with center only if south asset connection is established and running

default = "accept_always", enum: "accept_always" or "accept_if_south_connx_started"
ca_asdu_sizesize of "Common Address of ASDU"default = 2 (byte), enum: 1 or 2No
ioaddr_sizesize of 'Information Object Address'default = 3 (byte), enum: 1, 2 or 3No
asdu_size

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

default = 0 (byte), range : 0 to 255No
asdu_queue_sizeminimum number of ASDUs that can be stored in the asdu bufferdefault = 100No
time_syncIf 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 = FALSENo
cmd_exec_timeoutDefines the command execution monitoring timeout in seconds.default = 20 seconds, range : 1 to 3 600No
cmd_recv_timeoutThis parameter defines the highest allowable deviation of received command time tag and local clock in seconds. If the difference is too big, command is ignored.default = 0 (disabled), range : 0 to 3 600No
accept_cmd_with_timeIf set to 0, then accept no commands with timestamp, if set to 1 accept only commands with timestamp, if set to 2, then accept bothdefault =1, enum: 0, 1 or 2No
filter_listList of Authorized Originators (array) → only commands from authorized originator addresses are accepted.default = emptyNo
filter_list.orig_addrOriginator addressenum: 0, 1, ..., N
cmd_destDefines the destination service on which to execute the command default = broadcastNo
south_monitoringconnection loss and gi failure handling feature
Yes
south_monitoring.assetsarray of assets name used to monitor the connection and gi status information from the southdefault = [CONSTAT-1, CONSTAT-2]No

...

Warning

The current implementation does not use a json structure, so the order of parameters is mandatory.


valueValuese0 or 1typeType of ASDUoaOriginator addresscotSee Cause of Transmissiontest0 or 1negative
Order

Attribute JSON (not currently used)

Description

Expected values

Mandatory

0co_catypeCommon Address Type of ASDU
YES
1co_ioacaCommon Address of ASDUMessage address
YES
2co_ioaInformation object address
YES
3co_Select or ExecutecotCause of Transmission
YES
4co_negativeis negative command ?0 or 1 = negativeYES
5co_seSelect or Execute0 = Direct execute or 1 = Select before ExecuteYES
6co_Cause of Transmissiontestis test command ?0 or 1 = testYES
7co_is test command ?tstimestamp
YES
8co_valueValue
is negative command ?0 or 1YES
9co_quis pulse defined ?0 or 1 YES10co_tstimestampYES= pulse definedNO


The processing of FLEDGE commands should evolve. Below is an example of JSON format of an instance of an Operation object :

Code Block
languagepy
operation: {
    "command_object":{
type: "IEC104Command",
    nbParams=9,
    names=[
        "co_type",
        "co_ca",
        "co_ioa",
        "co_cot",
        "co_negative",
        "co_se",
        "co_test",
        "co_ts",
        "co_type":"C_DC_TA_1",
value"
    ],
    parameters=[
        "co_ca":18325C_SC_TA_1",
        "co_oa21441":0,
        "co_cot74":7,
        "co_test7":0,
        "co_negative0":0,
        "co_ioa0":6438967,
        "co_value0":2,
        "co_qu1701426945586":0,
        "co_se":0,
	  "co_ts":1653484330239
   }1"
    ],
    cmdDest="hnzsouth_s1"
}