Project

General

Profile

Issues #6541

sMdl15 allow SCL floating point value can have minor difference in DUT

Added by Richard Schimmel 4 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Due date:
01/09/2024 (51 days late)
Discuss in Upcoming Meeting:
No
Clause Reference:
61850 Standard:
6
Triggering Tissue:
Final Decision:
Initial Test Document:
Updated Test Document:
Test Case ID:
sMdl15
Closed Reason:
--Not Set---
Triggering Tissue 2:
Triggering Tissue 3:

Description

sMdl15 requires that the SCL value matches the value in the DUT. For floating point the value can be slightly different due to rounding off errors and less number of bits used in the DUT.
I propose we allow a minor difference for floating points. For example 0.1% of the min/max range:
- If the range is 1000 we allow a difference of 1
- If the range is 1 we allow a difference of 0.001


Files

#1

Updated by IEC 61850 TPWG 4 months ago

  • Due date set to 11/14/2023
  • Status changed from New to In Progress
  • Assignee set to Richard Schimmel

Accepted.

Limits should be based on the precision of FLOAT32

#2

Updated by IEC 61850 TPWG 4 months ago

  • Due date changed from 11/14/2023 to 11/28/2023

Please add comments before next meeting.

#3

Updated by Richard Schimmel 4 months ago

Instead of using a percentage it's better to use number of significant digits. The maximum number of significant digits for FLOAT32 is 6 to 7 digits (depending on the value). Not every device / data point may support the maximum number of significant digits. We allow a lower number of significant digits when specified/documented in the MICS (and/or PIXIT). sMdl15 allows differences in the non-significant digits.
For example:
- SCL value = 5.1234567
- the number of significant digits is 5 => the significant value becomes = 5.1235
- sMdl15 does allow all (MMS) values from the device between 5.1234501 and 5.1235499 because the significant value is 5.1235

#4

Updated by Ursula Kramarczyk 4 months ago

The IEC 61850-7-2 defines BasicType FLOAT32 as the IEEE 754 single-precision floating point (61850-7-2 Table 2 - BasicTypes).

The IEEE 754 standard specifies this format as having: a sign bit, 8 bits of exponent and explicitly stored 23 significant bits of fraction (in sum occupying 32 bits). The single-precision floating point format covers a large range of values -3.4E+38 to+3.4E+38, but it has limited precision. The format gives 6 to 9 significant decimal digits precision. When converting decimal values to values of the Float32 data type, depending on the value, a rounding error might occur from the seventh decimal place on. From technical point of view the float32 encoded values have guaranteed only 6 significant digits.

In my opinion, if a DUT does not state explicitly - in MICS, for BasicType FLOAT32 - its limitation in the internal float precision, then the expected result are 6 significant digits. As well by decimal values read from SCL as mapped to/from MMS or GOOSE.

#5

Updated by IEC 61850 TPWG 3 months ago

  • Due date changed from 11/28/2023 to 12/12/2023

if a DUT does not state explicitly - in MICS, for BasicType FLOAT32 - its limitation in the internal float precision, then the expected result are 6 significant digits.

Update MICS template to indicate limits in Float precision.

Richard to add solution.

#6

Updated by IEC 61850 TPWG 3 months ago

  • Due date changed from 12/12/2023 to 01/09/2024
#8

Updated by IEC 61850 TPWG about 2 months ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF