The following tables detail the generic properties for the MDISAggregateObjectType; implementation shall ensure adherence to Mandatory[M] aspects to comply with the MDIS interface standardisation. Optional[O] may or may not be implemented within a project. Figure 17provides an overview of the MDISAggregateObjectTypeas defined by MDIS. This Objectis intended to be the base object for all aggregate ObjectTypes. See section 9.5for additional details on data aggregation.

image019.gif

Figure 17– MDISAggregateObjectType

Table 31defines the structure of an MDISAggregateObjectType. The MDISAggregateObjectTypeis a subtype of MDISBaseObjectTypeand requires that all subtypes include, as a minimum, the Faultinformation. All other components are Optionaland 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 MDISAggregateObjectTypeis an abstract ObjectType; instances of this ObjectTypecannot be created. Objectinstances can only be created of subtypes of this ObjectType. In OPC UA it is legal to add additional Objector Variable Reference(s) to an instance of an Object, (i.e. add Variableor Objectto an instance that are not defined in the type), but in MDIS we are restricting this in that a Clientis not required to process or handle any Objectsor Variablesthat are not part of a type.

The subtypes of MDISAggregateObjectTypeare allowed to include other subtypes of MDISAggregateObjectType. For example, a Well that is defined as a subtype of MDISAggregateObjectTypemight include an MPFMAggregateObjectType which is also a subtype of MDISAggregateObjectType.

<InstrumentPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISInstrumentObjectType.

<InstrumentOutPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISInstrumentOutObjectType.

<DigitalInstrumentPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISDigitalInstrumentObjectType.

<DiscreteInstrumentPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISDiscreteInstrumentObjectType.

<DigitalOutPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISDigitalOutObjectType.

<DiscreteOutPlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a sub type. Each object instance shall have a unique BrowseNameand must be of MDISDiscreteOutObjectType.

<ValvePlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISValveObjectType.

<ChokePlaceholder> denotes that a subtype of this ObjectTypemay define any number of Objectsof this type as part of a subtype. Each object instance shall have a unique BrowseNameand must be of MDISChokeObjectType.

<InterlockPlaceholder> denotes that a subtype of this VariableTypemay define any number of Variablesof this type as part of a subtype. Each Variableinstance shall have a unique BrowseNameand must be of InterlockVariableType.