View Issue Details

IDProjectCategoryView StatusLast Update
000318910000-005: Information ModelSpecpublic2017-01-26 16:46
ReporterNathan PocockAssigned Tojeffhardingabb  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Summary0003189: 7.19 OptionSetType DataType should be "OptionSet" (Part 3 section 8.41)
Description

CMPWG Oct-15-2015:

While working on the test-cases for OptionSet, we reviewed Part 3 and Part 5 and became very confused for how the OptionSet data-type and the OptionSetType type definition correlate.

Part 5 table 78 shows OptionSetType derives from BaseDataType. We think it should derive from OptionSet (part 3 section 8.41).

This component could also use an example to help visualize the semantics. We've attached two diagrams to reflect the two interpretations we had within the group. Please select the most appropriate diagram to help clarify the text within the spec.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Nathan Pocock

2015-10-15 17:32

viewer  

OptionsetExample1.vsd (64,512 bytes)

Nathan Pocock

2015-10-15 17:32

viewer  

OptionsetExample2.vsd (65,536 bytes)

Wolfgang Mahnke

2015-10-16 07:04

developer   ~0006339

OptionSet is a DataType and OptionSetType is a VariableType.

The intention is that you either use the DataType to represent a BitMask or the VariableType.
As a guideline you would rather use the DataType when the BitMask is fixed and used for several Variables whereas the VariableType when the BitMask is specific for that Varaible.
I think the main reason for adding the DataType (the VariableType has existed before) was that it allows the Client to write only some bits of the BitMask. With the VariableType this is not possible. So if you just want to change one Bit using the VariableType, you would need to read the Variable fist, change the one bit to what you like, hope that the BitMask has not changed and write the full BitMask.

So in a nutshell: Both are independent concepts you can use in OPC UA to represent BitMasks. We added the DataType later because it provides a required feature the VariableType does not have.

Matthias Damm

2015-10-21 15:01

developer   ~0006341

Enumeration DataTypes and MultiStateDiscreteType VariableType are exactly the same thing.

Nathan Pocock

2015-10-22 15:24

viewer   ~0006342

CMPWG Oct-22-2015:

Thanks for the clarification; this helps.

We request that some of this text be added to Part 5 to avoid confusion later.

jeffhardingabb

2016-12-15 16:24

developer   ~0007566

Add some text to Annex A and add reference to OptionSetVariableType, and MultisetDiscreteType

jeffhardingabb

2016-12-16 17:50

developer   ~0007634

In Part 5 7.17 OptionSetType an example explaining why the OptionSet DataType can be used as the DataType of an OptionSetType was added.

Jim Luth

2017-01-26 16:46

administrator   ~0007793

Agreed to changes edited in telecon.

Issue History

Date Modified Username Field Change
2015-10-15 17:31 Nathan Pocock New Issue
2015-10-15 17:32 Nathan Pocock File Added: OptionsetExample1.vsd
2015-10-15 17:32 Nathan Pocock File Added: OptionsetExample2.vsd
2015-10-16 07:04 Wolfgang Mahnke Note Added: 0006339
2015-10-21 15:01 Matthias Damm Note Added: 0006341
2015-10-22 15:24 Nathan Pocock Note Added: 0006342
2016-03-01 17:43 Jim Luth Assigned To => Wolfgang Mahnke
2016-03-01 17:43 Jim Luth Status new => assigned
2016-11-29 14:16 Jim Luth Assigned To Wolfgang Mahnke => jeffhardingabb
2016-12-15 16:24 jeffhardingabb Note Added: 0007566
2016-12-16 17:50 jeffhardingabb Note Added: 0007634
2016-12-16 17:50 jeffhardingabb Status assigned => resolved
2016-12-16 17:50 jeffhardingabb Fixed in Version => 1.04
2016-12-16 17:50 jeffhardingabb Resolution open => fixed
2017-01-26 16:46 Jim Luth Note Added: 0007793
2017-01-26 16:46 Jim Luth Status resolved => closed