View Issue Details

IDProjectCategoryView StatusLast Update
000151510000-008: Data Accesspublic2012-07-26 20:22
ReporterWolfgang Mahnke Assigned ToWolfgang Mahnke  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.01 
Fixed in Version1.02 
Summary0001515: Integration of some ADI data types into base specification
Description

Some data types currently defined in ADI could be applied in a broad range of applications like power spectrum, visible image, etc.

Those data types include:
ComplexType, DoubleComplexType
ArrayItemType, YArrayItemType, XYArrayItemType, ImageArrayItemType, CubeArrayItemType, NDimensionArrayItemType
AxisInformation

Should we move them into the base or how do we deal with this at in general?
(concepts defined in companion specifications that seems to be more fundamental and would make sense in the base)

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0002020 resolvedClaude Lafond 10020: Analyzer Device Integration (ADI) Integration of some ADI data types into base specification 
related to 0002082 closedRandy Armstrong NodeSets, XSDs and Generated Code Integration of some ADI data types into base specification requires changes to nodeset file 
related to 0002139 closedPaul Hunkar 10000-007: Profiles Integration of some ADI data types into base specification 

Activities

Claude Lafond

2011-08-31 06:02

reporter   ~0002883

ComplexType and DoubleComplexType are the equivalent structure used in many old and modern programming languages like Fortran, C/C++,... they should be considered as base type like int or float. The order is important, real part first if we want to minimize user pain!

When we are dealing with advanced systems that use or produce complex data structures like spectrum, histograms or distributions, the typical problem is how do we make sure the user will be able to understand the real meaning of the data. For example, take the power spectrum of an RF emitter, how do we describe it:
1) An array of float numbers where each element represents the power for a given delta of frequency
2) What is the typical range of this data
3) What is the maximum range of this data
4) The start and end frequency of this spectrum
5) The frequency of each data point if they are not evenly spaced
6) The units of the X axis which is the frequency (MHz or GHz)
7) The units of the Y axis which is the power (W, KW, MW)

These are the very minimum information required to understand the data itself, but to make things crystal clear to the external users we should add:
8) Description title of the X axis: "Frequency"
9) Description title of the Y axis: "Power distribution"
10) General description of the entity: "Power distribution of RF emitter XYZ at 25C"
11) How should we display this data: Linear scale or logarithmic scales. This is per axis obviously.

As you can see, this is the same kind of discussions as we had about needs of defining units on DataItem in Part 8. In the past, the lack of having standard definition for array data has caused a lot of compatibiliy problems between systems and cost a fortume in terms of time to develop conversion routines and in terms of processing time, not to say that a lot of time was spent trying to guess what are the axis and unit definition!!

The types define in ADI is a first attempt to provide this standard definition (we really need them to be able to have a robust specification) where ArrayItemType and AxisInformation are the building pieces.

  • YArrayItemType is used to describe 1D sutructure like Spectrum or Histogram distribution,... where the X axis is not changing between updates to often

  • XYArrayItemType is used to describe 1D sutructure like Spectrum or Histogram distribution,... where the X axis is changing between each update, for example a list of peak positions.

  • ImageItemType is used to describe 2D sutructure like number of items per square inches in a given surface. In this case, it is not to represent visible image that may b ecompressed, it is for a set of 2D data where we need exact values and easy access to specific eleents.

  • CubeItemType is used to describe 3D sutructure like density of paint particles in a cloud produced by the nozzle of a painting robot.

  • NDimensionArrayItemType is just a generalization of the concept.

If we want to generalized these ADI types, I will suggest to remove the Offset property from the ArrayItemType because it is really used in the context of the ADI specfication. The drawback of doing so, will force small adjustments to the ADI specification, ADI will have to extend the YArrayItemType, XYArrayItemType, ... to include the Offset property in ADI, but this is a very small penality to pay if this gives to the community a standard way to express these structures, so users will know what they are dealing with.

From my point of view:
1) ComplexType and DoubleComplexType shall become base type like int or float
2) Possible datatypes of the arrray data of these structures shall include Byte, UInt16 and UInt32.
3) These types shall be moved from ADI spec to OPC UA Part 3 and become just standard types.
4) ADI spec shall be updated to reflect these changes, which is not difficult to do, neither long.

Jim Luth

2012-04-27 13:27

administrator   ~0003623

In telecon on 2012-04-24 we agreed to move the following types from ADI to Part 8:

ComplexType
DoubleComplexType
ArrayItemType
YArrayItemType
XYArrayItemType
ImageArrayItemType
CubeArrayItemType
NDimensionArrayItemType
AxisInformation

Wolfgang will edit these into Part 8 for the 1.02 release. Claude will make the corresponding edits to remove them from ADI and reference them in Part 8.

Wolfgang Mahnke

2012-06-12 17:28

developer   ~0003734

Added types

Jim Luth

2012-06-12 17:29

administrator   ~0003735

Reviewed and made final edits 1.02.13

Issue History

Date Modified Username Field Change
2011-02-23 18:23 Wolfgang Mahnke New Issue
2011-02-23 18:23 Wolfgang Mahnke Status new => assigned
2011-02-23 18:23 Wolfgang Mahnke Assigned To => Wolfgang Mahnke
2011-08-31 06:02 Claude Lafond Note Added: 0002883
2012-02-07 21:28 Jim Luth Project 10000-005: Information Model => Feature Requests
2012-04-27 13:27 Jim Luth Note Added: 0003623
2012-04-27 13:27 Jim Luth Project Feature Requests => 10000-008: Data Access
2012-04-27 13:29 Jim Luth Issue cloned: 0002020
2012-04-27 13:29 Jim Luth Relationship added related to 0002020
2012-06-12 17:28 Wolfgang Mahnke Status assigned => resolved
2012-06-12 17:28 Wolfgang Mahnke Resolution open => fixed
2012-06-12 17:28 Wolfgang Mahnke Note Added: 0003734
2012-06-12 17:29 Jim Luth Status resolved => closed
2012-06-12 17:29 Jim Luth Note Added: 0003735
2012-06-12 17:29 Jim Luth Fixed in Version => 1.02
2012-06-18 15:40 Jim Luth Issue cloned: 0002082
2012-06-18 15:40 Jim Luth Relationship added related to 0002082
2012-07-26 20:22 Jim Luth Issue cloned: 0002139
2012-07-26 20:22 Jim Luth Relationship added related to 0002139