6.1 Overview

The following sections define the basic OPC UA Objects defined by MDIS. This includes Method definition as needed. The use cases / object interactions for each Object are defined in a separate section.

6.1.1 MDISBaseObjectType

The MDISBaseObjectType (see 6.2) is a base object that all other MDIS objects are constructed from. It is an abstract ObjectType and instances of it shall not exist. This Object will be used to create subtypes.

6.1.2 MDISDiscreteInstrumentObjectType

The MDISDiscreteInstrumentObjectType (see 6.3) is a base type and can be subtyped or instances of it can be directly created. The Object can be used with multi-state type of data (stopped, moving, faulted). It could also be used for instruments that report integer values. For a limit switch or on / off switch the MDISDigitalInstrumentObjectType should be used.

6.1.3 MDISDiscreteOutObjectType

The MDISDiscreteOutObjectType (see 6.3.4) is a subtype of MDISDiscreteInstrumentObjectType and can be subtyped or instance of it can be directly created. The Object can be used for Tristate or Multistate switches.

6.1.4 MDISDiscreteArbitrationObjectType

The MDISDiscreteArbitrationObjectType (see 6.3.6) is a subtype of MDISDiscreteInstrumentObjectType and can be subtyped or instance of it can be directly created. It adds inputs that can be selected according to the arbitration mode.

6.1.5 MDISDigitalInstrumentObjectType

The MDISDigitalInstrumentObjectType (see 6.4) is a base type and can be subtyped or instance of it can be directly created. The Object can be used to represent on / off type of functions.

6.1.6 MDISDigitalOutObjectType

The MDISDigitalOutObjectType (see 6.4.4) is a subtype of MDISDigitalInstrumentObjectType and can be subtyped or instance of it can be directly created. The Object can be used for switching on / off types.

6.1.7 MDISDigitalArbitrationObjectType

The MDISDigitalArbitrationObjectType (see 6.4.6) is a subtype of MDISDigitalInstrumentObjectType and can be subtyped or instance of it can be directly created. It adds inputs that can be selected according to the arbitration mode.

6.1.8 MDISInstrumentObjectType

The MDISInstrumentObjectType (see 6.5.3) is a base type and can be subtyped or instances of it can be directly created. The Object can be used for various types of analogues, e.g. pressure, temperatures, tank levels etc.

6.1.9 MDISInstrumentOutObjectType

The MDISInstrumentOutObjectType (see 6.5.4) is a subtype of MDISInstrumentObjectType and can be subtyped or instance of it can be directly created. The Object can be used for writing floating point values.

6.1.10 MDISInstrumentArbitrationObjectType

The MDISInstrumentArbitrationObjectType (see 6.5.6) is a subtype of MDISInstrumentObjectType and can be subtyped or instance of it can be directly created. It adds inputs that can be selected according to the arbitration mode.

6.1.11 MDISChokeObjectType

The MDISChokeObjectType (see 6.6.3) is a base type and can be subtyped or an instance of it can be directly created. A choke is a device that restricts the flow of a fluid (gases, liquids, fluidised solids, or slurries).

6.1.12 MDISElectricChokeObjectType

The MDISElectricChokeObjectType (see 6.7.3) is a base type and can be subtyped or an instance of it can be directly created. An electric choke is a device that restricts the flow of a fluid (gases, liquids, fluidised solids, or slurries) and can be positioned more precisely than a standard Choke.

6.1.13 MDISValveObjectType

The MDISValveObjectType (see 6.8.3) is a base type and can be subtyped or an instance of it can be directly created. A valve is a device that directs or controls the flow of a fluid (gases, liquids, fluidised solids, or slurries). The MDISValveObjectType represents a two-state valve type.

6.1.14 MDISCIMVObjectType

The MDISCIMVObjectType (see 6.9.3) is a base type and can be subtyped or an instance of it can be directly created. The CIMV (Chemical Injection Metering Valve) is used to regulate the flow of chemicals to a well. It can report optional housekeeping data.

6.1.15 MDISMotorObjectType

The MDISMotorObjectType (see 6.11.3) is a base type and can be subtyped or an instance of it can be directly created. A motor is a device that is used to power pump

6.1.16 MDISAggregateObjectType

The MDISAggregateObjectType (see 6.12.2) is an abstract type that all aggregate ObjectTypes shall be derived from. This ObjectType allows Clients to easily identify aggregate Objects. For more information about aggregation see 10.5

6.1.17 MDISCounterObjectType

The MDISCounterObjectType (see 6.10.3) is a base type, it is not envisioned that this object will be subtyped, but rather that this object is used as part of other aggregate objects. It provides the capability of resetting counters to some initial value.

6.1.18 MDISTimeSyncObjectType

The MDISTimeSyncObjectType (see 6.13.3) is a base ObjectType. An instance of this ObjectType shall be exposed as part of the MDISInformationObjectType, if the MDISTimeSyncObjectType is supported.

6.1.19 MDISInformationObjectType

The MDISInformationObjectType (see 6.14) is a base ObjectType. An instance of this ObjectType shall be exposed under the Objects folder. It provides information about the MDIS Information model that is supported by the Server. It can also expose additional information related to MDIS.