GOOSE Message Transactions

PUBLISHED ON Sep 24, 2009

Q: I think the average time for receiving a GOOSE trigger is 10ms.  Is there a maximum time?

A: No.  The typical propagation time for receiving a GOOSE on the initial transmission of an event is more like 4ms.

A GOOSE is an unacknowledged multicast message.  The failure of any subscriber to receive any particular GOOSE is usually the result of network traffic and data collisions, therefore relatively rare and essentially random.  Since there is never confirmation that any subscriber actually receives any particular GOOSE, the protocol dictates a pattern of repeating transmissions in progressively longer intervals following an event.  If the initial transmission of a GOOSE occurs at t=0, the same event is repeated at t=14, 28, 44, 62, 88, 123, 184ms, etc. until 1 minute after the event, then it just repeats every minute thereafter, ad infinitum.

Now, each GOOSE contains two counters that enable the subscriber to distinguish between a repeat of previously-received data and a new event.  Incrementing the State Number tells subscribers this message represents a new event.  Incrementing the Sequence Number while the State Number remains the same indicates the message is a repetition of a previously published event.

So to answer your question:  If the subscriber receives a GOOSE, let’s say it’s State Number 547, Sequence Number 0, it is probably received about 4ms after it was transmitted by the publisher.  If the subscriber misses Sequence Number 0, its next opportunity to receive notification of State Number 547 is from Sequence Number 1, which is transmitted about 14ms later.  If it misses Sequence Number 1, it has another chance when Sequence Number 2 is transmitted, and so forth.  At some point in time, a new event will occur.  That will be State Number 548, and its first transmission will have Sequence Number 0.  Obviously, when State Number 548 is published, there will never be another repetition of State Number 547.  So if the subscriber hasn’t received State Number 547 by the time State Number 548 is published, there will never be another chance to receive it.  Now, a new event might occur two months after the last event or 30ms after the last event.  In the former case, there will have been tens of thousands of repetitions of the first event before the next event obsoletes it.  In the latter case, there will have been only three repetitions.  Look at it this way; suppose you introduce a new IED into an existing substation.  You power it up for the first time on the network.  How long will it take to determine the present status of every GOOSE it subscribes to?  This IED might subscribe to fifty different GOOSEs.  One may be received on Sequence Number 23,479, another at Sequence Number 3.  But within 60 seconds every one of the fifty different GOOSEs will have refreshed every subscriber on the network.

Editorial Note: GOOSE (Generic Object-Oriented Substation Event) is an extremely handy function defined under the IEC 61850 standard.  It provides a mechanism for devices to exchange notification of events and changes of status by means of unsolicited peer-to-peer communication over an Ethernet local area network.  It may be thought of as being analogous to hard-wired discrete I/O, except that it requires no additional wiring apart from the communications infrastructure.  GOOSE messages are also extremely fast, and can propagate across a network even faster than discrete I/O.  That makes GOOSE ideal for applications like cross-triggering of multiple recorders that may be located throughout a substation when a disturbance may only be detected by any one individual device.  All Bitronics 70 Series IEDs support either GOOSE or its predecessor (GSSE, or UCA GOOSE).  Since GOOSE communication is peer-to-peer, between 70 Series IEDs, it can be used even in applications where no other aspects of IEC 61850 or UCA are in use.