IEC 61850-6 / 61850-7-28 min read

Worked Example: Tracing a GOOSE Signal That Never Arrives — ExtRef and Data Set Checks

A breaker-fail backup trip from a bay IED does not reach the busbar protection. Following the ExtRef back to the publisher's control block and data set finds two configuration errors.

Scenario

PublisherBay IED Q02_BCU, logical device CTRL, GOOSE control block gcbBF using data set dsBF
Data set dsBFRBRF1.OpEx.general (ST) and RBRF1.OpEx.q (ST)
SubscriberBB_PROT, input mapped by an ExtRef to Q02_BCU / CTRL / RBRF1.OpIn.general, srcCBName gcbBFail
SymptomA breaker-fail backup trip from bay Q02 never trips the busbar zone during testing

Step-by-step calculation

Step 1: Validate the subscriber's ExtRef inputs

The ExtRef in BB_PROT names the source IED, logical device, logical node, data object and the control block it expects the signal in. Validation checks each part against the publisher.

The control block in the publisher is called gcbBF. The subscriber was configured from an earlier revision of the publisher's ICD file, where it had a different name.

Step 2: Correct the control block reference

Point the ExtRef's srcCBName at gcbBF and validate again.

Step 3: Compare the ExtRef with the data set contents

The data set carries RBRF1.OpEx, the breaker-fail backup trip to the surrounding breakers. The ExtRef asks for RBRF1.OpIn, the internal re-trip of the bay's own breaker, which is a different data object and is not published at all.

ItemConfiguredRequired
Control blockgcbBFailgcbBF
Data object in ExtRefRBRF1.OpIn.generalRBRF1.OpEx.general (or add the required signal to dsBF)

Decide with the protection designer which signal the busbar scheme needs. If it really needs a signal that is not in the data set, add it to dsBF on the publisher side, which changes the data set and so the control block's configuration revision.

Step 4: Fix, re-validate and check the configuration revision

Here the busbar scheme should use OpEx, so the ExtRef is corrected to RBRF1.OpEx.general. Validation now reports no ExtRef errors or warnings. If the data set had been changed instead, the publisher's confRev increases and the subscriber must be reloaded so both sides agree.

Step 5: Export and test

Export the updated CID for BB_PROT, load it with the manufacturer's tool, and repeat the breaker-fail backup-trip test, checking the GOOSE message on the network and the input status in the busbar IED.

Result summary

CheckRequirementActualStatus
ExtRef source control block existssrcCBName matches a GSEControl in the source IEDWas gcbBFail (not found); now gcbBF✓ PASS
Subscribed signal is in the data setExtRef points to a data set memberWas RBRF1.OpIn (not published); now RBRF1.OpEx.general✓ PASS
Validation cleanNo ExtRef errors or warningsNone reported✓ PASS
The signal never arrived because the subscriber expected it in a control block that no longer exists (gcbBFail) and asked for a data object (OpIn) that the publisher does not send. Correcting the ExtRef to gcbBF and RBRF1.OpEx.general resolves both, and the breaker-fail backup trip reaches the busbar protection after the updated CID is loaded.

Key insight: A GOOSE subscription only works when four things agree: the source IED, the control block name, the data set member and the configuration revision. Checking the ExtRef against all of them in the SCD finds most "signal not arriving" faults before anyone goes to site.

Try it with your own numbers

Every input in this example is editable in the live calculator — no signup needed.

Open IEC 61850 SCL Editor (SCL Studio) calculator →

Frequently asked questions

Why does changing a data set matter to the subscriber?

The subscriber decodes GOOSE values by their position in the data set. If members are added or reordered, the publisher's confRev changes and a subscriber still configured for the old revision should reject the message.

Is a clean SCD validation enough?

No. It shows the configuration is consistent. The manufacturer's tools, the loaded CID files and a functional test on the network confirm that the IEDs actually behave as configured.

Should the quality attribute be subscribed as well?

It is good practice to include and check the quality (q) of protection signals so the subscriber can treat invalid or test-mode data correctly.