View Issue Details

IDProjectCategoryView StatusLast Update
000018810000-005: Information Modelpublic2011-09-27 16:49
ReporterKarl Deiretsbacher Assigned ToWolfgang Mahnke  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Fixed in Version1.02 
Summary0000188: Bit-Field dataType
Description

Devices commonly use bit-fields where each bit typically represents the status of some I/O, Alarm or the like.
In UA we have not specified a standard way to handle bit-fields. Therefore, some servers will use separate items, some will use arrays of bool, some servers will use complex types, some will just use an integer. Interoperability will be difficult to achieve.

I propose to explicitly support Bit-Fields up to 32 Bits. The value should look as follows:

  typedef struct
  {
       Value       UInt32;
       Valid       UInt32;
  } BitField;

"Value" would contain the Bit-Field. The "Valid" field specifies which bits are used.
On a Read (DataChange) "Valid" specifies all bits that have meaning.
On a Write the client specifies which bits it wants to be modified.

I propose to use a 32 Bit Integer so that the structure fits inside the Variant value (total of 64 bit).

In addition to this new DataType I propose a new Property "BitFieldDescription" with 32 entries of

  typedef struct
  {
       Name         String;
       Description  String;
  } BitDescription;

For missing (invalid) Bits the corresponding structure contains NULL Strings.
Alternatively we could add a BitNumber (0..31) to the structure. That way the array could only contain entries for valid Bits.

The property should be specified in Part 5 since Bit-Fields could be used in various information specs (DA and A&C in particular).

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Wolfgang Mahnke

2011-09-10 06:27

developer   ~0002935

Fixed in version 1.02.14

Added a simple data type based on UInt64 representing the strcut defined in mantis issue. Seconf part of issue is captured by OptionSet variable type.

Randy Armstrong

2011-09-27 16:49

administrator   ~0003032

Discussed in telecon.

Issue History

Date Modified Username Field Change
2007-08-10 13:14 Karl Deiretsbacher New Issue
2011-03-16 22:28 Randy Armstrong Project Feature Requests => 10000-005: Information Model
2011-05-10 16:05 Randy Armstrong Status new => assigned
2011-05-10 16:05 Randy Armstrong Assigned To => Wolfgang Mahnke
2011-09-10 06:27 Wolfgang Mahnke Status assigned => resolved
2011-09-10 06:27 Wolfgang Mahnke Fixed in Version => 1.02
2011-09-10 06:27 Wolfgang Mahnke Resolution open => fixed
2011-09-10 06:27 Wolfgang Mahnke Note Added: 0002935
2011-09-27 16:49 Randy Armstrong Issue cloned: 0001769
2011-09-27 16:49 Randy Armstrong Status resolved => closed
2011-09-27 16:49 Randy Armstrong Note Added: 0003032