View Issue Details

IDProjectCategoryView StatusLast Update
000209410000-004: Servicespublic2012-07-03 17:40
ReporterNathan PocockAssigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.02 
Summary0002094: Table 131 – DataChangeFilter: DeadbandAbsolute, behavior when monitoredItem filter set to VQT?
Description

IOP-J 2012:

While testing DeadbandAbsolute an IOP problem was found which the UA specs didn't clearly answer.

What should the server do with deadband when the client specifies a deadband while also specifying a filter of VQT? Should the server:

(a) ignore the deadband if the timestamp changes? (2 servers found behave this way)
(b) obey the deadband if even when the timestamp changes? this then makes the deadband the same as a filter of VQT.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Karl Deiretsbacher

2012-06-27 08:56

developer   ~0003809

My opinion:
The client should expect that each change in value will also always update the source timestamp. A trigger set to STATUS_VALUE_TIMESTAMP shall report a notification for every change in value.

The specification states that "the deadband filter can be used in addition ...". This should be changed into "the deadband filter shall be ignored".

Paul Hunkar

2012-06-27 14:35

developer   ~0003811

I would think that filter are additive, i.e. it has to pass all filters. If the filter is an aggregate filter and the VQT is also selected, the aggregate processing should be performed and then if the value, quality or timestamp changes as a result of the aggregate processing then the value shall be reported.

In the future I think other filters may also be developed, and ignoring some while reporting other will make it very complicated and difficult to understand. I think any additional filters (besides VQT) are pre-filters and the VQT processing only occurs if the value is passed on by the pre-processing.

Nathan Pocock

2012-06-27 15:04

viewer   ~0003812

Thank you Paul/Karl. You both offer compelling arguments. I can see pros/cons for both.

My opinion: I think that the deadbandAbsolute must be obeyed even if the filter is VQT. Since the deadband was requested, it must be honored. Whenever the value changes it must pass the deadband filter to constitute a value change. If only the sourceTimestamp changes then technically the client asked for a notification, so that should be honored too. In this case, if a sourceTimestamp was the only thing to change, then the previous value that was sent to the client (previously screened by deadband) would be sent again.

This is a tough one...

Matthias Damm

2012-07-02 21:32

developer   ~0003825

Added clarification that Deadband can only be used with trigger STATUS_VALUE_1.
Changed in document "OPC UA Part 4 - Services RC 1.02.18 Specification.doc"

Jim Luth

2012-07-03 17:40

administrator   ~0003831

Reviewed and agreed to changes with some edits during the call.

Issue History

Date Modified Username Field Change
2012-06-25 17:19 Nathan Pocock New Issue
2012-06-27 08:56 Karl Deiretsbacher Note Added: 0003809
2012-06-27 14:35 Paul Hunkar Note Added: 0003811
2012-06-27 15:04 Nathan Pocock Note Added: 0003812
2012-07-02 21:32 Matthias Damm Status new => resolved
2012-07-02 21:32 Matthias Damm Resolution open => fixed
2012-07-02 21:32 Matthias Damm Assigned To => Matthias Damm
2012-07-02 21:32 Matthias Damm Note Added: 0003825
2012-07-03 17:40 Jim Luth Status resolved => closed
2012-07-03 17:40 Jim Luth Note Added: 0003831
2012-07-03 17:40 Jim Luth Fixed in Version => 1.02