Issues #6541
sMdl15 allow SCL floating point value can have minor difference in DUT
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
Updated by IEC 61850 TPWG about 1 year 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
Updated by IEC 61850 TPWG about 1 year ago
- Due date changed from 11/14/2023 to 11/28/2023
Please add comments before next meeting.
Updated by Richard Schimmel about 1 year 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
Updated by Ursula Kramarczyk about 1 year 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.
Updated by IEC 61850 TPWG 12 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.
Updated by Richard Schimmel 11 months ago
- File Solution to redmine 6541 sMdl15 floating point digits.docx Solution to redmine 6541 sMdl15 floating point digits.docx added
added attachment
Updated by Richard Schimmel 9 months ago
- Status changed from Resolved to Closed
- Updated Test Document set to TP1.3