IEC61850 Driver Configuration
What is the IEC61850 protocol?
IEC 61850 is an international communication protocol designed for Intelligent Electronic Devices (IED). This protocol works over TCP/IP ethernet and provides high-speed communication between power generation facilities and substations. The standardization of the protocol is designed to improve interoperability between equipment provided by different vendors. Check out the references section for more information.
The ESF IEC 61850 driver embeds a Java IEC61850 library to expose as an ESF driver an IEC 61850 MMS client.
What IEC61850 Data looks like
IEC61850 provides data in a treelike structure. A piece of data can be read/written by using an object reference string. Each data object is also tagged with a functional constraint. A Functional Constraint acts as a data qualifier, indicating what kind of data to expect and what access rights are applied to it.
How to use the IEC61850 Driver
-
Driver Configuration options
- Server Address: address for IEC61850 server
- Server Port: The port the IEC61850 service is running on. By default this port is 102.
- Unbuffered Report Control Blocks (URCB): Expects a comma-separated list of URCBs references to which the client will subscribe. To access data objects within a subscribed RCB, a configured asset must use the listen flag.
- Buffered Report Control Blocks (BRCB): Expects a comma-separated list of BRCB references to which the client will subscribe. To access data objects within a subscribed RCB, a configured asset must use the listen flag.
- AP Title Called: Configures the title for the called Application Process. Please enter a comma-separated list of integers, such as '1, 1, 999, 1, 1'. Recommended to leave this felid at its default setting.
- AE Qualifier Called: Defines the qualifier for the remote Application Entity. The default setting is 12. Recommended to leave this felid at its default setting.
- P-Sel Remote: Configures the Presentation-Selector (P-SEL) for the remote entity. Enter a comma-separated list of integers, for example, '0, 0, 0, 1'. Recommended to leave this felid at its default setting.
- S-Sel Remote: Establishes the Session-Selector (S-SEL) for the remote session. Enter a comma-separated list of integers, for instance, '0, 1'. Recommended to leave this felid at its default setting.
- T-Sel Remote: Configures the remote Transport Selector (T-SEL). Enter a comma-separated list, for example, '0, 1'. If this field is left blank, the T-SEL will not be added. Recommended to leave this felid at its default setting.
-
Asset Setup
- Create a New Channel and fill out the following fields.
- Type: Determine whether ESF will attempt to read, write, or read & write.
- Value.Type: The data type of the object you are attempting to read of from IEC61850 server.
- To JSON: When checked, ESF will represent the IEC61850 data values in JSON format
- Object Reference: refers to the String reference of the data object you wish to access from the IEC61850.
- Constraint: refers to the Functional Constraint of the data object you wish to access from the IEC61850 server.
- Listen: The listen flag will generate a wire envelope when the IEC61850 sends a report to the gateway if the data object is within a subscribed RCB from Driver setup.
- Create a New Channel and fill out the following fields.
-
After the channel and driver have been configured. The data can be read/written to by going to the 'Data' tab.
-
The following is an example of a channel configured for read. The value is shown on the right side, and the status of the value is visible in the middle column.
-
The following is an example of a channel configured for write. A value can be updated by filling in the textbox on the right hand side, then the changes can be submitted by pressing the write button on the top left.
-
Listen mode and reporting
Listen mode can be use to get the data contained in received reports in an unsolicited way using the ChannelListener APIs. This enables support for unsolicited reporiting using the Asset model. In order to configure reporting the following steps must be performed:
-
Set the references of the RCBs that the driver should subscribe to using the Unbuffered Report Control Blocks (URCB) and/or Buffered Report Control Blocks (BRCB) parameters depending on target RCB type.
-
Create one or more Asset channels with the following configuration:
- listen flag must be set.
- Object Reference and Constraint must point to a node included in a Data Set referenced by at least one RCB configured in previous step.
- The other parameters must be set appropriately depending on the node value type.
If the configured Asset is included in a Wire Graph, it will emit an envelope containing the data from received reports spontaneously as soon as they are received (a Timer is not needed).
Warning
In order to enable reporting it is necessary to perform both steps above. For example, an Asset channel in listen mode will not emit any data spontaneously if the required RCBs have not been set in Driver configuration.
How ESF Interprets IEC61850 Data types
The IEC61850 standard provides standard data types for data objects. When reading/writing from a data model, ESF will convert the IEC61850 datatype to the closest standard EC supported type and back.
ESF/EC Data Type | IEC 61850 DataType |
---|---|
BOOLEAN | boolean |
INTEGER | INT8, INT16, INT32, INT64, INT128, INT8U, INT16U, INT32U |
FLOAT | FLOAT32, FLOAT64 |
STRING | OCTET_STRING, VISIBLE_STRING, UNICODE_STRING, TIMESTAMP, QUALITY |
BYTE_ARRAY | No Explicit Mappings available |
DOUBLE | No Explicit Mappings available |
LONG | No Explicit Mappings available |
No ESF/EC Mappings | ENTRY_TIME, CHECK, DOUBLE_BIT_POS, TAP_COMMAND, TRIGGER_CONDITIONS, OPTFLDS, REASON_FOR_INCLUSION |
How ESF Interprets IEC61850 functional constraints
Functional constraints are used by the IEC61850 to qualify data objects. The following is a list of all functional constraints supported by the current IEC61850 implementation and will describe any special functionally ESF can perform for some constraints.
- [BL] - Blocking
- [BR] - Buffered Reporting
- [CF] - Configuration
- [CO] - Control
- [DC] - Description
- [EX] - Extended definition
- [MX] - Measurands - analogue values
- [OR] - Operate received
- [RP] - Unbuffered Reporting
- [SE] - Setting group editable
- [SG] - Setting group
- [SP] - Setpoint
- [SR] - Service response / Service tracking
- [ST] - Status information
- ST Functional Constraints have a special mapping with the ESF.
- when object reference is set to the root of a ST val the wire record will be build with the following characteristics.
- WireRecord timestamp will be set from ST object.
- WireRecord will only be created if quality is '0000'/'Good'.
- WireRecord value will be set to stVal with the ST object.
- [SV] - Substitution