06/29/2021
Hello,
I cannot determine if it is possible to add Vender original nodes into the address space of the Companion specification.
Please give me some advice.
For example, add a “Log” node into the “Controller” node.
The “Log” node is vender original. The type of the “Controller” node is “ControllerType” defined at OPC 40010-1: Robotics.
The “Log” node is not defined in “ControllerType”; same for the BaseType of the “ControllerType”.
I think of 3 pattern:
1. I add a “Log” node into the “Controller” node without changing the definitions.
2. I create a “MyControllerType” that inherits from “ControllerType” and add a Log node definition to it.
3. I add “Log” node outside of the “Controller” node. I don’t place vender original node within the address space of the Companion Spec.
Which pattern should I choose? Or is there a better way?
Thank you in advance for your help.
05/30/2017
Instances of ObjectTypes may have children that are not defined by the TypeDefinition so it is legal to add the ‘Log’ node. However, since it is vendor defined Node the NamespaceIndex for the BrowseName of the Log Node must point to a vendor NamepaceUri.
You could add a subtype but it is not necessary. If you expect to add a ‘Log’ to many different Objects then defining an Interface makes most sense: https://reference.opcfoundatio…..5/docs/4.9
06/29/2021
Randy Armstrong said
Instances of ObjectTypes may have children that are not defined by the TypeDefinition so it is legal to add the ‘Log’ node. However, since it is vendor defined Node the NamespaceIndex for the BrowseName of the Log Node must point to a vendor NamepaceUri.You could add a subtype but it is not necessary. If you expect to add a ‘Log’ to many different Objects then defining an Interface makes most sense: https://reference.opcfoundatio…..5/docs/4.9
I understood very well. Thank you very much.
1 Guest(s)