Documentation Home Page ◇ HYPERSIM Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.
IEC 61850 | Configuration
Note:
This I/O interface is currently not compatible with the IEC 61850 Data Integrity Manipulation component. Support will be added in subsequent versions.
Nevertheless, the feature can be used by creating connections with other blocks. For information on the IEC 61850 specific I/O connections to use, see IEC 61850 | Connections.
The component can be used with the legacy interface. For details, see IEC 61850 (legacy) | Connections and the component's documentation linked above.
Accessing the I/O Interface Configuration
The IEC 61850 communication protocol can be configured in the I/O Interface Configuration tool that can be opened from the HYPERSIM ribbon.
For more information on the general use of the tool, see I/O Interface Configuration.
General Configuration
The IEC 61850 I/O interface is configured within a few pages. When creating a new configuration, it is preconfigured to contain one empty SCL file entry.
The first page contains general parameters:
Time synchronization | Choice for the time synchronization to use for all GOOSE and SV messages. The options are:
To synchronize with a Spectracom TSync card, the only possible option to use is Use sensor in model. To synchronize with an Oregano card, both the Use sensor in model and Poll synchronization hardware options are possible. |
Use an RT core for the MMS server | If enabled, the driver will reserve a real-time CPU core for its MMS communication system. Otherwise, it will default to using core 0 (running with the operating system). |
Advanced options | The options below require advanced knowledge of the IEC 61850 standard. |
Enable fixed-length encoding for GOOSE messages (61850-8-1 Ed.2 A.3) | If enabled, the encoding of GOOSE messages will be done according to 61850-8-1 Ed.2 A.3. Some specific fields of the header and some data types will be encoded with a fixed-length, avoiding the compression done by ASN.1 |
Enable simulation flag (Reserved 1) in every SV and GOOSE telegrams | If enabled, the simulation bit in the Reserved 1 field of the header of each transmitted SV and GOOSE message will be set to 1. This will identify the data as being transmitted by a simulated device. |
Enable use of VLAN for SV and GOOSE telegrams | If enabled, all SV and GOOSE frames will be VLAN tagged with the identification number provided as a configuration parameter. For GOOSE and SV IEC 61869-9 the initial value for that parameter comes from the SCL file. |
Enable Sampled Values data integrity manipulation | If enabled, data integrity manipulation mechanisms will be available for the transmission of SV 9-2LE messages. |
SCL/SCD/ICD files
Adding a file in this list is in most cases the first step to take when building an IEC 61850 configuration in the context of an OPAL-RT simulation. The exception is when only using 9-2LE SV messages, as this type of communication is not defined in an SCL file.
Files are parsed to extract all IED information, including their data model, data sets, and all GOOSE, Sampled Values and Report control blocks.
Each file added is copied into the project, in a folder named scl/ found next to the model. If the next time HYPERSIM is opened the original SCL file is no longer found, the interface will fall back upon using the back-up saved in the scl folder.
When a file is removed, all IED added as a result of its parsing will be removed. This means that all data sets, data model and control blocks associated with those IED will also be removed.
The image below shows an example of a list of SCL/SCD/ICD files:
File path | The selected file will be parsed to retrieve all IED data models as well as all control blocks. |
File name | For ease of use, this field shows only the name of the file provided in the File path field. |
Updating an SCL file entry
A file entry can be changed, whether to re-upload the same file whose contents might have been modified, or to change the file entirely. In both these scenarios a change detection mechanism will help the user make an informed decision about whether or not to continue with the update of the SCL file.
SCL file change workflow
The following steps explain the workflow.
1. Click on the browse button of a valid entry and select an SCL file (the same or different). This will bring up the refresh menu, asking how to proceed with the configuration's editable parameters that originated from the initial SCL file. The parameters affected by this choice are the ones marked as keep or reset in the table below, in the Updating common elements section.
Keep all modified values | The values of the editable parameters that originated from the initial SCL file will be unaltered. This will ensure that any user modifications are maintained. |
Reset all modified values | The values of the editable parameters that originated from the initial SCL file will be reset to the value found in the new file. All user modifications will be lost. |
2. Select the type of refresh and click OK. A pop-up window will appear, listing all the changes and requesting user input on whether or not to apply them.
3. Click Yes to apply the changes.
Detecting changes within IED
The unique identifier of an IED is its name. Therefore, if its name is no longer found in the new file, the IED in question will be removed; conversely, new IED can be added as a result of parsing the new file. The same principle applies to all layers of the data model: access points, logical devices, logical nodes, data objects and data attributes.
For data sets, their unique identifier is their full path within the IED. For FCDA, the identifier is considered to be the combination of their parameters: node path, data object, data attribute and functional constraint.
This is best illustrated in the two examples below:
Example 1: SCL file A contains information about IED1 and IED2; SCL file B contains information about IED2 and IED3. When file A is changed for file B, the following happens:
- IED1 along with its data model, data sets and control blocks will be removed: it was part of file A, but not part of file B
- IED2 will be kept: it was part of both files
- IED3 along with its data model, data sets and control blocks will be added: it was not part of file A, but it is part of file B
Example 2: Starting with the same two files as above, assume IED2's definition in file A contains a logical device LD10. In file B, IED2's definition sees this logical device change name from LD10 to LD20. When file A is changed for file B, the following happens in the structure of IED2:
- LD10 will be removed along with its logical nodes, and consequently its data objects and attributes
- LD20 will be added with its own structure of nodes, data objects and attributes
Note that the same principle applies if a file is refreshed i.e. its own content is re-applied after a modification.
Detecting changes within control blocks
A GOOSE, SV or Report control block is considered the same either if its ID is the same or if its path within the IED is the same. Let's look at a few examples:
Example 3: Keeping with the same setup as in the examples above, assume IED2 (which was found in both files A and B) has a GOOSE control block that changed its ID from GoID10 to GoID20. Its name and path within the IED have not changed.
In this scenario, the GOOSE control block will be considered the same and its ID will be successfully changed to GoID20.
Example 4: Now assume that IED2 has another GOOSE control block, whose ID is the same in both files but whose name has changed from gcb_name30 to gcb_name40. As a result, its path within the IED is considered changed.
In this scenario, as in the one above, the GOOSE control block will be considered the same and its name will be successfully changed to gcb_name40.
Example 5: In file A, GOOSE message with ID GoID50 was defined within IED2; However, in file B, GoID50 is now part of IED3. As in the example above, the GOOSE ID is unchanged, but the path is different.
Again, the GOOSE control block will be considered the same and its path will be successfully updated to show that it is published by IED3.
Example 6: Finally, according to file A, IED2 is publishing a GOOSE message with ID GoID60; according to file B, there no longer is any IED publishing a GOOSE message with that ID.
Moreover, according to file B, IED2 is now publishing a GOOSE message with ID GoID70, which was not previously defined in file A.
When file A is changed for file B, the following happens:
- GOOSE message with ID GoID60 (published by IED2) will be removed from the configuration: it was part of file A, but not part of file B
- GOOSE message with ID GoID70 (published by IED2) will be added to the configuration: it was not part of file A, but it is part of file B
Updating common elements
The parameters of the elements that were deemed common to both files according to the constraints explained above (such as IED2 in the examples) can be divided into 3 categories:
- keep: applies to parameters that did not originate from an SCL file, such as the MMS server configuration parameters. The values of these parameters will remain unaltered during SCL file changes
- reset: applies to read-only parameters that did originate from an SCL file, such as the dataset path of GOOSE items. Their value will be reset to the value found in the new SCL file
- keep or reset: applies to editable parameters that did originate from an SCL file, such as the MAC address of GOOSE items. Their value can be either kept or reset, depending on the user preference
The table below shows how each parameter is handled during an SCL file change. Each column represents a section of the I/O interface.
IED | GOOSE | SV (IEC 61869-9 only) | Reports |
---|---|---|---|
In the generic section:
In the MMS sever configuration section:
In the data model section, only applicable parameters are in the data attributes:
The information below applies only if the FC (Functional Constraint) was and remained MX (measurement):
In the Data sets section, FCDAs can only be flagged as added or removed. This happens when the combination of node path, data object, data attribute and functional constraint cannot be found in both files.
| In the General section:
In the Publish section:
In the Subscribe section:
In the GSE elements section:
| In the General section:
In the Publish section:
In the Subscribe section:
In the SV elements section:
| In the General section:
In the Report section:
In the Trigger options section:
In the Optional fields section:
|
IED
In most cases, the IED in the list seen below will come from the SCL file(s) inputted in the SCL/SCD/ICD files section.
It is also possible to add IED manually. These IED can be used to build a configuration more closely representing a real system, however they do not have any impact on the real time simulation.
More concretely, they can serve as subscribing IED for GOOSE or SV messages, or as publishing IED for SV 9-2LE messages.
MMS configuration elements are not applicable to such IED, due to their missing data model template along with any type of control blocks.
Removing an IED from the list will remove all its information (data model and data sets) along with its associated control blocks.
The image below shows an example of a list of IED, in the summary view:
The image below shows the generic parameters of an IED:
Name | Name of the current IED. |
File name | The file from which the IED information was extracted from. This is not applicable in case the IED was added manually. |
MMS server configuration
NIC name | The network interface card name used for the IED's MMS server communication. The proper adapter should be selected based on the information given by the Linux command "ifconfig" or Windows command "ipconfig". On Linux platforms, the server communication will bind itself to the network interface specified in this field. This means that the server will only process packets received from that particular interface. |
IP address | The IP address to use for the IED's MMS server communication. The keywords ANY or AUTO can be used when the IP is not known. In that case, the IP will be determined automatically from the NIC name provided. On Linux platforms, the IP aliasing functionality can be used to give each IED a different IP address even though the same network interface will be used. Each IED will have its own IP alias (i.e. eth0:0, eth0:1 ...) which should appear in the list displayed by the Linux command "ifconfig". |
TCP port | The TCP port used for the IED's MMS server communication. |
Access points
Browse through this section to explore the IED's data model. The image below shows an example of a tree expanded until the data attributes (DA) level:
The levels of the tree offer a graphical representation of the IED's data model:
Name | Description | In the example above, it is.. |
---|---|---|
AP | An access point | AP1 |
LD | A logical device | LD0 |
LN | A logical node | LLN0 |
DO | A data object | NamPlt |
DA | A data attribute | paramRev |
Items cannot be manually added or removed in any of the tree's levels. The intermediate levels of the tree descending to the data objects do not contain any configurable parameters.
For non-controllable data objects (see which objects can be controlled in this table), there is nothing to configure.
However, for controllable data objects the parameters are as follows:
Enable as controllable object | When this checkbox is enabled, the current object's attributes with FC = CO, along with any other attributes that might change following a control request (such as stVal) will be added to the MMS server. More concretely, the following attributes are added to the IED tree, with Read Write access rights:
Some other attributes also become Read Write in order to be able to display any extra information about the control commands executed. To keep things simple, these attributes are not added automatically to the IED tree but they can be added manually by the user on a per-need basis. These attributes are:
|
---|
The image below shows an example of a list of data attributes (DA), in the summary view reached when clicking on their parent data object (DO):
The image below shows the details of the phsA.cVal.mag.f data attribute. This attribute was chosen due to having all possible configurable options:
Name | The name of the data attribute. It contains any potential sub-object or structure levels, separated by dots. |
Functional constraint | The functional constraint (FC) of the current attribute. The following FC are not supported: CO, BR, RP, GO, MS, US, LG. |
Data set reference(s) | Names of the datasets within the IED that contain the data attribute. |
Control block reference(s) | Names of the control blocks within the IED that make use of the data attribute. |
Add MMS data point | Add the data attribute to the MMS server instantiated on the simulator. This means that any client connecting to the server will be able to read the attribute and/or write into it (if the functional constraint permits it). If this field is grayed out, there are several explanations:
Note: since attributes with FC = CO are parameters for control commands sent by the client, they are considered pseudo-attributes. Therefore, they cannot be read or written the same way as other attributes. They can be added to the IED tree but they will not have any connection points to allow their control by the user in the model. |
Output RMS | The value placed in the server for the attribute will be its RMS calculation. |
RMS number of samples | Number of samples to accumulate for each RMS calculation. |
RMS gain | Gain to apply to each RMS calculation. The value placed in the server contains this gain. |
Data sets
The image below shows an example of the contents of a data set:
This view does not have any configurable parameters. It serves to determine how the IED's attributes are used by its control blocks (GOOSE, SV or Reports).
Each data set entry contains a list of functional constrained data attributes (FCDA). FCDA items cannot be added or removed manually.
An FCDA element has the following parameters:
Node path | Full path of the node within the IED. The format is IED / Access point / Logical device / Logical node. The items referenced in the Data object and Data attribute columns are part of this node. |
Data object | Data object referenced by the FCDA. If set to < all >, all attributes matching the criteria in the Data attribute and Functional constraint columns are selected. If Data attribute is also set to < all >, then all attributes that are part of the node referenced in the Node path column and have FC equal to the value in the Functional Constraint column are selected. |
Data attribute | Data attribute referenced by the FCDA. If set to < all >, all attributes that are in the data object referenced in the Data object column and have FC equal to the value in the Functional constraint column are selected. If Data object is also set to < all >, then all attributes that are part of the node referenced in the Node path column and have FC equal to the value in the Functional Constraint column are selected. |
Functional constraint | Main criteria used for selecting attributes from the location specified in the other columns. |
GOOSE
GOOSE items are added as a result of parsing SCL files that contain their definition.
To remove an item, either its publishing IED must be removed from the IED list, or the SCL file where the message is defined must be removed from the SCL/SCD/ICD files list.
The summary view contains a subset of all the configurable fields of a GOOSE item. To customize this view, the + button found next to the last column can be clicked; from its menu, columns can be added or removed.
The image below shows an example of a list of GOOSE messages, in the summary view:
The detailed view contains all configurable fields of a GOOSE item, as seen below:
General | General section, it contains non-editable information coming from the SCL file. |
GOOSE ID | The unique identification of the GOOSE message. |
GOOSE control block name | The name of the control block describing the GOOSE message. |
GOOSE path | The path of the GOOSE control block within the IED. |
Dataset | The name of the dataset used by the GOOSE message. |
Dataset path | The full path within the IED of the dataset used by the GOOSE message. |
Description | The description of the GOOSE message, retrieved from the SCL file. |
Configuration revision | The configuration revision number of the GOOSE message. |
Publish | This section contains fields to configure the publishing of the GOOSE message. |
Enable publishing | Enable publishing of the GOOSE message. Having this box checked will create the connection points associated with the publishing of the message. It will also ensure that publishing will start as soon as the simulation will start. |
Publishing ethernet adapter | The network interface card name used to publish the GOOSE message. |
Publishing IED | The name of the IED publishing the GOOSE message. |
Subscribe | This section contains fields to configure the subscription to the GOOSE message. |
Enable subscribing | Enable subscribing to the GOOSE message. |
Subscribing ethernet adapter | The network interface card name used to subscribe to the GOOSE message. |
Subscribing IED | List of subscribing IED. This list is built manually according to the user's setup, with more than one choice possible. The options offered are the elements of the interface's IED list. |
GSE elements | This section contains fields specific to GOOSE messages. |
MAC address | The MAC multicast destination address associated with the GOOSE message (e.g. '01-0C-CD-04-00-00'). This field is initially filled based on information from the SCL file but it can be changed by the user as needed. |
App ID | The App ID associated with the GOOSE message. It is automatically filled based on information from the SCL file and it should be unique within the entire IEC 61850 network. |
VLAN ID | The VLAN identifier associated with the GOOSE message. Along with the VLAN priority parameter below, it allows advanced configuration of smart switches to handle packet priorities on the network. |
VLAN priority | The VLAN priority associated with the GOOSE message. Along with the VLAN ID parameter above, it allows advanced configuration of smart switches to handle packet priorities on the network. |
Min duration [ms] | The message retransmission delay used immediately following a change in any of the dataset members of the GOOSE message. The field is initially filled based on information from the SCL file. If the information is missing in the file, a default value of 62.5 ms is used. This value can be changed by the user as needed. |
Max duration [ms] | The maximum message retransmission delay reached when no changes occurred in any of the dataset members of the GOOSE message. The field is initially filled based on information from the SCL file. If the information is missing in the file, a default value of 1000 ms is used. This value can be changed by the user as needed. |
Sampled Values
The Sampled Values list can contain elements of both supported types: 9-2LE and IEC 61869-9. However, the elements are not added and removed in the same manner.
For SV 9-2LE:
Items of this type are added using the + button, which can be seen in the screenshot below.
Conversely, removing an item is done by selecting it and clicking on the - button.
For SV IEC 61869-9:
Items of this type are added as a result of parsing SCL files that contain their definition.
To remove such an item, either its publishing IED must be removed from the IED list, or the SCL file where the message is defined must be removed from the SCL/SCD/ICD files list.
As such, it is not possible to manually add or remove SV IEC 61869-9 elements.
As with GOOSE messages, the summary view contains a subset of all the configurable fields of an SV item. To customize this view, the + button found next to the last column can be clicked; from its menu, columns can be added or removed.
The image below shows an example of a list of SV messages (9-2LE and IEC 61869-9), in the summary view:
The detailed view contains all configurable fields of an SV item, as seen in the images below with 9-2LE on the left and IEC 61869-9 on the right:
Differences between the two types of SV messages are highlighted in the table below. If there are none, it can be assumed that the parameter is used in the same way for both types.
General | General section, it contains a mix of editable and non-editable general information fields about the SV message. |
SV ID | The unique identification of the SV message. For SV type 9-2LE: This field is editable. The user convention IEC61850-9-2LE recommends using the following format: "xxxxMUnn", where "xxxx" is the concatenation of the substation name, voltage and bay levels and "nn" identifies the measuring point. |
SV control block name | The name of the control block describing the SV message. For SV type 9-2LE: Not applicable, field not used for this type. |
SV path | The path of the SV control block within the IED. For SV type 9-2LE: Not applicable, field not used for this type. |
SV type | The type of the SV message: IEC 61869-9 or 9-2LE. This field is non-editable. |
Sampling rate | The number of samples per cycle associated with the SV message. For SV type 9-2LE: This field is editable. |
Nominal frequency | The power system frequency associated with the SV message. |
Dataset | The name of the dataset used by the SV message. For SV type 9-2LE: Not applicable, field not used for this type. |
Dataset path | The full path within the IED of the dataset used by the SV message. For SV type 9-2LE: Not applicable, field not used for this type. |
Description | The description of the SV message, retrieved from the SCL file. For SV type 9-2LE: Not applicable, field not used for this type. |
Configuration revision | The configuration revision number of the SV message. For SV type 9-2LE: Not applicable, field not used for this type. |
Number of ASDU | The number of samples embedded in each packet of the SV message. For SV type 9-2LE: The value updates based on the sampling rate: for 80 samples per cycle, the number of ASDU is set to 1; for 256 samples per cycle, it is set to 8. This field is non-editable. |
Publish | This section contains fields to configure the publishing of the SV message. |
Enable publishing | Enable publishing of the SV message. Having this box checked will create the connection points associated with the publishing of the SV message. It will also ensure that publishing will start as soon as the simulation will start. |
Publishing ethernet adapter | The network interface card name used to publish the SV message. The proper adapter should be selected based on the information given by the Linux command "ifconfig" or Windows command "ipconfig". |
Publishing IED | The name of the IED publishing the SV message. For SV type 9-2LE: The publishing IED is selected manually according to the user's setup. The options offered are the elements of the interface's IED list. This field is not used in the real time simulation. |
Subscribe | This section contains fields to configure the subscription to the SV message. |
Enable subscribing | Enable subscribing to the SV message. Having this box checked will create the connection points associated with the subscription to the SV message. It will also ensure that subscription will start as soon as the simulation will start. |
Subscribing ethernet adapter | The network interface card name used to subscribe to the SV message. The proper adapter should be selected based on the information given by the Linux command "ifconfig" or Windows command "ipconfig". |
Subscribing IED | List of subscribing IED. This list is built manually according to the user's setup, with more than one choice possible. The options offered are the elements of the interface's IED list. This field is not used in the real time simulation. |
SV elements | This section contains fields specific to SV messages. |
MAC address | The MAC multicast destination address associated with the SV message (e.g. '01-0C-CD-04-00-00'). It must respect the following format: 'xx-xx-xx-xx-xx-xx', where x represents a hexadecimal digit. For SV type 9-2LE: This field needs to be configured by the user. To simplify the process, the first 8 digits are provided. Nevertheless, the field can be changed entirely to suit the simulation needs. |
App ID | The App ID associated with the SV message. For SV type 9-2LE: The App ID is set by default to the value 0x4000. This field is non-editable. |
VLAN ID | The VLAN identifier associated with the SV message. Along with the VLAN priority parameter below, it allows advanced configuration of smart switches to handle packet priorities on the network. |
VLAN priority | The VLAN priority associated with the SV message. Along with the VLAN ID parameter above, it allows advanced configuration of smart switches to handle packet priorities on the network. |
Reports
Reports are added as a result of parsing SCL files that contain their definition.
To remove a report, either its reporting IED must be removed from the IED list, or the SCL file where the report is defined must be removed from the SCL/SCD/ICD files list.
As with GOOSE and SV messages, the summary view contains a subset of all the configurable fields of a Report item. To customize this view, the + button found next to the last column can be clicked; from its menu, columns can be added or removed to/from this view.
The image below shows an example of a list of reports, in the summary view:
The detailed view contains all configurable fields of a Report item, as seen below:
General | General section, it contains non-editable information coming from the SCL file. |
Rpt ID | The unique identification of the report control block. |
Report control block name | The name of the report control block as taken from the SCL file. |
RCB path | The path of the report control control block within the IED. |
RCB type | The type of report control block: buffered or unbuffered. |
Dataset | The name of the dataset used by the report control block. |
Dataset path | The full path within the IED of the dataset used by the report control block. |
Description | The description of the report control block, retrieved from the SCL file. |
Configuration revision | The configuration revision number of the report control block. |
Report | This section contains fields to configure the reporting. |
Enable reporting | Enable sending reports if the trigger options are met for any of the dataset members. Having this box checked will create the connection points associated with sending the report. |
Server IED | The name of the IED sending the report. This field is non-editable. |
Client LN | The names of the LNs in the system that are clients to the report. This field is non-editable and it is not used in the real time simulation. |
Maximum number of clients | Defines the maximum number of clients that can connect to this report type. |
Indexed reports | When reports are indexed, their names are built by appending a suffix from 1 to 99 (representing the instance index) to their name. |
Integrity period [ms] | This value is only relevant if the trigger option Periodic integrity is enabled. Reports containing all dataset members will be generated periodically at the interval (in milliseconds) dictated by the value in this field. |
Buffer time [ms] | Amount of time in milliseconds between the detection of a trigger and the transmission of a report. If multiple attributes generate a trigger during this interval, they will all be added in the same report. |
Trigger options | Trigger options section, it contains fields to configure when reports are sent. All items below are editable. |
Data change (dchg) | Triggers sending a report upon detecting a change in the dataset members' attributes. |
Quality change (qchg) | Triggers sending a report upon detecting a change in the dataset members' quality attributes. |
Data update (dupd) | Triggers sending a report upon detecting an update in the dataset members' attributes. The report will be sent if the value written into the triggering attribute is the same as the previously stored one. |
Periodic integrity | Enables sending a report periodically. The interval is dictated by the value in the Integrity period [ms] field. |
General interrogation (gi) | Enables sending of reports at the client's request. |
Optional fields | Optional fields section, enabling an element below will ensure that it will be included in the reports sent. All items below are editable. |
Sequence number (seqNum) | When enabled, will include the sequence number in the reports sent. |
Timestamp (timeStamp) | When enabled, will include the entry time in the reports sent. |
Dataset (dataSet) | When enabled, will include the name of the dataset used by the report control block. |
Reason code (reasonCode) | When enabled, will include the reason for creating the report. The reason is set according to the trigger that caused the report to be sent. |
Data reference (dataRef) | When enabled, will include the name of the data attribute that triggered the report transmission. |
Entry identification (entryID) | When enabled, will include the entry ID for the report. |
Configuration reference (confRev) | When enabled, will include the configuration revision number of the report control block. |
Buffer overflow (bufOvfl) | When enabled, will include information about any potential buffer overflow. |
OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter