Table 83 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 83 – MDISAggregateObjectType

Attribute

Value

BrowseName

MDISAggregateObjectType

IsAbstract

True

References

Node Class

BrowseName

Data Type

TypeDefinition

Other

Subtype of the MDISBaseObjectType defined in section 6.1.1

0:HasComponent

Object

<InstrumentPlaceholder>

MDISInstrumentObjectType

OP

0:HasComponent

Object

<InstrumentOutPlaceholder>

MDISInstrumentOutObjectType

OP

0:HasComponent

Object

<InstrumentArbitrationPlaceholder>

MDISInstrumentArbitrationObjectType

OP

0:HasComponent

Object

<DigitalPlaceholder>

MDISDigitalInstrumentObjectType

OP

0:HasComponent

Object

<DigitalOutPlaceholder>

MDISDigitalOutObjectType

OP

0:HasComponent

Object

<DigitalArbitrationPlaceholder>

MDISDigitalArbitrationObjectType

OP

0:HasComponent

Object

<DiscretePlaceholder>

MDISDiscreteInstrumentObjectType

OP

0:HasComponent

Object

<DiscreteOutPlaceholder>

MDISDiscreteOutObjectType

OP

0:HasComponent

Object

<DiscreteArbitrationPlaceholder>

MDISDiscreteArbitrationObjectType

OP

0:HasComponent

Object

<ValvePlaceholder>

MDISValveObjectType

OP

0:HasComponent

Object

<ChokePlaceholder>

MDISChokeObjectType

OP

0:HasComponent

Object

<ElectricChokePlaceholder>

MDISElectricChokeObjectType

OP

0:HasComponent

Object

<MotorPlaceholder>

MDISMotorObjectType

OP

0:HasComponent

Object

<CIMVPlaceholder>

MDISCIMVObjectType

OP

0:HasComponent

Object

<CounterPlaceholder>

MDISCounterObjectType

OP

HasInterlock

Variable

<InterlockPlaceholder>

InterlockVariableType

OP

ConformanceUnits

MDIS Aggregate Object

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 or a subtype of it.

<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 or a subtype of it.

<InstrumentArbitrationPlaceholder> 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 MDISInstrumentArbitrationObjectType or a subtype of it.

<DigitalPlaceholder> 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 or a subtype of it.

<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 or a subtype of it.

<DigitalArbitrationPlaceholder> 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 MDISDigitalArbitrationObjectType or a subtype of it.

<DiscretePlaceholder> 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 or a subtype of it.

<DiscreteOutPlaceholder> 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 MDISDiscreteOutObjectType or a subtype of it.

<DiscreteArbitrationPlaceholder> 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 MDISDiscreteArbitrationObjectType or a subtype of it.

<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 or a subtype of it.

<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 or a subtype of it.

<ElectricChokePlaceholder> 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 MDISElectricChokeObjectType or a subtype of it.

<MotorPlaceholder> 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 MDISMotorObjectType or a subtype of it.

<CIMVPlaceholder> 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 MDISCIMVObjectType or a subtype of it.

<CounterPlaceholder> 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 MDISCounterObjectType or a subtype of it.

<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 or a subtype of it.