View Issue Details

IDProjectCategoryView StatusLast Update
000863540001: MachineryImplementation Bugpublic2024-01-30 10:28
ReporterRandy Armstrong Assigned ToHeiko Herden  
PrioritynormalSeverityminorReproducibilityhave not tried
Status acknowledgedResolutionopen 
Summary0008635: Machinery never actually defines the MachineryBuildingBlocks Object.
Description

Machinery never actually defines the MachineryBuildingBlocks Object.
It only references it in as an example:
https://reference.opcfoundation.org/Machinery/v102/docs/6.3

There needs to update the specification to add a formal definition of the MachineryBuildingBlocks Object and then add that Object to the NodeSet.

The MachineryTool autogenerated code cannot be built without this fix.

TagsNo tags attached.

Relationships

related to 0008640 closedRandy Armstrong NodeSets, XSDs and Generated Code Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined. 

Activities

Wolfgang Mahnke

2023-01-21 17:04

developer   ~0018546

There is not one "MachineryBuildingBlocks" Object. Each Machine can have such an Object. The specification just defines a standardized BrowseName for that (like Devices does for specific functional groups) and states that the FolderType should be used. I do not see any need (nor mechanism) to do a more formal definition that would be reflected in the UaNodeSet without unreasonable and potentially breaking changes.

Randy Armstrong

2023-01-21 17:11

administrator   ~0018547

The issue is code generators need something in the NodeSet to trigger the generation of a constant for the MachineryBuildingBlocks BrowseName.
We do this with Properties by include unattached Variables. The same is needed for MachineryBuildingBlocks.

This is a real issue: the code generated for the MachineTool NodeSet assumes a constant is defined in the Machinery spec because the Namespace of the MachineryBuildingBlocks component is the Machinery specification. There is no work around that does not require hand editing auto-generated code or a complete rewrite of generators.

As general principle: if a specification defines a normative BrowseName like MachineryBuildingBlocks then that BrowseName must appear in the NodeSet.

Heiko Herden

2024-01-30 10:28

manager   ~0020727

We will add a template node to the NodeSet once it is defined in the Base Spec. See related Mantis Issue (0008640).

Issue History

Date Modified Username Field Change
2023-01-20 15:00 Randy Armstrong New Issue
2023-01-21 17:04 Wolfgang Mahnke Note Added: 0018546
2023-01-21 17:11 Randy Armstrong Note Added: 0018547
2023-01-23 09:55 Randy Armstrong Relationship added related to 0008640
2024-01-30 10:28 Heiko Herden Assigned To => Heiko Herden
2024-01-30 10:28 Heiko Herden Status new => acknowledged
2024-01-30 10:28 Heiko Herden Note Added: 0020727