1874   GOOSE MinTime / Max Time - Probable discrepancy between Part-6 and Part-8

Created: 20 Jun 2023

Status: Future Improvement

Part: Part 6 (2019; Edition 2.1)

Links:

Page: 118

Clause: 9.4.4

Paragraph: 2

Issue

In Part 6, the MinTime and MaxTime is expressed as 'Decimal'

<xs:complexType name="tGSE">
<xs:complexContent>
<xs:extension base="tControlBlock">
<xs:sequence>
<xs:element name="MinTime" type="tDurationInMilliSec" minOccurs="0"/>
<xs:element name="MaxTime" type="tDurationInMilliSec" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
---
<xs:complexType name="tDurationInMilliSec">
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="unit" type="tSIUnitEnum" use="optional" fixed="s"/>
<xs:attribute name="multiplier" type="tUnitMultiplierEnum" use="optional" fixed="m"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>

However, in 8-1, the MinTime and MaxTime is an Unsigned32 / INT32U

MinTime Unsigned32 r o INT32U – As specified in the SCD
file for the GoCB, See 1
MaxTime Unsigned32 r o INT32U – As specified in the SCD
file for the GoCB. See 1

What shall the ICT process the values as? Input as Decimal and then pass it as Integer to the application?

Or does it makes sense to change the -6 to have these values as Integer?

If you look at Table 45 in -6, it does point to that way.

INT8, INT16, INT24, INT32,
INT64
INT8U, INT16U, INT32U

integer

An integer number, no decimal fraction (99999)

Proposal

To change MinTime and MaxTime base to Integer from Decimal in -6.

Discussion Created Status
Approved Future 12 Dec 23 Future Improvement
change to future improvement 22 Jun 23 Approval (Future Improvement)
proposal joint to the tissue 22 Jun 23 Approval (Editoral)
proposal to write 22 Jun 23 Discussion (red)
Accepted to modify both types (tDurationInMilliSec and tBitRateInMbPerSec 22 Jun 23 Accepted
Agree that tDurationInMilliSec should be extended from xs:nonNegativeInteger (arbitrary precision) or xs:unsignedInt (32 bit) and NOT from xs:decimal (which has whole and fractional components).

However, look also at tBitRateInMbPerSec which similarly is extended from xs:decimal but should be extended from xs:nonNegativeInteger (or maybe extend tBitRateInMbPerSec from xs:unsignedLong (64-bit) or xs:positiveInteger (arbitrary precision). Note that xs:unsignedInt is not appropriate here because someone could try to enter 10 GB without using the multiplier which overflows 32-bits.
20 Jun 23 Triage

 

Privacy | Contact | Disclaimer

Tissue DB v. 24.4.30.1