The following section details the generic MDISMotorObjectType structure and defines the properties associated with controlling a Motor. This is in general a vendor and operator independent description, but all users of the MDISMotorObjectType can add vendor specific data. The vendor specific data should be defined as part of a subtype of the MDISMotorObjectType defined in this document. It is assumed that the subsea system is the Server and host of the instance of the MDISMotorObjectType. The DCS based system is the Client in the system. It is assumed that all interactions with the instance of the MDISMotorObjectType are initiated by the Client and are directed to the Server.

The following section details the MDIS generic properties for the MDISMotorObjectType. Implementation shall ensure adherence to Mandatory [M] aspects in order to comply with the MDIS interface standardisation. Optional [O] may or may not be implemented within a project. Figure 20 provides an overview of the MDISMotorObjectType as defined by MDIS, including some nested types. Figure 20 includes all of the items that are inherited from the MDISBaseObjectType.

image024.png

Figure 20 – MDISMotorObjectType

Table 74 defines the structure of an MDISMotorObjectType. Any vendor specified properties that have been implemented within a project should be documented with a similar format and supplied to the DCS vendor. The addition of vendor specific properties will result in a subtype of the MDISMotorObjectType. When an MDISMotorObjectType Instance is disabled the MDISBaseObjectType defaults are followed - no additional values will be available.

Table 74 – MDISMotorObjectType

Attribute

Value

BrowseName

MDISMotorObjectType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the MDISBaseObjectType

0:HasComponent

Variable

Running

0:Boolean

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

Operation

MotorOperationEnum

0:BaseDataVariableType

M, RO

0:HasComponent

Variable

NonDefeatableStartInterlock

0:Boolean

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

DefeatableStartInterlock

0:Boolean

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

NonDefeatableStopInterlock

0:Boolean

0:BaseDataVariableType

O, RO

0:HasComponent

Variable

DefeatableStopInterlock

0:Boolean

0:BaseDataVariableType

O, RO

HasInterlock

Variable

<InterlockPlaceholder>

0:Boolean

InterlockVariableType

OP, RO

0:HasComponent

Method

Start

See 6.11.4

O

0:HasComponent

Method

Stop

See 6.11.5

O

0:HasComponent

Method

SetOperation

See 6.11.6

O

ConformanceUnits

MDIS Motor Base

Running – Feedback from the motor if it is running (or not). If the motor is running it returns True.

Operation – There are three different operation modes: Auto, Manual and Off. In Auto operation the process sends the Start and Stop command automatically (not from an Operator). In Manual operation the Start and Stop process is executed by the operator manually (e.g. by using the Start and Stop methods). When the operation mode is set to Off, the motor may not be started either automatically or manually. If Manual Operation is supported, then the Start and Stop Methods shall be exposed.

NonDefeatableStartInterlock – The Start command is interlocked and cannot be overridden.

DefeatableStartInterlock – The Start command is interlocked and can be overridden.

NonDefeatableStopInterlock – The Stop command is interlocked and cannot be overridden.

DefeatableStopInterlock – The Stop command is interlocked and can be overridden.

<InterlockPlaceholder > – The number of interlock Variables will change based on the project and even Motor instance. The Variables shall be of InterlockVariableType or a subtype of it. They shall be referenced by a HasInterlock Reference and shall contain an InterlockFor Reference. Clients can use this information to categorise the interlocks appropriately.

The MDISMotorObjectType is a subtype of MDISBaseObjectType and inherit the FaultCode Variable. The MDISMotorObjectType defines the standard FaultCodes (for bits 0-15 as defined in 6.2.2) in Table 75 (currently empty, no additional warning codes defined). All subtypes of this the MDISMotorObjectType will inherit all FaultCodes defined in this table. Subtypes may define additional FaultCodes in their own table.

Table 75 MDISMotorObjectType FaultCode Values

Value

Bit no.

Description

The MDISMotorObjectType defines the standard WarningCodes (for bits 0-15 as defined in 6.2.2) in Table 76 (currently empty, no additional warning codes defined). All subtypes of this the MDISMotorObjectType will inherit all WarningCodes defined in this table. Subtypes may define additional WarningCodes in their own table.

Table 76 MDISMotorObjectType WarningCode Values

Value

Bit no.

Description

Start Method is used to start the Motor.

Signature:

Start (

[in] 0:Boolean OverrideInterlocks);

Table 77 – Start Method Arguments

Argument

Description

OverrideInterlocks

Boolean indicating if the Start command should override any interlocks

Method result codes are defined as part of the Call Service (see OPC 10000-4). They are described in Table 124 for ease of reference. This method shall return Bad_InvalidState if it is invoked and the operation model is not Manual. If the motor is running this command is ignored.

Comments

The Start Method command tries to start the Motor.

Table 67 specifies the AddressSpace representation for the Start Method.

Table 78 – Start AddressSpace Definition

Attribute

Value

BrowseName

Start

References

Node Class

BrowseName

DataType

TypeDefinition

Other

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

ConformanceUnits

MDIS Motor Start/Stop

Stop Method is used to stop the Motor.

Signature:

Stop (

[in] 0:Boolean OverrideInterlocks);

Table 79 – Stop Method Arguments

Argument

Description

OverrideInterlocks

Boolean indicating if the Stop command should override any interlocks

Method result codes are defined as part of the Call Service (see OPC 10000-4). They are described in Table 124 for ease of reference. This method shall return Bad_InvalidState if it is invoked and the operation model is not Manual. If the motor is not Running this command is ignored.

Comments

The Stop Method commands the Motor to stop.

Table 80 specifies the AddressSpace representation for the Stop Method.

Table 80 – Stop AddressSpace Definition

Attribute

Value

BrowseName

Stop

References

Node Class

BrowseName

DataType

TypeDefinition

Other

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

ConformanceUnits

MDIS Motor Start/Stop

SetOperation Method is used to set the Operation of the Motor.

Signature:

SetOperation (

[in] MotorOperationEnum Mode);

Table 81 – SetOperation Method Arguments

Argument

Description

Mode

Mode to operate in (i.e., Auto, Manual or Off)

Method result codes are defined as part of the Call Service (see OPC 10000-4). They are described in Table 124 for ease of reference.

Comments

The SetOperation Method commands the Operation.

Table 82 specifies the AddressSpace representation for the SetOperation Method.

Table 82 – SetOperation AddressSpace Definition

Attribute

Value

BrowseName

SetOperation

References

Node Class

BrowseName

DataType

TypeDefinition

Other

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

M

ConformanceUnits

MDIS Motor Operation