IEC 61850 Substation Automation System (SAS) example based on IOP 2019 (IEC61850_SAS.ecf) HYPERSIM version 2022.1

Hello,
My HYPERSIM version is 2022.1
How do i run this model (IEC61850_SAS.ecf) to achieve the helpfile’s outcomes?
Do I need the Hardware Simulator (OP5650XG in my case) to run this model or can it be run using only local host? The helpfile appears to indicate the model can be run in local host

I have initialised loadflow and run the model in HYPERSIM both on the simulator and in localhost, my results are vastly different from helpfile’s outcomes.

In the scopeview template (IEC61850_SAS.svt), the tab BT_Relay_Fault has four panels BT_PU Overcurrent Relay Current, BT_PU Overcurrent Relay Output, Fault Status, and Breaker CB_BT Input Command
According to the HYPERSIM helpfile, the first panel BT_PU Overcurrent Relay Current should display a current wave form but it is just a green flatline at zero (0) for me


Similarly on the tab SV Data there are 5 panels.
The publisher subscriber panels (SV Publisher (CT_BT), Subscriber (BT_PU)) for Phase A, Phase B, and Phase C have only Publisher waveforms,

The HYPERSIM helpfile has complete publisher subscriber panels for all phases.

Please what is the correct workflow to achieve the helpfile’s results?

Why You’re Getting Flat Lines and Missing Subscriber Data
The root cause is that IEC 61850 drivers (both GOOSE and SV) require a hardware target to function — they do not work on localhost.

This is explicitly documented in the internal KB:

“The drivers configured in the IO interfaces do not work on a localhost, only on a target.”

The IEC61850_SAS model relies on both GOOSE and SV communication between IEDs. When you run on localhost:

SV subscribers receive zero → the relay’s current input (from CT1_BT via SV) stays at 0, producing the flat green line you see on the BT_PU Overcurrent Relay Current panel

SV subscriber waveforms are absent → the publisher outputs from the power system model, but the subscriber driver is not active, so only publisher data appears on the SV Data tab

GOOSE subscribers receive nothing → all downstream protection logic (breaker failure, reverse blocking) doesn’t trigger

Do You Need the OP5650XG?
Yes, you need your OP5650XG (or another OPAL-RT hardware target) to reproduce the helpfile results for this model. The IEC 61850 drivers are real-time communication protocol drivers that run on the target’s network interfaces and cannot be emulated on a Windows host PC.

There is one partial exception: for SV-only testing, the
[Quick testing guide] IEC61850 Sampled Values mentions using the internal loopback interface (lo) on the target. But the IEC61850_SAS model uses both GOOSE and SV, so a full target is required.

Correct Workflow to Reproduce the Helpfile Results
Step 1 — Open the Model
Open IEC61850_SAS.ecf from the Protection examples category in HYPERSIM 2022.1.

Step 2 — Verify I/O Interface Configuration
Go to HYPERSIM tab → I/O Interface

Confirm the IEC 61850 interface has:

GOOSE publishers: BreakerFailureBT, ProtectionBT

GOOSE subscribers: subscriptions at IncA_PUBCU and IncB_PUBCU

SV publisher: IOP_K_BT_MU (from CT1_BT current transformer)

SV subscriber: to BT_PU relay inputs

Verify the Ethernet Adapter matches an actual network interface on your OP5650XG (typically eth1 — make sure it’s not connected to your corporate network to avoid flooding)

In General settings, confirm “Enable all SV and GOOSE services by default” is checked

Step 3 — Execute Load Flow
Open Network → Load Flow

Set frequency to 60 Hz

Click “Execute load flow”

Alternatively, enable “Perform load flow when simulation starts” in Simulation Settings

Step 4 — Set Scenario Parameters
Choose one of the two scenarios:

Scenario

Scen_Sel

Op_Mod

Behavior

Breaker Failure

1

2

CB_BT fails to open → CB_INCB opens

Reverse Blocking

2

1

CB_BT opens → CB_INCA stays closed (blocked)

Step 5 — Run on Target (OP5650XG)
Connect to your OP5650XG as the simulation target in HYPERSIM

Do NOT use localhost — select the target in the simulator settings

Start the simulation

Step 6 — Open ScopeView
Open the template IEC61850_SAS.svt

Click Sync and Trig buttons to synchronize with the fault trigger at 0.2 seconds

Press Play for signal acquisition

Step 7 — Verify Results
BT_Relay_Fault tab: You should see current waveforms from the SV subscriber, relay Q output going to 1 at 0.25 s, fault status, and CB_BT command

SV Data tab: Both publisher and subscriber waveforms should appear for all phases

GOOSE tabs: stNum, sqNum should match between publisher and subscriber, State = 1

Quick Troubleshooting Checklist
:white_check_mark: Simulation running on target (not localhost)

:white_check_mark: Load flow executed before or at simulation start

:white_check_mark: Ethernet adapter in I/O Interface matches a valid interface on the target

:white_check_mark: IEC 61850 services enabled by default in General settings

:white_check_mark: Check .simout log for driver start confirmation — look for messages like IEC 61850: X core(s) reserved for the driver thread

:white_check_mark: ScopeView Sync and Trig enabled for fault capture

Many thanks for your assistance…i shall test with the target from next week. Kindly indulge me I have a few more questions.

Verify the Ethernet Adapter matches an actual network interface on your OP5650XG (typically eth1 — make sure it’s not connected to your corporate network to avoid flooding)

when i do ifconfig after connecting mobaxterm SSH to the simulator, I get eno1 as the adapter name for the target 192.x.x.x

Do I need mobaxterm to successfully run this example model?

Do I go with eth0 which is the default in the I/O interface config after converting from legacy driver to v2 driver or do i use eno1 ?

The sampled values configuration for ID IOP_K_BT_MU appears to indicate that a separate ethernet adapter eth1 be used. Is it okay to use the same address I have found for the target using mobaxterm or do I stick with eth0 or eth1?

Your kind assistance is much appreciated

Great questions, here are my suggested answers to them, hope that helps.

  1. Do you need MobaXterm to run the model?
    No. MobaXterm is just an SSH client for diagnostics (checking interface names, reviewing logs). HYPERSIM connects to and controls the OP5650XG directly from its own interface on your Windows PC. You don’t need MobaXterm open to run the simulation; but it’s useful to have nearby for the steps below.

  2. eth0 or eno1?
    Use eno1.
    On OPAL-RTLinux targets, physical interfaces use predictable naming. The legacy names (eth0, eth1) don’t exist on your OS — the driver will fail to bind if you leave the default. The mapping is:

In your I/O Interface configuration, replace eth0 → eno1 and eth1 → eno2.

  1. Which interface for Sampled Values (IOP_K_BT_MU)?
    The SV config pointing to eth1 (now eno2) is intentional — IEC 61850 GOOSE and SV multicast traffic should run on a dedicated, isolated interface, separate from the port your host PC uses to communicate with the target.

Here’s the recommended setup:

SV publishes high-rate multicast packets (4000+ samples/sec per stream). If this runs on your corporate network interface, it will flood the network segment.

If you only have one port available, you can use eno1 for everything — but physically disconnect it from your corporate network first and connect it only to your isolated test setup.

Steps to verify before running:

In I/O Interface, update eth0 → eno1 and eth1 → eno2

Physically connect a cable to port #8 (eno2) — an isolated switch or even a loopback cable works since both publisher and subscriber run on the same target

Confirm eno2 is link-up via MobaXterm: ifconfig eno2

Run on target (not localhost), open ScopeView, enable Sync and Trig

After these changes, you should see full publisher and subscriber waveforms on the SV Data tab, and the relay current waveform on BT_Relay_Fault.

Good luck with the testing next week !

@Parija Many Many thanks it works!! no need for MobaXterm. no more flat lines and GOOSE stNum, sqNum update properly. it’s funny, the simulator (OP5033XG, 5650 is the expansion unit) has its adapter name eno1 boldly inscribed on the front of the chassis. I must get a switch to try out the eno2 interface.

** P.S.1 ** Do you know where I can find the price of the MMS license for our simulator?
** P.S.2** If I update my simulator and hypersim from 2022.1 to 2022.2+ will i get the example with MMS? IEC61850_SAS_MMS.ecf

@cokeke , Great to hear the setup is working! Here are answers to your two follow-up questions:

P.S.1 — MMS License Pricing

The IEC 61850-8-1 MMS Server is a licensed add-on that requires activation on your HYPERSIM target. Pricing depends on your existing configuration, region, and license bundle.

For a quote, please reach out to your regional OPAL-RT sales representative directly. You can find contact information here: Contact us - OPAL-RT TECHNOLOGIES, Inc

They can confirm your current IEC 61850 entitlements and provide options (MMS can be added individually or as part of an IEC 61850 bundle that includes GOOSE, Sampled Values, and MMS Server).

P.S.2 — IEC61850_SAS_MMS.ecf Example

Yes, HYPERSIM includes an extended version of the IEC 61850 SAS model that adds MMS communication: IEC61850_SAS_MMS.ecf. You can find it under the Protection examples category.

This model adds a third scenario (MMS Control) on top of the Reverse Blocking and Breaker Failure scenarios you’ve already tested. It demonstrates MMS report control blocks, setting group changes via an MMS client (using the free tool IED Explorer), and real-time data exchange.

Important prerequisites:

Your target license must have MMS Server enabled. Without the MMS license, the model will not run unless you manually disable the report control blocks and clear MMS data points in the I/O Interface.

You will need an MMS client application to interact with the model’s MMS servers (IED Explorer 0.79m is used in the documentation and is available as a free download).

Check whether the example already appears in your HYPERSIM 2022.1 installation under Protection examples. If it doesn’t appear, updating to a newer version should make it available. Either way, the MMS license on your OP5033XG is required to actually run the MMS portions of the model.

Hope that helps, good luck with the next steps!

@Parija Thanks once again, i hope the MMS License will let me use JSON_SCADA as an MMS Client. Do you know of any other good Clients?