Issues #6541
sMdl15 allow SCL floating point value can have minor difference in DUT
Added by Richard Schimmel about 1 year ago.
Updated 9 months ago.
Discuss in Upcoming Meeting:
No
Closed Reason:
--Not Set---
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
- 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
- Due date changed from 11/14/2023 to 11/28/2023
Please add comments before next meeting.
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
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.
- 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.
- Due date changed from 12/12/2023 to 01/09/2024
- Status changed from In Progress to Resolved
- Status changed from Resolved to Closed
- Updated Test Document set to TP1.3
Also available in: Atom
PDF