Table 31 defines the structure of an MDISAggregateObjectType. The MDISAggregateObjectType is a subtype of MDISBaseObjectType and requires that all subtypes include, as a minimum, the Fault information. All other components are Optional and only components that are required by the aggregate are needed.
Table 31 – MDISAggregateObjectType
Attribute |
Value |
|||||
BrowseName |
MDISAggregateObjectType |
|||||
IsAbstract |
True |
|||||
References |
Node Class |
BrowseName |
Data Type |
TypeDefinition |
ModellingRule |
RW |
Subtype of the MDISBaseObjectType defined in section 5.1.1 |
|
|||||
HasComponent |
Object |
<InstrumentPlaceholder> |
|
MDISInstrumentObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<InstrumentOutPlaceholder> |
|
MDISInstrumentOutObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<DigitalInstrumentPlaceholder> |
|
MDISDigitalInstrumentObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<DiscreteInstrumentPlaceholder> |
|
MDISDiscreteInstrumentObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<DigitalOutPlaceholder> |
|
MDISDigitalOutObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<DiscreteOutPlaceholder> |
|
MDISDiscreteOutObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<ValvePlaceholder> |
|
MDISValveObjectType |
Optional Placeholder |
|
HasComponent |
Object |
<ChokePlaceholder> |
|
MDISChokeObjectType |
Optional Placeholder |
|
HasComponent |
Variable |
<InterlockPlaceholder> |
|
InterlockVariableType |
Optional Placeholder |
|
The MDISAggregateObjectType is an abstract ObjectType; instances of this ObjectType cannot be created. Object instances can only be created of subtypes of this ObjectType. In OPC UA it is legal to add additional Object or Variable Reference(s) to an instance of an Object, (i.e. add Variable or Object to an instance that are not defined in the type), but in MDIS we are restricting this in that a Client is not required to process or handle any Objects or Variables that are not part of a type.
The subtypes of MDISAggregateObjectType are allowed to include other subtypes of MDISAggregateObjectType. For example, a Well that is defined as a subtype of MDISAggregateObjectType might include an MPFMAggregateObjectType which is also a subtype of MDISAggregateObjectType.
<InstrumentPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISInstrumentObjectType.
<InstrumentOutPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISInstrumentOutObjectType.
<DigitalInstrumentPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISDigitalInstrumentObjectType.
<DiscreteInstrumentPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISDiscreteInstrumentObjectType.
<DigitalOutPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISDigitalOutObjectType.
<DiscreteOutPlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a sub type. Each object instance shall have a unique BrowseName and must be of MDISDiscreteOutObjectType.
<ValvePlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISValveObjectType .
<ChokePlaceholder> denotes that a subtype of this ObjectType may define any number of Objects of this type as part of a subtype. Each object instance shall have a unique BrowseName and must be of MDISChokeObjectType.
<InterlockPlaceholder> denotes that a subtype of this VariableType may define any number of Variables of this type as part of a subtype. Each Variable instance shall have a unique BrowseName and must be of InterlockVariableType.