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 (legacy) | Connections

Once configured, the IEC 61850 I/O interface offers different data points for each configured message to be connected with the model using the HYPERSIM sensors.

GOOSE (8-1) Publishers

Connection point

DirectionDescription
EnableFrom model to driverControls the transmission of GOOSE message. An input of 1 activates transmission and value of 0 disables it.
Data / Data Objects (DO) / Data Attributes (DA):From model to driverEvery basic attributes found in the GOOSE definition provides a connection point referenced by their DO and DA names.
FlagsFrom model to driver

simulation: This input controls directly the GOOSE Header field "test". If input value is TRUE, GOOSE message will be transmitted with test flag equal to TRUE informing to all subscribers that Object Input Data is the result of a testing.

ndsCom: This input controls directly the GOOSE Header field "needs commissioning".

ClockFrom model to driver

Sync: It is a binary value (0 or 1) that represents the synchronization state of the timestamp. If the timestamp is synchronized with an accurate external source such as a GPS, the value applied to this signal should be set 1 and otherwise it should be 0. This value will appear in each time qualify byte of the data frames to indicate the validity of the timestamp.

Epoch: Represents the number of seconds elapsed since first January 1970, commonly known as unix epoch time. It means that it has to increment at each second. The GOOSE Publisher uses this signal to timestamp the outgoing packets. The more accurate this epoch time input will be, the more accurate will be the timestamp of the outgoing packets.

Microseconds: Represents the microseconds count within the current second.

StatusFrom driver to model

stNum: This value is incremented, starting from 0, with every change of whichever of the objects contained within the GOOSE message.

sqNum: This value is incremented, starting from 0, with every GOOSE message received without any modification to its objects' value. If any change is detected for whichever of the objects this count is RESET to zero.

GOOSE (8-1) Subscribers

Connection point

DirectionDescription
EnableFrom driver to modelControls the reception of GOOSE message. An input of 1 activates reception and value of 0 disables it.
Data / Data Objects (DO) / Data Attributes (DA):From driver to modelEvery basic attribute found in the GOOSE definition provides a connection point referenced by their DO and DA names.
StatusFrom driver to model

stNum: This value is incremented, starting from 0, with every change of whichever of the objects contained within the GOOSE message.

sqNum: This value is incremented, starting from 0, with every GOOSE message received without any modification to its objects' value. If any change is detected for whichever of the objects this count is RESET to zero.

State:

  • 0 → Message reception has been stopped or first message has not been received yet.
  • 1 → Reception is operational.
  • -4 → Message lost: the time-frame period between two consecutive GOOSE messages has over passed TimeAllowedToLive parameter.
  • -5 → Message Out of Order: newly received message has a sqNum or stNum smaller than the previously received message. In other words, current message is older than the previous one.
  • -14 → pcap library initialization error: verify if the Ethernet adapter is a valid interface

Sampled Values (9-2LE) Publishers

Connection point

DirectionDescription
EnableFrom model to driverControls the transmission of Sampled Values message. An input of 1 activates transmission and value of 0 disables it.
Voltage ValueVector of 4 voltages [Va, Vb, Vc, Vn] which are the 3 phase voltages and neutral voltage.
Voltage QualityVector of 4 quality values [QVa, QVb, QVc, QVn]. Each element represents a 16-bit value. The signification of each bit is described in the table below.
Current ValueVector of 4 currents [Ia, Ib, Ic, In] which are the 3 phase currents and neutral current.
Current QualityVector of 4 quality values [QIa, QIb, QIc, QIn]. Each element represents a 16-bit value. The signification of each bit is described in the table below.
Clock

Ideally, the timestamp input should come from an accurate synchronization source. Otherwise, there is no guarantee on the data sampling, reported data rate and fraction of second information.

Sync: It is a binary value (0 or 1) that represents the synchronization state of the timestamp. If the timestamp is synchronized with an accurate external source such as a GPS, the value applied to this signal should be set 1 and otherwise it should be 0. This value will appear in the "smpSynch" attribute of SV messages.

Seconds: Represents the second increment, which may be the epoch time (see above), as well as a counter of a period of one second. It means that it has to increment at each second. The Sampled Values Publisher uses this value to set the attribute "smpCnt" in SV messages. The more accurate this epoch time input will be, the more accurate will be the timestamp of the outgoing packets.

About the Quality Word of Sampled Values Messages

This information applies to both Sampled Values (9-2LE) Publishers and Subscribers.

Bit

Attribute NameAttribute ValueValueDefault Value

0-1


Validity


Good0 00 0
Invalid0 1
Reserved1 0
Questionable1 1
2Overflow

TRUE

FALSE
3Out of range

TRUE

FALSE
4Bad reference

TRUE

FALSE
5Oscillatory

TRUE

FALSE
6Failure

TRUE

FALSE
7Old data

TRUE

FALSE
8Inconsistent

TRUE

FALSE
9Inaccurate

TRUE

FALSE

10

SourceProcess00
Substituted1
11Test

TRUE

FALSE
12Operator blocked

TRUE

FALSE
13Derived

TRUE

FALSE

Sampled Values (9-2LE) Subscribers

Connection pointDirectionDescription
EnableFrom model to driverControls the reception of Sampled Values message. An input of 1 activates reception and value of 0 disables it.
Voltage ValueFrom driver to modelVector of 4 voltages [Va, Vb, Vc, Vn] which are the 3 phase voltages and neutral voltage.
Voltage QualityFrom driver to modelVector of 4 quality values [QVa, QVb, QVc, QVn]. Each element represents a 16-bit value. The significance of each bit is described in the table above.
Current ValueFrom driver to modelVector of 4 currents [Ia, Ib, Ic, In] which are the 3 phase currents and neutral current.
Current QualityFrom driver to modelVector of 4 quality values [QIa, QIb, QIc, QIn]. Each element represents a 16-bit value. The significance of each bit is described in the table above.
TimestampFrom driver to modelProvides the time when each SV message was captured. This is an increasing count in microseconds provided by the Ethernet card.
smpCntFrom driver to modelNumber of SV messages sent since the last change of second. For a SV stream of 80 Samples Per Cycle at 60 Hz, smpCnt should increase from 0 to 4799, and wrap around, at every second.

Sampled Values (IEC 61869-9) Publishers

Connection pointDirectionDescription
EnableFrom model to driverControls the transmission of Sampled Values message. An input of 1 activates transmission and value of 0 disables it.
Data / Data Objects (DO) / Data Attributes (DA):From model to driverEvery basic attributes found in the SV definition provides a connection point referenced by their DO and DA names. The data set described in the SCL file will provide the connection points on voltage and current values, as well as their quality values.
ClockFrom model to driverSee Clock description of Sampled Values (9-2LE) Publishers.

Sampled Values (IEC 61869-9) Subscribers

Connection pointDirectionDescription
EnableFrom model to driverControls the reception of Sampled Values message. An input of 1 activates reception and value of 0 disables it.
Data / Data Objects (DO) / Data Attributes (DA):From driver to modelEvery basic attributes found in the SV definition provides a connection point referenced by their DO and DA names. The data set described in the SCL file will provide the connection points on voltage and current values, as well as their quality values.
TimestampFrom driver to modelProvides the time when each SV message was captured. This is an increasing count in microseconds provided by the Ethernet card.
smpCntFrom driver to modelNumber of SV messages sent since the last change of second. For a SV stream of 80 Samples Per Cycle at 60 Hz, smpCnt should increase from 0 to 4799, and wrap around, at every second.

Data Integrity Manipulation


When Sampled Values Data Integrity Manipulation is enabled, additional connection points are available to manipulate Sampled Values (9-2LE) Publisher messages.

Every Sampled Values (9-2LE) Publisher message will have a new connection group called "Faults" with the new connections points. Here is a short description of the different faults, and how to configure them. For more information, look at the component that was specifically designed to use this feature here.

Loss

Simulate the loss of packets on the network by stopping the SV publishing during a certain amount of frames. If monitored, the stream will appear as it loses n packets of data.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver0 → Fault is applied immediately after trigger is raised. 1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".
Number of framesFrom model to driverThis value is the number of frames that will be dropped, prevented from being sent on the network.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.

Duplication

Simulate a wrong network topology where packets could be sent multiple times by duplicating frames a certain time and for a certain amount of frames.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver0 → Fault is applied immediately after trigger is raised. 1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".
Number of framesFrom model to driverThis value is the number of frames on which the duplication fault will be applied.
Number of duplicationsFrom model to driverThis value is the number of times a specific frame will be duplicated. If this number is 5, every frame will be sent 5 times on the network together.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.

smpCnt manipulation

Simulate a man-in-the-middle attack by manipulating the smpCnt of a stream.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver0 → Fault is applied immediately after trigger is raised. 1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".
New smpCntFrom model to driverWhen the fault is triggered, the smpCnt will be overridden by the value provided in this connection. It is up to the user to control the validity of the new smpCnt.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.

Delay

Simulate an unwanted delay on the network by delaying the frames for a configured amount of time in microseconds, for a certain amount of frames.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver

0 → Fault is applied immediately after trigger is raised.

1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".

Delay (us)From model to driverWhen the trigger will be raised, the transmission of the frames will be delayed by this value in microseconds. An internal buffer will keep all the information to delay the packet. The delay can be a value from 0 to 1,000,000, i.e. the maximum accepted delay is one second.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.
Discard bufferFrom model to driverThis connection allows to reset the delay to 0 while discarding every values in the internal buffer.
Flush on NetworkFrom model to driverThis connection allows to reset the delay to 0 while flushing every values from the internal buffer on the network immediately.

smpSynch manipulation

Simulate a man-in-the-middle attack by manipulating the smpSynch of a stream.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver0 → Fault is applied immediately after trigger is raised. 1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".
Number of framesFrom model to driverThis value is the number of frames on which the smpSynch manipulation fault will be applied.
smpSynchFrom model to driverWhen the fault is triggered, the smpSynch value will be overridden by the value provided in this connection.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.

Quality Bits

Simulate a man-in-the-middle attack by manipulating the quality of the stream voltage and current values.

Connection pointDirectionDescription
TriggerFrom model to driverAt rising-edge from 0 to 1, the fault will be applied. Trigger needs to be reset at 0 to be able to create a new fault.
ModeFrom model to driver0 → Fault is applied immediately after trigger is raised. 1 → Fault is applied as soon as the smpCnt reaches the value provided in the connection "Wait for smpCnt".
Number of framesFrom model to driverThis value is the number of frames on which the quality manipulation fault will be applied.
Voltage QualityFrom model to driverWhen the fault is triggered, the voltage quality values will be overridden by the values provided in this connection.
Current QualityFrom model to driverWhen the fault is triggered, the current quality values will be overridden by the values provided in this connection.
Wait for smpCntFrom model to driverIf "Mode" is set to 1, the fault is delayed to wait the specified smpCnt value.


Connection Examples

The sensor editor should be used to connect each configured data points with the model. Here are some examples of sensors connected to an IEC 61850 I/O interface. Please note that unused columns have been collapsed.




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