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 = 2404Yes
tlsactivation of TLSTRUE, FALSE, default = FALSENo
k_valueMaximum number of outstanding (unacknowledged) APDU's at a given timedefault = 12Yes
w_valueAcknowledge the reception latest after this number of APDU'sdefault = 8Yes
t0_timeouttime out of connection establishmentdefault = 10Yes
t1_timeouttime out for send or test APDU'sdefault = 15Yes
t2_timeouttime out for acknowledges in case of no data messages (t2 < t1)default = 10Yes
t3_timeouttime out for sending test framesdefault = 20Yes
conn_allestablish all paths within one connection at the same time (=TRUE) or only one (=FALSE)TRUE, FALSE, default = FALSEYes
start_allstart communication on all established paths at the same time (=TRUE) or on only one (=FALSE)TRUE, FALSE, default = FALSEYes
conn_passvestablish connection even in passive mode (=TRUE) or not (=FALSE)TRUE, FALSE, default = FALSEYes
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
ioaddr_sizeSize of 'Information Object Address'default = 3 (byte)Yes
startup_timetime to wait for startup completiondefault = 180 (seconds)Yes
asdu_size


gi_time


gi_cycle


gi_all_ca


gi_repeat_count


disc_qual


send_iv_time


tsiv


tz


tz_source


comm_wttag


comm_parallel


exec_cycl_test


startup_state


Configuration JSON file structure

Code Block
languagejs
{
   "protocol_stack":{
      "name":"iec104masteriec104client",
      "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_conn":true,
         "start_all_start":false,
         "passiveconn_connpassv":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_source":"system",
         "comm_wttag":false,
         "comm_parallel":0,
         "exec_cycl_test":false,
         "startup_state":"active"
      }
   }
}

...

  • if CA of ASDU is known otherwise throw an error message.
  • if IOA is known otherwise throw an error message.
  • if type of ASDU is known otherwise an error message.
  • The label attribute shall be used to populate the Fledge's DataPoint Asset Name attribute.

Configuration JSON file structure

Code Block
languagejs
{
   "exchanged_data_layer":{
      "name":"iec104masteriec104client",
      "version":"1.0",
      "asdu_list":[
         {
            "ca":"41025",
            "type_id":"M_ME_NA_1",
            "label":"TM-1",
            "ioa":"4202832"
         },
         {
            "ca":"41025",
            "type_id":"M_ME_NA_1",
            "label":"TM-2",
            "ioa":"4202852"
         },
         {
            "ca":"41025",
            "type_id":"M_SP_TB_1",
            "label":"TS-1",
            "ioa":"4206948"
         }
      ]
   }
}

...

IEC 104 Protocol stack configuration

Configuration JSON file structure

Code Block
languagejs
{
  "protocol_stack": {
    "name": "iec104slaveiec104server",
    "version": "1.0",
    "transport_layer": {
      "bind_on_ip": "FALSE",
      "port": 2404,
      "tsecurity": "NONE",
      "k_value": 12,
      "w_value": 8,
      "t1_timeout": 15,
      "t2_timeout": 10,
      "t3_timeout": 20,
      "open_new_path": "TRUE",
      "bind_on_active": "FALSE",
      "disc_on_iframe": "TRUE"
    },
    "application_layer": {
      "orig_size": 1,
      "orig_addr": "0",
      "ca_asdu_size": 2,
      "ioaddr_size": 3,
      "struct_addr": "FALSE",
      "asdu_size": 0,
      "default_class": "CLASS1",
      "time_sync": "FALSE",
      "comm_exec_timeout": 20000,
      "comm_recv_timeout": 5000,
      "auto_comm_actcon": "FALSE",
      "auto_comm_actterm": "TRUE",
      "cmd_block_sel": "FALSE",
      "abs_time": "TRUE",
      "tzsource": "OS",
      "set_wday": "TRUE",
      "tsiv": "IGNORE",
      "spon_in_passive": "TRUE",
      "reset": "TRUE",
      "filter_orig": "FALSE",
      "lifeact": "TRUE",
      "startup": "FALSE",
      "active": "TRUE"
    }
  }
}

...