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.


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