A GOOSE that does not arrive is the most common IEC 61850 commissioning problem, and the subscriber's indication ('missing', 'config mismatch') rarely says which of a dozen settings is wrong. The answer is almost always visible by comparing a capture with the SCD: wrong confRev, a VLAN not on the port, a simulation flag, a time allowed to live without margin. Doing that comparison field by field by hand takes long and is easy to get wrong.
Standards followed
IEC 61850-8-1 (GOOSE frame: APPID, gocbRef, timeAllowedtoLive, datSet, goID, stNum, sqNum, simulation, confRev, ndsCom, numDatSetEntries)IEC 61850-6 (GSE address: MAC, APPID, VLAN, priority, MinTime, MaxTime; GSEControl; ExtRef)IEC 61850-7-4 Ed2 (LPHD.Sim: simulated GOOSE)IEC 61850-90-4 (network engineering guidelines)
What it can do
- Reads the GOOSE control blocks, their communication addresses, data sets and subscribers (ExtRef) from the SCD.
- Decodes every GOOSE frame in a pcap / pcapng capture and groups them per stream.
- Checks, per stream: present, destination MAC, APPID, VLAN, priority, gocbRef, goID, data set, confRev, number of entries, simulation / test, ndsCom, every frame within the previous frame's time allowed to live, publisher stopped, sqNum continuity, stNum changing with the data, quality of the values and time-stamp synchronisation.
- Lists captured streams that are not in the SCD; filters to the streams one subscriber uses; adds guidance for the symptom you see.
Example problem
The demonstration bay: four GOOSE streams in the SCD and a five-second capture.
- gcbTrip: one repetition arrives 48 ms after a frame that allowed 32 ms — the subscriber declares it lost.
- gcbStatus: published with confRev 2 while the SCD says 3 (configuration mismatch), and silent for 3 s.
- gcbIntlk: simulation bit and test set (ignored by a subscriber not in simulation), priority 1 instead of 4, a value change without a new stNum; gcbAlarm is not on the wire at all.
One clear cause per stream, with the fix: reload the CIDs from one SCD revision, take the test set out of simulation, check the switch path of gcbAlarm.
Capture at a mirror port of the subscriber's switch port (or as close as possible) so the capture sees what the subscriber sees. The capture shows the publisher side; the subscriber's own configuration (its CID, input mapping, simulation mode) must match the same SCD. Files are read in your browser.