OPC 30020: MDIS OPC UA Companion Specification
Released 1.3
2023-07-07
This document is subject to the license terms described here.
The general OPC Foundation specification license agreement also applies and can be found here.
This document is a copy of the original which can be found here.
This document defines nodes in the following nodesets:
1 Scope
2 Concepts / Definitions
2.1 Introduction
2.2 API Standard 17F concepts
2.3 MDIS Mandatory & Optional Items / Objects
2.4 OPC Compliance & Certification
3 Normative references
4 Terms, abbreviated terms and conventions
4.1 MDIS definitions
4.2 Abbreviated terms
4.3 OPC UA Overview
4.3.1 Introduction
4.3.2 What is OPC UA?
4.3.3 Basics of OPC UA
4.3.4 Information Modelling in OPC UA
4.3.4.1 Concepts
4.3.4.2 Namespaces
4.3.4.3 Companion Specifications
5 Architectures
5.1 Overview
5.2 DCS Implemented Functions
5.2.1 Main Process Responsibility
5.2.2 Control and Monitoring of Subsea Equipment
5.2.3 Subscriptions
5.3 DCS or SCV Implemented Functions
5.3.1 Introduction
5.3.2 Data Arbitration
5.3.3 SEM Control Selection
5.3.4 Interlocks
5.3.4.1 Introduction
5.3.4.2 Process Interlocks
5.3.4.3 Product or System Interlocks
5.3.5 Shutdown Sequences
5.3.6 Automated Control Sequences
5.3.7 Determining Valve Statuses
5.3.8 Determining / Updating Choke Calculated Position
5.3.9 HPU Interface
5.3.10 EPU Interface
5.3.11 Valve Profile / Signature Validation
5.3.12 Topsides Chemical Injection System Interface
5.4 Subsea Controls Vendor-Implemented Functions
5.4.1 Introduction
5.4.2 Managing Subsea Communications
5.4.3 Operation of Subsea Devices
5.4.4 Handing off Process Sensor Data to DCS
5.4.5 Configuration of Operational Parameters
5.4.6 Handing off Valve Profiles / Signatures
5.4.7 Calculation of Engineering Values
5.4.8 Handing off Product Statuses
5.4.9 Handing Off Diagnostic Information
5.4.10 EPU Interface
5.4.11 Subsea Control Paths / Network Routing
6 MDIS ObjectTypes
6.1 Overview
6.1.1 MDISBaseObjectType
6.1.2 MDISDiscreteInstrumentObjectType
6.1.3 MDISDiscreteOutObjectType
6.1.4 MDISDiscreteArbitrationObjectType
6.1.5 MDISDigitalInstrumentObjectType
6.1.6 MDISDigitalOutObjectType
6.1.7 MDISDigitalArbitrationObjectType
6.1.8 MDISInstrumentObjectType
6.1.9 MDISInstrumentOutObjectType
6.1.10 MDISInstrumentArbitrationObjectType
6.1.11 MDISChokeObjectType
6.1.12 MDISElectricChokeObjectType
6.1.13 MDISValveObjectType
6.1.14 MDISCIMVObjectType
6.1.15 MDISMotorObjectType
6.1.16 MDISAggregateObjectType
6.1.17 MDISCounterObjectType
6.1.18 MDISTimeSyncObjectType
6.1.19 MDISInformationObjectType
6.2 MDISBaseObjectType
6.2.1 Overview
6.2.2 MDISBaseObjectType Definition
6.2.3 EnableDisable Method
6.3 MDISDiscreteInstrumentObjectType
6.3.1 Introduction
6.3.2 Overview
6.3.3 MDISDiscreteInstrumentObjectType Definition
6.3.4 MDISDiscreteOutObjectType Definition
6.3.5 WriteValue Method
6.3.6 MDISDiscreteArbitrationObjectType Definition
6.3.7 SetArbitrationMode Method
6.4 MDISDigitalInstrumentObjectType
6.4.1 Introduction
6.4.2 Overview
6.4.3 MDISDigitalInstrumentObjectType Definition
6.4.4 MDISDigitalOutObjectType
6.4.5 WriteState Method
6.4.6 MDISDigitalArbitrationObjectType Definition
6.5 MDISInstrumentObjectType
6.5.1 Introduction
6.5.2 Overview
6.5.3 MDISInstrumentObjectType Definition
6.5.4 MDISInstrumentOutObjectType Definition
6.5.5 Instrument WriteValue Method
6.5.6 MDISInstrumentArbitrationObjectType Definition
6.6 MDISChokeObjectType
6.6.1 Introduction
6.6.2 Overview
6.6.3 MDISChokeObjectType Definition
6.6.4 Choke Move Method
6.6.5 Choke Step Method
6.6.6 Choke Abort Method
6.6.7 Choke SetCalculatedPosition Method
6.7 MDISElectricChokeObjectType
6.7.1 Introduction
6.7.2 Overview
6.7.3 MDISElectricChokeObjectType Definition
6.8 MDISValveObjectType
6.8.1 Introduction
6.8.2 Overview
6.8.3 MDISValveObjectType Definition
6.8.4 Valve Move Method
6.9 MDISCIMVObjectType
6.9.1 Introduction
6.9.2 Overview
6.9.3 MDISCIMVObjectType Definition
6.9.4 SetOperationMode Method
6.9.5 SetFlowRate Method
6.9.6 SetPosition Method
6.9.7 SetManual Method
6.9.8 Abort Method
6.9.9 ResetTotalFlow Method
6.10 MDISCounterObjectType
6.10.1 Introduction
6.10.2 Overview
6.10.3 MDISCounterObjectType Definition
6.10.4 SetCount Method
6.11 MDISMotorObjectType
6.11.1 Introduction
6.11.2 Overview
6.11.3 MDISMotorObjectType Definition
6.11.4 Motor Start Method
6.11.5 Motor Stop Method
6.11.6 Motor SetOperation Method
6.12 MDISAggregateObjectType
6.12.1 Overview
6.12.2 MDISAggregateObjectType Definition
6.13 MDISTimeSyncObjectType
6.13.1 Introduction
6.13.2 Overview
6.13.3 MDISTimeSyncObjectType Definition
6.13.4 SetTime Method
6.14 MDISInformationObjectType
6.14.1 Introduction
6.14.2 Overview
6.14.3 MDISInformationObjectType Definition
7 MDIS VariableTypes
7.1 InterlockVariableType Definition
7.2 MDISVersionVariableType Definition
8 MDIS DataTypes
8.1 Enumerations
8.1.1 ChokeMoveEnum
8.1.2 ChokeCommandEnum
8.1.3 SetCalculatedPositionEnum
8.1.4 SignatureStatusEnum
8.1.5 CommandEnum
8.1.6 SEMEnum
8.1.7 ValvePositionEnum
8.1.8 CIMVOperationModeEnum
8.1.9 CIMVMoveEnum
8.1.10 ArbitrationModeEnum
8.1.11 MotorStateEnum
8.1.12 MotorOperationEnum
8.2 Structures
8.2.1 MDISVersionDataType
9 MDIS ReferenceTypes
9.1 HasInterlock ReferenceType
9.2 InterlockFor
9.3 HasSignature ReferenceType
10 MDIS AddressSpace Information
10.1 Introduction
10.2 Instance AddressSpace
10.3 Value reporting
10.4 UANodeSet Development
10.5 Object Development
10.5.1 Introduction
10.5.2 Object Collection, Aggregation and Extension Definition
10.5.3 Object Creation
10.5.4 Object Aggregation Example
11 Time Synchronisation
12 Redundancy
12.1 General
12.2 OPC UA Redundancy Overview
12.3 OPC UA MDIS Redundancy
12.4 MDIS Minimum Requirements
13 Common Information
13.1 Status Codes
14 Profiles and Conformance Units
14.1 Test requirements
14.2 ConformanceUnits
14.2.1 Overview
14.2.2 Server
14.2.3 Client
14.3 Profiles
14.3.1 Profile list
14.3.2 Server Facets
14.3.2.1 MDIS Base Functionality Server Facet
14.3.2.2 MDIS Valve Model Server Facet
14.3.2.3 MDIS Instrument Model Server Facet
14.3.2.4 MDIS Instrument Out Model Server Facet
14.3.2.5 MDIS Instrument Arbitration Model Server Facet
14.3.2.6 MDIS Discrete Model Server Facet
14.3.2.7 MDIS Discrete Out Model Server Facet
14.3.2.8 MDIS Discrete Arbitration Model Server Facet
14.3.2.9 MDIS Digital Model Server Facet
14.3.2.10 MDIS Digital Out Model Server Facet
14.3.2.11 MDIS Digital Arbitration Model Server Facet
14.3.2.12 MDIS Choke Model Server Facet
14.3.2.13 MDIS Electric Choke Model Server Facet
14.3.2.14 MDIS Motor Model Server Facet
14.3.2.15 MDIS CIMV Model Server Facet
14.3.2.16 MDIS Redundancy Server Facet
14.3.2.17 MDIS Aggregate Object Server Facet
14.3.2.18 MDIS Extension Object Server Facet
14.3.2.19 MDIS Signature Transfer Server Facet
14.3.2.20 MDIS TimeSync Object Server Facet
14.3.3 Client Facets
14.3.3.1 MDIS Base Client Facet
14.3.3.2 MDIS Valve Model Client Facet
14.3.3.3 MDIS Instrument Model Client Facet
14.3.3.4 MDIS Instrument Out Model Client Facet
14.3.3.5 MDIS Instrument Arbitration Model Client Facet
14.3.3.6 MDIS Discrete Model Client Facet
14.3.3.7 MDIS Discrete Out Model Client Facet
14.3.3.8 MDIS Discrete Arbitration Model Client Facet
14.3.3.9 MDIS Digital Model Client Facet
14.3.3.10 MDIS Digital Out Model Client Facet
14.3.3.11 MDIS Digital Arbitration Model Client Facet
14.3.3.12 MDIS Choke Model Client Facet
14.3.3.13 MDIS Electric Choke Model Client Facet
14.3.3.14 MDIS Motor Model Client Facet
14.3.3.15 MDIS CIMV Model Client Facet
14.3.3.16 MDIS Redundancy Client Facet
14.3.3.17 MDIS Aggregate Object Client Facet
14.3.3.18 MDIS Extension Object Client Facet
14.3.3.19 MDIS Extension Extra Object Client Facet
14.3.3.20 MDIS Signature Transfer Client Facet
14.3.3.21 MDIS TimeSync Object Client Facet
14.4 MDIS OPC UA Profiles
14.4.1 Overview
14.4.2 MDIS Solution Client 1.3 Profile
14.4.3 MDIS Solution Server 1.3 Profile
14.5 Equipment Certification
15 Namespaces
15.1 Namespace Metadata
15.2 Handling of OPC UA Namespaces
Annex A (normative) MDIS Namespace and mappings
A.1 NodeSet and Supplementary Files for MDIS Information Model
A.2 Capability Identifier
Annex B Sequence Diagrams (Informative)
B.1 Introduction
B.2 MDIS Discrete Instrument Object Sequence Diagrams
B.2.1 Enable Disable
B.3 MDIS Digital Instrument Object Sequence Diagrams
B.3.1 Enable Disable
B.4 MDIS Instrument Object Sequence Diagrams
B.4.1 Enable Disable
B.4.2 Write to Setpoint
B.4.3 Display Limits
B.4.4 Display Engineering units
B.5 MDIS Choke Object Sequence Diagrams
B.5.1 Overview
B.5.2 Move to Position – Success
B.5.3 Move to Position – Fault
B.5.4 Move to Position – Failure, Interlock active
B.5.5 Abort Choke (Position)
B.5.6 Defeat / Override Interlock (Move)
B.5.7 Fault – No Move Operation
B.5.8 Step Open / Close – Success
B.5.9 Step Open / Close – Failure, choke fault
B.5.10 Abort Choke (Step)
B.5.11 Set Calculated Position
B.5.12 Enable Disable Choke
B.5.13 Defeat / Override Interlock (Step)
B.6 MDIS Valve Object Sequence Diagrams
B.6.1 Overview
B.6.2 Valve command – Success
B.6.3 Valve command – Overridden Interlock
B.6.4 Valve command –- Interlocked not overridden
B.6.5 Valve command – Disabled
B.6.6 Valve command – Failed – Fault case 1
B.6.7 Valve command – Failed – Fault case 2
B.6.8 Valve Signature Request – Completed
B.6.9 Valve command – Shutdown
Annex C Recommended Practice (Normative)
C.1 Introduction
C.2 Architecture Implementation
C.3 Security
C.4 Performance
C.5 Data Priority
C.6 Documentation
C.7 Interface Testing
C.8 Project Check List
C.8.1 Introduction
C.8.2 Front End Engineering Design (FEED)
C.8.3 Project Execution
C.8.4 Closeout
Annex D Alternative MDIS Applications (Normative)
D.1 Introduction
D.2 Read Only Interface
D.3 Signature File Transfer
Annex E Valve Signature File Format Annex (Normative)
E.1 File format definition