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