Follow a transformer trip GOOSE from the first frame to the steady heartbeat, unplug the publisher to see the subscriber declare the stream lost, then break the intertrip with a one-sided confRev change.
| Publisher | P_T1, transformer T1 protection, GOOSE with the trip of T1 |
| Subscriber | B_J01, 33 kV incomer bay controller, supervised by LGOS |
| Repetition | Heartbeat MaxTime 1000 ms; retransmission intervals doubling after a change |
| Tool | 61850 Academy, Labs 6 and 7 (speed 0.01× to read frames) |
With the clock at 0.01×, apply a permanent fault on T1 and open the Sniffer. P_T1 increments stNum once, because the data changed, then repeats the same message with sqNum 1, 2, 3 and so on.
stNum changes only when the data changes. sqNum counts repetitions of the same state and restarts at 0 on the next change.
Each message tells the subscriber how long to wait for the next one. Right after a change the repeats are close together, so the time allowed to live is short; as the intervals double up to MaxTime, it grows with them. A subscriber that hears nothing within the time allowed to live treats the data as lost.
Restore the plant, return to 1× and unplug the P_T1 cable in Network. B_J01 keeps waiting for the next heartbeat, which never comes.
On a real system this alarm is your first sign of a broken GOOSE link. Without supervision the subscriber would silently keep the last value.
Plug the cable back, then in IEDs → P_T1 raise the GOOSE confRev from 1 to 2, as happens when a new data set is loaded only into the publisher. B_J01 decodes GOOSE members by position, so it rejects a stream whose confRev differs from what it was configured for.
Apply a permanent fault on T1 again. P_T1 trips its own breaker, but the intertrip to J01 never arrives and J01 stays closed. Set B_J01's expected confRev to 2 and the subscription returns to ok.
| Check | Requirement | Actual | Status |
|---|---|---|---|
| stNum changes once per data change | Yes | +1 at the fault | ✓ PASS |
| Repeats carry the same stNum, rising sqNum | Yes | sqNum 1, 2, 3 … | ✓ PASS |
| Lost publisher detected | Within about 2 × MaxTime | about 2 s | ✓ PASS |
| Intertrip with one-sided confRev change | Delivered | Lost | ✗ FAIL |
Key insight: Whenever a GOOSE data set changes, raise confRev and reload the publisher and every subscriber; then prove the link with a test trip and the LGOS status.
Every input in this example is editable in the live calculator — no signup needed.
Open 61850 Academy (IEC 61850 training simulator) calculator →LGOS.ConfRevNum reports the confRev being received; LGOS.St goes false when the subscription is not healthy.
Yes. Open a Wireshark capture in the GOOSE & SV Capture Analyzer: it checks stNum, sqNum, time allowed to live and confRev against the SCD.