View Issue Details

IDProjectCategoryView StatusLast Update
000840230050: PackMLApi Changepublic2025-11-04 16:54
ReporterElliot Gawthrop Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Summary0008402: ProductionMaintenanceModeEnum is not compliant
Description

OPC 30050 6.5.2 states:
If vendor specific or end user specific mode enumerations are included, they shall be defined as a subtype of ProductionMaintenanceModeEnum.

OPC 10000-3 8.14 states:
Any enumeration DataType not directly inheriting from the Enumeration DataType can only restrict the enumeration values of its supertype. That is, it shall neither add enumeration values nor change the text associated to the enumeration value.

TagsNo tags attached.

Activities

Jim Luth

2025-11-04 16:53

administrator   ~0023495

Last edited: 2025-11-04 16:54

We discussed this issue today in the UA Working Group meeting. The restrictions in Part 3 that disallow subtyping of Enums is there for 2 reasons:

  1. An enum subtype theoretically fails the OOP "isA" test.
  2. An enum subtype will not work with the XML encoding as the parser will abort when it encounters a new enum value introduced by the subtype.

With UA Binary, stacks are forgiving of values that are not defined by the base Enum so PackML implementations have been successfully getting away with this violation in practice.

RECOMENDATION: The PackML spec should be updated with a note to explain this violation of the rule in Part 3 and its incompatibility with the XML encoding, but otherwise not be "fixed" to preserve compatibility with existing PackML apps.

Issue History

Date Modified Username Field Change
2022-10-11 19:16 Elliot Gawthrop New Issue
2025-11-04 16:53 Jim Luth Note Added: 0023495
2025-11-04 16:54 Jim Luth Note Edited: 0023495