IEC 61850 Protocol stack configuration
The IEC 61850 protocol stack configuration specifies communication parameters and is a collection of entries containing information about OSI Transport and OSI Application layers objects.
Each entry is comprised of attributes that describe the object. All the configuration data are structured using JSON.
Each entry shall be mapped with the corresponding configuration function in the chosen implementation protocol library.
Attributes definition
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 |
ied_name | IED name | any non empty string | Yes |
connections | array of connections to IED | Yes | |
connections.srv_ip | IP address to remote IED server | IP address | Yes |
connections.port | port number to remote IED server | default = 102 | Yes |
connections.osi.local_ap_title | local OSI AP Title | any non empty string following the format "int0,int1,int2,int3", ex: 1,3,9999,23 | No |
connections.osi.local_ae_qualifier | local OSI AE Qualifier | integer | No |
connections.osi.remote_ap_title | remote OSI AP Title | any non empty string following the format "int0,int1,int2,int3", ex: 1,3,9999,23 | No |
connections.osi.remote_ae_qualifier | remote OSI AE Qualifier | integer | No |
connections.osi.local_psel | local presentation layer address | valid PSelector | No |
connections.osi.local_ssel | local session layer address | valid SSelector | No |
connections.osi.local_tsel | local transport layer address | valid TSelector | No |
connections.osi.remote_psel | remote presentation layer address | valid PSelector | No |
connections.osi.remote_ssel | remote session layer address | valid SSelector | No |
connections.osi.remote_tsel | remote transport layer address | valid TSelector | No |
read_mode | defines how to read data objects | enum do | dataset, default = do | No |
reading_period | defines the reading period in ms | integer, default = 1000 ms | No |
Configuration JSON structure
{ "protocol_stack":{ "name":"61850client", "version":"1.0", "transport_layer":{ "connections":[ { "srv_ip":"192.168.0.10", "port":8102, "osi": { "local_ap_title":"1,3,9999.13", "local_ae_qualifier":12, "remote_ap_title":"1,2,1200,15,3", "remote_ae_qualifier":1, "local_psel":"0x12,0x34,0x56,0x78", "local_ssel":"0,1,2,3,4", "local_tsel":"0x00,0x01,0x02", "remote_psel":"0x87,0x65,0x43,0x21", "remote_ssel":"0,1", "remote_tsel":"0x00,0x01" } }, { "srv_ip":"192.168.0.11", "port":8102 } ], }, "application_layer":{ "read_mode":"do", "reading_period":1000 } } }
IEC 61850 MMS datapoint representation
This is the Datapoint representation of an IEC 61850 MMS.
{ "data_object":{ "do_type":"{CDC}", "do_value":"{mag} or {stval}", "do_quality":"{q}", "do_ts":"{t}", } }
Exchanged datasets
Data sets are groups of data attributes (DA) or functional constraint data objects (FCDO). They are used to simplify access to functional related groups of variables. E.g. if you want to read the most important status values of a server you don’t have to ask the server for each individual variable. Instead you define a data set (or most probably use a predefined one) that contains all the required data and request them with a single read with the data set reference as an argument.
Attributes definition
Attribute | Description | Expected values | Mandatory |
---|---|---|---|
dataset_ref | this identifies the dataset reference | Any non empty string | Yes |
Configuration JSON structure
{ "exchanged_datasets":{ "name":"SAMPLE", "version":"1.0", "datasets":[ { "dataset_ref":"simpleIOGenericIO/LLN0.Events", "data_objects":[ { "address":"simpleIOGenericIO/GGIO1.Ind1", "typeid":"SPS" }, { "address":"simpleIOGenericIO/GGIO1.Ind2", "typeid":"SPS" } ] }, { "dataset_ref":"simpleIOGenericIO/LLN0.Events2" }, { "dataset_ref":"simpleIOGenericIO/LLN0.Measurements" } ] } }