GOOSE is NOT a Command

© Copyright Rod Hughes Consulting Pty Ltd
Rod Hughes Consulting
General Web Site
Innovations and
Solutions Home

A bit about
Rod Hughes
 Link to this page...

The URL in the browser address bar is volatile and may be broken at any time.

To obtain a link to this page, click the <<Share>> button top-right of the screen.


Note - if the navigation pane on the left of this window is not visible, click the 2-pane icon on the top bar

There is often much confusion about GOOSE messages being seen as a commands.

Yes, they are interpreted by the subscriber as information which will be used to carry out a certain action - but they are really just a STATUS of an output of a Logical Node - "I have not operated" / "I have operated".

One output status can be interpreted in multiple ways: click image to enlarge

Hence it is not good to use GOOSE as the means for an HMI to send a command to an IED

Consider an operator wanting to set Autoreclose on Feeder 3 from On to Off
For "years" the HMI would have to be sending a message once per second as containing the "status" of the buttons on the HMI screen as

  • Operator A/R button Fdr1 Pressed On and latched
  • Operator A/R button Fdr 2 Pressed On and latched
  • Operator A/R button Fdr 3 Pressed On and latched
  • Operator A/R button Fdr 4 Pressed On and latched
  • ..... repeat all that every second

Then when the operator suddenly clicks Fdr3 to Off the message changes and stays repeating again as

  • Operator A/R button Fdr1 Pressed On and latched
  • Operator A/R button Fdr 2 Pressed On and latched
  • Operator A/R button Fdr 3 Pressed OFF and latched
  • Operator A/R button Fdr 4 Pressed On and latched
  • ..... repeat all that every second

It is of course "possible" for the HMI to have the capability and capacity do all that but totally unnecessary repetitive communication messages compared to MMS"

  • If Fdr 3 reported status is On
  • and Operator button Fdr 3 is pressed to OFF
  • Send command to Fdr 3 to change status
  • Wait for report from Fdr 3 that status has changed to OFF

The question is how does the HMI know the A/R on Fdr 3 is On or Off?
Fdr 3 could be configured to use GOOSE repetitively sending the status GOOSE as

  • Fdr3 A/R is On/Off

If that status is specifically NEEDED to be published by the IED, then the HMI COULD subscribe to the same GOOSE, but that means it has to subscribe to a LOT of different GOOSE.

However the IED A/R On/Off status is not likely to change status "randomly" at any point in time without operator intervention (compared to protection functions change "randomly" without operator intervention).
So we simply configure a Server REPORT triggered by a status change to tell the Client of the change.
That is a ONE TIME message - not repeated every second.
Using BUFFERED Reports means we can ensure the Client knows of any status change - or at least can catch up if the comms has been down for any reason.

So what is a GOOSE?

 Imagine you have three "things" that can be either on or off, operated or not operated, closed or open. They are each represented by a 1 or a 0 bit accordingly.

So put those 3 bits into a group and call it a dataset.
101 would indicate the 1st status is "on", the second is "not operated" and the third is "closed"

You could have a dataset as a single bit or a large number of bits - depends on whether the vendor has preconfigured the datasets, whether the vendor has provided the ability for the System Integrator to decide at the engineering stage, or whether the vendor has provided the ability for datasets to be created dynamically during a say a special test sequence.

Now just keep sending that 3-bit dataset repetitively on the network every , say, 1 second. You could choose a different continuous repeat cycle if you wish but in general lets assume a 1-second heartbeat.

That heartbeat helps prove the whole system is working end to end.

Note that in publishing that 101 dataset it is just sent out on the network without any knowledge of any device or function using any part of the dataset - the publisher role is to send the message without necessarily knowing if any other device is listening or using the message content.

Any device could subscribe to that dataset and use that information for whatever function that device has inside. On the basis that the first bit is 1, the subscribing function might turn something else on or off or use that as one input to another complex function or algorithm in some way.

Now suppose the first 'thing' changes from on to off, i.e. the bit changes from 1 to 0.
Instantly - regardless of the 1-second heartbeat timing, the publisher sends the revised dataset which is now 001.

The publisher then repeats the 001 data set 1 millisecond later, then it repeats it again 2 ms after that, then 4 ms after that, then 8 ms after that until it gets back to a 1-second repeat cycle. That fast repetition rate is also settable.

Hence on the basis of a protection function changing from "not operated" to "operated" you would expect the receiving circuit breaker interface to open the breaker whilst the autoreclose and circuit breaker fail functions to start their operation cycles.

So you can see that the GOOSE is not a command. It is a status of a function being reported on the network. What the subscriber does on the basis of that is up to the subscriber. The E in GOOSE stands for "Event", not C for Command!!

Its like a fire alarm - when its off (its status is repeatedly "not operating") you stay in the building but a fireman would stay out - when its on (ringing) you would leave the building but the fireman would enter the building.

One final aspect is that I have used a 'binary status' as the "thing" in the dataset - it could also be an analog value - when it changes to another value that is also an "event" but obviously needs some hysteresis/deadband handling

I hope that helps in understanding GOOSE.

With that understanding the next question is whether GOOSE can suddenly flood the network:


Contact Me

Skype: (ping even if showing offline)
My status

Email Me

A phone call is nearly always welcome depending on the time of night wherever I am in the world.
Based in Adelaide UTC +9:30 hours e.g.

April-SeptemberNoon UK = 2030 Adelaide
October-March:Noon UK = 2230 Adelaide

  Office + 61 8 7127 6357
  Mobile + 61 419 845 253

Extra Notes:

No Liability:
Rod Hughes Consulting Pty Ltd accepts no direct nor consequential liability in any manner whatsoever to any party whosoever who may rely on or reference the information contained in these pages.  Information contained in these pages is provided as general reference only without any specific relevance to any particular intended or actual reference to or use of this information. Any person or organisation making reference to or use of this information is at their sole responsibility under their own skill and judgement.

No Waiver, No Licence:
This page is protected by Copyright ©
Beyond referring to the web link of the material and w
hilst the information herein is accessible "via the web", Rod Hughes Consulting Pty Ltd grants no waiver of Copyright nor grants any licence to any extent  to any party in relation to this information for use, copy, storing or redistribution of this material in any form in whole or in part without written consent of Rod Hughes Consulting Pty Ltd.