An OPC UA companion specification for an industry specific vertical market describes an InformationModel by defining ObjectTypes, VariableTypes, DataTypes and ReferenceTypes that represent the concepts used in the vertical market. Table 3 contains an example of an ObjectType definition.
Table 3 - Example ObjectType Definition
Attribute |
Value |
||||
BrowseName |
BoilerType |
||||
IsAbstract |
False |
||||
Reference |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType from Part 3 – Address Space Model. |
|||||
|
|
|
|
||
HasProperty |
Variable |
Pressure |
Double |
PropertyType |
Mandatory |
HasProperty |
Variable |
Temperature |
Float |
PropertyType |
Mandatory |
HasProperty |
Variable |
Flow |
Double |
PropertyType |
Optional |
The BrowseName is a non-localised name for an ObjectType.
IsAbstract is a flag indicating whether instances of the ObjectType can be created. If IsAbstract is FALSE then instances of this ObjectType may be created. If IsAbstract is TRUE then instances of the ObjectType cannot be created, the ObjectType must be subtyped.
The bottom of the table lists the child Nodes for the type. The Reference column is the type of Reference between the Object instance and the child Node. The NodeClass is the class of Node. The BrowseName is the non-localised name for the child. The DataType is the structure of the Value accessible via the Node (only used for Variable NodeClass Nodes) and the TypeDefinition is the ObjectType or VariableType for the child.
The ModellingRule indicates whether a child is Mandatory or Optional. It can also indicate cardinality. Note that the BrowseName is not defined if the cardinality is greater than 1. Figure 6 visually depicts the ObjectType defined in Table 3 along with two instances of the ObjectType. The first instance includes the Optional Property while the second does not.