OPC UA Aggregates Specifications|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
OPC UA Aggregates Specifications
Avatar
SambsivaReddy Appireddygari
Member
Members
Forum Posts: 24
Member Since:
02/12/2016
sp_UserOfflineSmall Offline
1
02/12/2016 - 07:15
sp_Permalink sp_Print

The Latest version of OPC UA Aggregate specifications has very inconsistent description of the Simple Bounding Value method

The definition and descriptions are totally not in sync.

Can any one explain me the differences between interpolated bounding values and simple bounding values preferably with some example data

 

Thanks & Regards

Samba

Avatar
Guest
Guests
2
02/12/2016 - 07:26
sp_Permalink sp_Print

Hello Samba,

Thanks for posting your question here.

Could you provide us with an example of these conflicting statements. What would be helpful is if you could copy/paste the text while referring to the section where you found it, for example:

section: 5.6.7.8
text: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do 

section: 6.7.8.9
text: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do

If there are mistakes in the specification then we will correct them via adding a Mantis issue.

Avatar
Paul Hunkar
Cleveland, Ohio, USA
Moderator
Members

Moderators-Specifications

Moderators-Companion

Moderators-Implementation

Moderators-Certification

Moderators-COM
Forum Posts: 109
Member Since:
02/24/2014
sp_UserOfflineSmall Offline
3
02/17/2016 - 22:51
sp_Permalink sp_Print

Samba,

As Nathan said if you can point out the section that are inconsistent please let us know.

There are a lot of examples in Annex A for all of the aggregates and section 3.1.8 describes interpolated bounding values while section 3.1.9 describes simple bounding values. The key difference between the two bounding value is how non-Good status values are treated.

In interpolated bounding they are not used in the calculation of the bound, a good status is found and then processed.  There are a number of rules defined with regard to the resulting status and process, but the key is that a good status values are used.

In Simple Bounding a non-Good value can be the bound, the rules are much simpler.

If all of the values are Good then the two algorithms are the same.

 What can add to the confusion is that the bound in either case can be computed using SteppedInterpolation or SlopedInterpolation (defined in 3.1.6 & 3.1.5 respectively).    

Paul Hunkar - DSInteroperability

Avatar
SambsivaReddy Appireddygari
Member
Members
Forum Posts: 24
Member Since:
02/12/2016
sp_UserOfflineSmall Offline
4
02/18/2016 - 08:02
sp_Permalink sp_Print

OPC UA Part 13-Aggregates

Section 3.1.7

Simple Bounding Value uses the data points immediately before and after the boundary timestamps to estimate the bound even if these points are Bad

Section 3.1.9    

simple bounding values bounding values determined by a calculation using the nearest value

Simple Bounding Values using SlopedInterpolation 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;
  • find the first Raw value after timestamp;
  • if the value after the timestamp is Bad then the before value is the bounding value;
  • draw a line between before value and after value;
  • use point where the line crosses the timestamp as an estimate of 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. If the value after the timestamp is Bad or Uncertain the StatusCode is Uncertain_DataSubNormal.

 

Questions:

1. The definition says consider bad sample also but the description talks about many rules - how to handle if adjacent samples are bad?

2.If the value after the timestamp is Bad then the before value is the bounding value.Why special handling of bad sample in this use case?

3. If a Raw value at the timestamp is Bad the StatusCode is Bad_NoData means we do not consider that sample as bounding value ? 

or 

we consider it as bounding value with  the status code is Bad_NoData?

4. Bad_NoData means no data sample at all ? or A sample with valid time stamp having no value?

Avatar
Paul Hunkar
Cleveland, Ohio, USA
Moderator
Members

Moderators-Specifications

Moderators-Companion

Moderators-Implementation

Moderators-Certification

Moderators-COM
Forum Posts: 109
Member Since:
02/24/2014
sp_UserOfflineSmall Offline
5
02/18/2016 - 12:54
sp_Permalink sp_Print

Remember that in OPC UA a value that is Bad Status does not have a value.  The definition describe what is to happen for Bad Status Values.  

1) The description describes how to calculate the bounding value, values outside of what is needed for the bounding value do not apply.  

2) The use case is for SlopedInterpolation - you can not draw a line (compute the slope), if one of the ends is bad and thus does not have a value.  So the special cases describe what to do if one of the endpoints of the line is Bad Status.

3) The request was to include bounding values, so the Bad Status value is to be included as the bound.  Each aggregate calculation describe what to do with Bad Status Values.

4) Bad_NoData means a valid timestamp, having a status of "Bad_NoData" and a value that is indeterminate (and should be ignored).

Paul Hunkar - DSInteroperability

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online: Svein Folkeson
Guest(s) 42
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1348
Posts: 4576