02/24/2014
Excuse me. I would like to clarify the specification of index range handling.
Current my UA server can support following handling for the array data.
- Read/Write the whole elements of array data type parameter.
- Read/Write only one element of array data type parameter.
That is, currently no support to access index range (e.g. [5..9], [2..3, 8..10], etc.) of array data type parameter.
Shall the UA server support index range access to pass the certification test? Or is it optional functionality?
If no support of index range access is acceptable from the viewpoint of certification test, which return status code is recommended in case where UA client specify index range? In case of write, BadWriteNotSupported seems to be good. However I have no idea which is recommended in case of read.
Best regards.
Hello,
The Standard UA Server requires the "Attribute Read" conformance unit which states "Supports the Read Service to read one or more Attributes of one or more Nodes. This includes support of the IndexRange parameter to read a single element or a range of elements when the Attribute value is an array."
The same profile also contains the "Attribute Write Index" conformance unit which is exclusively for writing via IndexRange, but that conformance unit is OPTIONAL.
So to summarize, reading of index-ranges is required whether it is for the whole range, partial range, or single element; but writing to an index-range is optional behavior.
Your server could return BadWriteNotSupported is consistent with what the CTT expects if a client writes to an index-range when the server does not support the feature.
1 Guest(s)