200   GOOSE fixed size ?

Created: 12 Sep 2005

Status: Not Applicable

Part: Part 8-1 (2004)



Clause: Annex A

Paragraph: IECGoosePDU

Category: No impact on this part


According to 8-1 (6.3.2), GOOSE datagrams are coded in BER, and therefore datagrams are of variable size, BER prescribing that an integer may be coded in the minimum number of octets needed to represent it (8825-1).

Within the GOOSE allData section however, subrange types are used such as Integer32, but there is no restriction to fixed-size integers (except for ENUMS are fixed length)

The coding / decoding time for telegrams is quite high since a whole datagram must be compiled/parsed to find out the position of the values, but savings in terms of datagram size are modest, since most GOOSE values are bitstrings, timestamps, integers or floats.

GOOSE is not intended to transmit variable length strings.
Therefore, it is suggested that a restriction is applied to the values so the data section of GOOSE has a fixed size.

Is there a possibility to prescribe fixed-size GOOSE telegrams ?


Add the following text to 8-1
If bit xxx is set in the header, the allData segment of the GOOSE datagrams of this source shall be of fixed length.
All MMS Types of type Data (see ISO/IEC 9506-2, §7.5.2) shall take as many octets as the maximum size of their subrange. Variable lenght elements such as strings or bitstrings shall be transmitted up to their maximum length, even if not all elements are significant, as indicated in the configuration file. Constructed types shall not be used, elements of constructed types shall be transmitted individually. (This is backward-compatible).

Discussion Created Status
There is no way to prescribe a fixed length GOOSE since the data contents themselves can change in size.

ASN.1 does not encode unused octets (e.g. a Integer Value of 1 would encode as 01 not 00 00 00 01), thus template based assumptions are not valid.

No change is needed nor possible.
19 Sep 05 Triage


Privacy | Contact | Disclaimer

Tissue DB v.