View Issue Details

IDProjectCategoryView StatusLast Update
000867610000-008: Data AccessApi Changepublic2023-08-14 13:38
ReporterMarius-Petru Stanica Assigned To 
PriorityhighSeverityfeatureReproducibilityhave not tried
Status acknowledgedResolutionopen 
Summary0008676: Integer-based alternative for AnalogUnitRangeType needed by e.g. UA FX Motion WG
Description

An alternative for the AnalogUnitRangeType should be created, that allows e.g. FX Motion to define variables with an Integer data type along with a range (min/max value) as Integer data types. The variable should be able to contain a unit.

We consider that potentially two elements are required:

  • the definition of a range type for integer values, similar to Range data type
  • the definition of a new variable type that contains the above range type together with a unit (similar to the object hierarchy of AnalogUnitRangeType)
Additional Information

UA FX Motion WG will come with a proposal for discussion. The topic may be interesting for other WGs and following discussions with Wolfgang Mahnke in VDMA Powertrain WG it could be potentially defined as a core component.

TagsBlocked
Commit Version
Fix Due Date

Activities

Mark Cooper

2023-02-13 18:38

reporter   ~0018708

Double datatype loses precision (resolution) for values > 2^52. It is not possible to define a range of [-2^63 .. 2^63-1], or [0..2^64-1] using double. Two cases where using a range type of double for a variable type of UINT64 or INT64 can cause malfunctions are for variables of UTC time and position in encoder increments. Motion applications apply UTC time stamps to events. 52 bit precision in defining range will result in loss of time precision 142.8 years after the time reference (1970). Granted that is far in the future. However, time precision is lost for the next 584,799 years of the available 584,942 years supported by the UINT64 datatype.
Motion applications will malfunction if position command or feedback loses precision. There are motion applications that run in one direction for the life of a machine (e.g., a rotary turret used to fill bottles). Position as an INT64 counts up to 2^63-1 and then rolls over to -2^63 with no loss of precision. Position as a double will count to much larger values at the expense of loss of precision. This is not acceptable. The position variable and the position ranges need to have the same precision (datatype).

Jeff Harding

2023-06-12 12:48

developer   ~0019477

After discussing with Marius we concluded that the Double used in Range will not meet the requirements of motion.
Since Range is fixed as a Double there is no way to use Range for this use case. Any change to Range would be a breaking change and therefore not an option.
Recommended that the Motion group look at subtyping BaseAnalogType to include two individual sub-properties representing the low and high range with a DataType of Number.
Also suggested they propose this type to the Harmonization group to see if there would be applicability of this new type beyond Motion.
Marius will bring this back to the Motion group.

Mark Cooper

2023-06-12 17:50

reporter   ~0019478

The Motion WG discussed our options. The plan is that the WG shall propose a new variable (or object) type that extends the capabilities of AnalogUnitRangeType for motion requirements. It will consider:
o Properties for min & max values
o A range property with a data type that matches the variable value data type.
o Motion specific needs for write access control.
Once the motion WG has a solid proposal, we shall provide this to the Harmonization WG for consideration for part 8. We should share the new type with the Instruments WG to assess their interest.

Jim Luth

2023-08-01 16:47

administrator   ~0019765

Blocked - waiting for proposal from Motion WG.

Mark Cooper

2023-08-14 13:38

reporter   ~0019867

The Motion WG discussed our options. The plan is that the WG shall propose a New variable (or object) type that extends the capabilities of AnalogUnitRangeType for motion requirements. It will consider:

  • properties for min & max values
  • A range property with a data type that matches the variable value data type.
  • Motion specific needs for write access control (i.e. write access based on Functional Entity state).
    Once the motion WG has a solid proposal, we shall provide this to the Harmonization WG for consideration for part 8. We should share the new type with the Instruments WG to assess their interest.

Issue History

Date Modified Username Field Change
2023-02-06 10:53 Marius-Petru Stanica New Issue
2023-02-06 15:34 Randy Armstrong Project Core Components => 10000-003: Address Space
2023-02-06 15:34 Randy Armstrong Category Feature Request => Api Change
2023-02-13 18:38 Mark Cooper Note Added: 0018708
2023-04-11 17:17 Jim Luth Assigned To => Jeff Harding
2023-04-11 17:17 Jim Luth Status new => assigned
2023-06-12 12:48 Jeff Harding Note Added: 0019477
2023-06-12 17:50 Mark Cooper Note Added: 0019478
2023-07-25 16:28 Jim Luth Assigned To Jeff Harding =>
2023-07-25 16:28 Jim Luth Status assigned => acknowledged
2023-07-25 16:29 Jim Luth Project 10000-003: Address Space => 10000-008: Data Access
2023-08-01 16:47 Jim Luth Tag Attached: Blocked
2023-08-01 16:47 Jim Luth Note Added: 0019765
2023-08-14 13:38 Mark Cooper Note Added: 0019867