This approach uses the OPC UA FX model type definitions as a starting point for the creation of a sub-model, as illustrated in Figure B.1. Objects can be derived from OPC UA FX base ObjectTypes to create new ObjectTypes.
The sub-types might define a fixed set of optional items like in MyAssetType, which fixed optional IVendorNameplateType variables (i.e., making them mandatory). It may define a fixed structure of Connectors or a structure for the given Asset. Creating sub-types might also define fixed Variable(s) that all instances would contain, such as the ConfigurationData in MyFunctionalEntityType. It may define fixed ControlGroups or a fixed group of SubFunctionalEntities. Then, all instances of these types would include the provided structures, extensions, or other functionality. These sub-types might also contain Objects, Variables, or Methods that have no bearing on the OPC UA FX model.
When to use this approach:
- Creating an Information Model for a new companion specification, where all instances of the new model are expected to provide the described functionality. OPC UA FX facets like Motion and IO may provide their own derived types.
- Creating an Information Model for a new vendor-specific specification. This is especially true for asset models, where a vendor would want to represent the hardware that they sell.
- Creating a customer/application-specific Information Model. This would typically be related to functional models that would want to be standardized for use between multiple devices.