View Issue Details

IDProjectCategoryView StatusLast Update
000616010000-013: AggregatesSpecpublic2022-06-07 15:20
ReporterSrinivasu Jitta Assigned ToRod Stein  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.05 
Summary0006160: Wrong value in test data for WorstQuality2/Historian_3
Description

12:01:20.000 UncertainDataSubNormal Good, Calculated, Partial, MultipleValues
Think statusCode is wrong, shouldn't set the MultipleValues bit.

Calculation of values for Historian_3 / 12:01:20.000:
70 "UncertainDataSubNormal (0x40a40402)"
70 "Good (0x00000000)"
80 "Good (0x00000000)"
90 "Good (0x00000000)"

5.4.3.36 WorstQuality2
If multiple values exist with the worst quality the MultipleValues bit is set --> Here we have only one value with the worst quality
Therefore, we shouldn't set the MultipleValues bit.

Additional Information

A.34 WorstQuality2
A.34.1 Description
A.34.2 WorstQuality2 data
Historian_3:
Stepped Attribute = True --> Therefore SteppedInterpolation is used

3.1.9 simple bounding values:
Simple Bounding Values using SteppedInterpolation are calculated as follows:
 if any Raw value exists at the timestamp then it is the bounding value;
 find the first Raw value before timestamp;
 if the value before timestamp is non-Bad then it is the bounding value.
If a Raw value at the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Bad the StatusCode is Bad_NoData. If the value before the timestamp is Uncertain the StatusCode is Uncertain_DataSubNormal.

TagsNo tags attached.
Commit Version

Relationships

related to 0005145 closedRod Stein Clarification about setting MultipleValues bit in WorstQuality2 
has duplicate 0007874 closedRod Stein WorstQuality2/Historian_3 - StatusCode at 12:01:20.000 

Activities

Srinivasu Jitta

2020-10-19 09:07

reporter   ~0013068

Spec:
Product version:
OPC 10000-13 - UA Specification Part 13 - Aggregates Draft 1.05.2

Jim Luth

2021-12-07 18:20

administrator   ~0015482

Accepted fix in 1.05 Draft -- waiting for 1.04 Errata to close.

Jim Luth

2021-12-09 15:24

administrator   ~0015547

Last edited: 2021-12-09 15:40

0005145 negates the need for this fix. Change resolution to no change required. Backed out of 1.05 and removed from 1.04.11 Errata

Archie Miller

2022-01-04 20:32

administrator   ~0015668

Current Draft for WorstQuality2 reads
If multiple values exist with the worst quality but different StatusCodes then the StatusCode of the first value is returned. If multiple values exist with the worst quality the MultipleValues bit is
set.

With Raw data as mentioned previously:
[08] 01:17.000Z, 70, Uncertain (0x40000000)
[09] 01:23.000Z, 70, Good (0x00000000)
[10] 01:26.000Z, 80, Good (0x00000000)
[11] 01:30.000Z, 90, Good (0x00000000)

TreatUncertainAsBad = true, and Simple Bounding resulting in data for the interval being

[0] 01:20.000Z, Null, BadNoData (0x809b0000)
[1] 01:23.000Z, 70, Good (0x00000000)
[2] 01:26.000Z, 80, Good (0x00000000)
[3] 01:30.000Z, 90, Good (0x00000000)
[4] 01:36.000Z, Null, BadNoData (0x809b0000)

Worst quality is Bad multiple times

Interval should be

Timestamp Value StatusCode Updated Status
12:01:20.000 BadNoData Good, Calculated, Partial, MultipleValues

Archie Miller

2022-01-04 20:36

administrator   ~0015669

Reopened as per note on January 4 2022

Rod Stein

2022-03-09 02:17

developer   ~0016268

Nothing to change. The suggest value and status for Historian 3 is already the value and status.
12:01:20.000 BadNoData Good, Calculated, Partial, MultipleValues

Jim Luth

2022-03-10 16:24

administrator   ~0016309

This Mantis is still open to make sure the CSV export contains the row:
12:01:20.000 BadNoData Good, Calculated, Partial, MultipleValues

Srinivasu Jitta

2022-03-18 15:22

reporter   ~0016416

See the Note: https://mantis.opcfoundation.org/view.php?id=6160#c15668
TreatUncertainAsBad = true, and Simple Bounding resulting in data for the interval being??
[0] 01:20.000Z, Null, BadNoData (0x809b0000)

According to the specification - 5.4.3.36 WorstQuality2:
The last statement in the first paragraph: The server shall ignore the TreatUncertainAsBad for this aggregate.
Therefore, the Raw data with Uncertain StatusCode is NOT Bad.

If you consider the above statement,

if the value before timestamp is non-Bad then it is the bounding value → YES (70 - Uncertain)
If the value before the timestamp is Uncertain the StatusCode is Uncertain_DataSubNormal. → YES (Uncertain)
The Simple Bounding resulting in data for the interval
01:20.000Z, 70, UncertainDataSubNormal (0x40a40402)

Srinivasu Jitta

2022-05-24 09:41

reporter   ~0016737

V1.05 Draft 7:
5.4.3.35 WorstQuality
The WorstQuality Aggregate defined in Table 46 returns the worst status of the raw values in the interval where a Bad status is worse than Uncertain, which is worse than Good. No distinction is made between the specific reasons for the status. The server shall ignore the TreatUncertainAsBad for this aggregate.

V1.04:
https://reference.opcfoundation.org/Core/docs/Part13/5.4.3/
5.4.3.35 WorstQuality
The WorstQuality Aggregate defined in Table 46 returns the worst status of the raw values in the interval where a Bad status is worse than Uncertain, which is worse than Good. No distinction is made between the specific reasons for the status.

The text: "The server shall ignore the TreatUncertainAsBad for this aggregate" was added in V1.05.
If we don't consider the text, the current values are correct --> Remove the text from Draft, then the TreatUncertainAsBad is to be respected for the calculations.
If we need to consider the text, then should revise the calculations as mentioned in https://mantis.opcfoundation.org/view.php?id=6160#c16416

Rod Stein

2022-06-02 20:20

developer   ~0016796

Changes in Part 13 1.05 draft 8

Changes are made as per the comments and recalculating the values.

Errata added to 1.04 draft 11

Jim Luth

2022-06-07 15:20

administrator   ~0016805

Agreed to changes in telecon. Errata entries will appear in 1.04.12 (not 11).

Issue History

Date Modified Username Field Change
2020-10-19 09:01 Srinivasu Jitta New Issue
2020-10-19 09:07 Srinivasu Jitta Note Added: 0013068
2021-09-14 17:05 Jim Luth Assigned To => Archie Miller
2021-09-14 17:05 Jim Luth Status new => assigned
2021-12-06 00:48 Rod Stein Status assigned => resolved
2021-12-06 00:48 Rod Stein Resolution open => fixed
2021-12-06 00:48 Rod Stein Fixed in Version => 1.05
2021-12-07 18:20 Jim Luth Note Added: 0015482
2021-12-09 15:24 Jim Luth Status resolved => closed
2021-12-09 15:24 Jim Luth Fixed in Version 1.05 => 1.05.02 RC1
2021-12-09 15:24 Jim Luth Note Added: 0015547
2021-12-09 15:39 Jim Luth Note Edited: 0015547
2021-12-09 15:40 Jim Luth Relationship added related to 0005145
2021-12-09 15:40 Jim Luth Note Edited: 0015547
2021-12-09 15:41 Jim Luth Resolution fixed => no change required
2022-01-04 20:32 Archie Miller Note Added: 0015668
2022-01-04 20:36 Archie Miller Assigned To Archie Miller =>
2022-01-04 20:36 Archie Miller Status closed => feedback
2022-01-04 20:36 Archie Miller Resolution no change required => reopened
2022-01-04 20:36 Archie Miller Note Added: 0015669
2022-03-09 02:17 Rod Stein Assigned To => Rod Stein
2022-03-09 02:17 Rod Stein Status feedback => resolved
2022-03-09 02:17 Rod Stein Resolution reopened => fixed
2022-03-09 02:17 Rod Stein Fixed in Version 1.05.02 RC1 => 1.05
2022-03-09 02:17 Rod Stein Note Added: 0016268
2022-03-10 16:24 Jim Luth Note Added: 0016309
2022-03-18 15:22 Srinivasu Jitta Status resolved => feedback
2022-03-18 15:22 Srinivasu Jitta Resolution fixed => reopened
2022-03-18 15:22 Srinivasu Jitta Note Added: 0016416
2022-04-05 19:43 Rod Stein Relationship added has duplicate 0007874
2022-05-24 09:41 Srinivasu Jitta Note Added: 0016737
2022-05-24 09:41 Srinivasu Jitta Status feedback => assigned
2022-06-02 20:20 Rod Stein Status assigned => resolved
2022-06-02 20:20 Rod Stein Resolution reopened => fixed
2022-06-02 20:20 Rod Stein Note Added: 0016796
2022-06-07 15:20 Jim Luth Status resolved => closed
2022-06-07 15:20 Jim Luth Note Added: 0016805