Table 20 defines the structure of an MDISChokeObjectType. Any vendor specified properties that have been implemented within a project should be documented within a similar format and supplied to the DCS vendor. The addition of vendor specific properties will result in a subtype of the MDISChokeObjectType. When an MDISChokeObjectType Instance is disabled the MDISBaseObjectType defaults are followed and only the StepDurationOpen, StepDurationClose and TotalSteps values will be available.

Table 20 - MDISChokeObjectType

Attribute

Value

BrowseName

MDISChokeObjectType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

ModellingRule

RW

Subtype of the MDISBaseObjectType

HasComponent

Variable

CalculatedPosition

Float

BaseDataVariableType

Mandatory

R

HasComponent

Variable

SetCalculatedPositionStatus

SetCalculatedPositionEnum

BaseDataVariableType

Optional

R

HasComponent

Variable

PositionInSteps

Int16

BaseDataVariableType

Optional

R

HasComponent

Variable

Moving

ChokeMoveEnum

BaseDataVariableType

Mandatory

R

HasComponent

Variable

CommandRejected

Boolean

BaseDataVariableType

Optional

R

HasComponent

Method

Move

See 5.6.4

Mandatory

HasComponent

Method

Step

See 5.6.5

Optional

HasComponent

Method

Abort

See 5.6.6

Mandatory

HasComponent

Method

SetCalculatedPosition

See 5.6.7

Mandatory

HasComponent

Variable

NonDefeatableOpenInterlock

Boolean

BaseDataVariableType

Optional

R

HasComponent

Variable

DefeatableOpenInterlock

Boolean

BaseDataVariableType

Optional

R

HasComponent

Variable

NonDefeatableCloseInterlock

Boolean

BaseDataVariableType

Optional

R

HasComponent

Variable

DefeatableCloseInterlock

Boolean

BaseDataVariableType

Optional

R

HasProperty

Variable

StepDurationOpen

Duration

PropertyType

Optional

R

HasProperty

Variable

StepDurationClose

Duration

PropertyType

Optional

R

HasProperty

Variable

TotalSteps

UInt16

PropertyType

Optional

R

HasInterlock

Variable

<InterlockPlaceholder>

InterlockVariableType

OptionalPlaceholder

CalculatedPosition – A floating point number that represents the estimated percent open of the choke. This value can be updated using the SetCalculatedPosition Method.

SetCalculatedPositionStatus – an enumeration that reflect the status of a SetCalculatedPosition Command. This variable is present if the SetCalculatedPosition command can return asynchronously.

PositionInSteps – An int16 that represents position in steps for the choke.

CommandRejected –– A flag that, if set to True, indicates that the choke has rejected the last command issued to it. The command could be rejected for a number of reasons. Possible reasons for rejecting a command include:

  • Loss of subsea communication reported by the SPCS.
  • An active interlock.
  • The choke is in the disabled state

Enabled – This Boolean reflects if the choke is available for control. If it is disabled (FALSE) then the choke will not act on any Move command, Step Command or SetCalculatedPosition Command and is not available from a functional point of view. The choke will still report any status information.

Moving – An enumeration indicating the confirmed operation of the choke, (confirmed by SPCS Vendor). Possible status for a choke is moving and stopped.

Move – This Method allows an operator to increase or decrease the size of the opening in the choke. This command moves the choke to the percent value provided as part of the command.

Step – This Method allows an operator to increase or decrease the size of the opening in the choke. This command moves the choke the number of steps provided as part of the command.

Abort – This Method allows an operator to cancel any currently active move or step command.

SetCalculatedPosition – This Method is used to calibrate the CalculatedPosition. It can only be called when the choke is not moving.

EnableDisable – The choke, when disabled, places a non-defeatable interlock set on Move and Step functionality, in addition to the functionality described in the MDISBaseObjectType.

StepDurationOpen – SPCS open step duration period. This is the time in milliseconds for the choke to open one step.

StepDurationClose – SPCS close step duration period. This is the time in milliseconds for the choke to close one step.

TotalSteps – Total number of steps is the max steps of a choke.

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

The following Variables indicate that an interlock is set (TRUE) or is not set (FALSE). The Variable shall be the target of an InterlockFor Reference from an instance of an InterlockVariableType that describes the actual interlock.

NonDefeatableOpenInterlock – The open choke command is interlocked and cannot be overridden.

DefeatableOpenInterlock – The open choke command is interlocked and can be overridden.

NonDefeatableCloseInterlock – The close choke command is interlocked and cannot be overridden.

DefeatableCloseInterlock – The close choke command is interlocked and can be overridden.