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.
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 |
|||||
Start |
||||||
References |
Node Class |
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 |
|||||
Stop |
||||||
References |
Node Class |
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 |
|||||
SetOperation |
||||||
References |
Node Class |
DataType |
TypeDefinition |
Other |
||
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
M |
|
ConformanceUnits |
||||||
MDIS Motor Operation |