OPC 30020: MDIS OPC UA Companion Specification


Deprecated 1.2 (Replaced by 1.3)

2018-10-03

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 1.1 Introduction 1.2 Concepts / Definitions 1.2.1 Introduction 1.2.2 API Standard 17F concepts 1.2.3 MDIS Mandatory & Optional Items / Objects 1.2.4 OPC Compliance & Certification 1.3 OPC Definitions 1.4 Industry Typical Abbreviations, Acronyms & Definitions 2 Reference documents 3 OPC UA Overview 3.1 Introduction 3.2 What is OPC UA? 3.3 Basics of OPC UA 3.4 Information Modelling in OPC UA 3.4.1 Concepts 3.4.2 Namespaces 3.4.3 Companion Specifications 4 Architectures 4.1 Overview 4.2 DCS Implemented Functions 4.2.1 Main Process Responsibility 4.2.2 Control and Monitoring of Subsea Equipment 4.2.3 Subscriptions 4.3 DCS or SCV Implemented Functions 4.3.1 Introduction 4.3.2 Data Arbitration 4.3.3 SEM Control Selection 4.3.4 Interlocks 4.3.4.1 Introduction 4.3.4.2 Process Interlocks 4.3.4.3 Product or System Interlocks 4.3.5 Shutdown Sequences 4.3.6 Automated Control Sequences 4.3.7 Determining Valve Statuses 4.3.8 Determining / Updating Choke Calculated Position 4.3.9 HPU Interface 4.3.10 EPU Interface 4.3.11 Valve Profile / Signature Validation 4.3.12 Topsides Chemical Injection System Interface 4.4 Subsea Controls Vendor-Implemented Functions 4.4.1 Introduction 4.4.2 Managing Subsea Communications 4.4.3 Operation of Subsea Devices 4.4.4 Handing off Process Sensor Data to DCS 4.4.5 Configuration of Operational Parameters 4.4.6 Handing off Valve Profiles / Signatures 4.4.7 Calculation of Engineering Values 4.4.8 Handing off Product Statuses 4.4.9 Handing Off Diagnostic Information 4.4.10 EPU Interface 4.4.11 Subsea Control Paths / Network Routing 5 MDIS ObjectTypes 5.1 Overview 5.1.1 MDISBaseObjectType 5.1.2 MDISDiscreteInstrumentObjectType 5.1.3 MDISDiscreteOutObjectType 5.1.4 MDISDigitalInstrumentObjectType 5.1.5 MDISDigitalOutObjectType 5.1.6 MDISInstrumentObjectType 5.1.7 MDISInstrumentOutObjectType 5.1.8 MDISChokeObjectType 5.1.9 MDISValveObjectType 5.1.10 MDISAggregateObjectType 5.1.11 MDISTimeSyncObjectType 5.1.12 MDISInformationObjectType 5.2 MDISBaseObjectType 5.2.1 Overview 5.2.2 MDISBaseObjectType Definition 5.2.3 EnableDisable Method 5.3 MDISDiscreteInstrumentObjectType 5.3.1 Introduction 5.3.2 Overview 5.3.3 MDISDiscreteInstrumentObjectType Definition 5.3.4 MDISDiscreteOutObjectType Definition 5.3.5 WriteValue Method 5.4 MDISDigitalInstrumentObjectType 5.4.1 Introduction 5.4.2 Overview 5.4.3 MDISDigitalInstrumentObjectType Definition 5.4.4 MDISDigitalOutObjectType 5.4.5 WriteState Method 5.5 MDISInstrumentObjectType 5.5.1 Introduction 5.5.2 Overview 5.5.3 MDISInstrumentObjectType Definition 5.5.4 MDISInstrumentOutObjectType Definition 5.5.5 Instrument WriteValue Method 5.6 MDISChokeObjectType 5.6.1 Introduction 5.6.2 Overview 5.6.3 MDISChokeObjectType Definition 5.6.4 Choke Move Method 5.6.5 Choke Step Method 5.6.6 Choke Abort Method 5.6.7 Choke SetCalculatedPosition Method 5.7 MDISValveObjectType 5.7.1 Introduction 5.7.2 Overview 5.7.3 MDISValveObjectType Definition 5.7.4 Move Method 5.8 MDISAggregateObjectType 5.8.1 Overview 5.8.2 MDISAggregateObjectType Definition 5.9 MDISTimeSyncObjectType 5.9.1 Introduction 5.9.2 Overview 5.9.3 MDISTimeSyncObjectType Definition 5.9.4 SetTime Method 5.10 MDISInformationObjectType 5.10.1 Introduction 5.10.2 Overview 5.10.3 MDISInformationObjectType Definition 6 MDIS VariableTypes 6.1 InterlockVariableType Definition 6.2 MDISVersionVariableType Definition 7 MDIS DataTypes 7.1 Enumerations 7.1.1 ChokeMoveEnum 7.1.2 ChokeCommandEnum 7.1.3 SetCalculatedPositionEnum 7.1.4 SignatureStatusEnum 7.1.5 CommandEnum 7.1.6 SEMEnum 7.1.7 ValvePositionEnum 7.2 Structures 7.2.1 MDISVersionDataType 8 MDIS ReferenceTypes 8.1 HasInterlock ReferenceType 8.2 InterlockFor 8.3 HasSignature ReferenceType 9 MDIS AddressSpace Information 9.1 Introduction 9.2 Instance AddressSpace 9.3 Value reporting 9.4 UANodeSet Development 9.5 Object Development 9.5.1 Introduction 9.5.2 Object Collection, Aggregation and Extension Definition 9.5.3 Object Creation 9.5.4 Object Aggregation Example 10 Time Synchronisation 11 Redundancy 11.1 General 11.2 OPC UA Redundancy Overview 11.3 OPC UA MDIS Redundancy 11.4 MDIS Minimum Requirements 12 OPC UA MDIS Profiles and Conformance Units 12.1 Test requirements 12.2 ConformanceUnits 12.2.1 Overview 12.2.2 Server 12.2.3 Client 12.3 Facet 12.3.1 Overview 12.3.2 Server 12.3.2.1 MDIS Base Functionality Server Facet 12.3.2.2 MDIS Valve Model Server Facet 12.3.2.3 MDIS Instrument Model Server Facet 12.3.2.4 MDIS Instrument Out Model Server Facet 12.3.2.5 MDIS Discrete Model Server Facet 12.3.2.6 MDIS Discrete Out Model Server Facet 12.3.2.7 MDIS Digital Model Server Facet 12.3.2.8 MDIS Digital Out Model Server Facet 12.3.2.9 MDIS Choke Model Server Facet 12.3.2.10 MDIS Redundancy Server Facet 12.3.2.11 MDIS Aggregate Object Server Facet 12.3.2.12 MDIS Extension Object Server Facet 12.3.2.13 MDIS Signature Transfer Server Facet 12.3.2.14 MDIS TimeSync Object Server Facet 12.3.3 Client 12.3.3.1 MDIS Base Client Facet 12.3.3.2 MDIS Valve Model Client Facet 12.3.3.3 MDIS Instrument Model Client Facet 12.3.3.4 MDIS Instrument Out Model Client Facet 12.3.3.5 MDIS Discrete Model Client Facet 12.3.3.6 MDIS Discrete Out Model Client Facet 12.3.3.7 MDIS Digital Model Client Facet 12.3.3.8 MDIS Digital Out Model Client Facet 12.3.3.9 MDIS Choke Model Client Facet 12.3.3.10 MDIS Redundancy Client Facet 12.3.3.11 MDIS Aggregate Object Client Facet 12.3.3.12 MDIS Extension Object Client Facet 12.3.3.13 MDIS Extension Extra Object Client Facet 12.3.3.14 MDIS Signature Transfer Client Facet 12.3.3.15 MDIS TimeSync Object Client Facet 12.4 MDIS OPC UA Profiles 12.4.1 Overview 12.4.2 MDIS Solution Client Profile 12.4.3 MDIS Solution Server Profile 12.5 Equipment Certification 13 Namespaces 13.1 Status Codes 13.2 Handling of OPC UA Namespaces Annex A Sequence Diagrams(Informative) A.1 Introduction A.2 MDIS Discrete Instrument Object Sequence Diagrams A.2.1 Enable Disable A.3 MDIS Digital Instrument Object Sequence Diagrams A.3.1 Enable Disable A.4 MDIS Instrument Object Sequence Diagrams A.4.1 Enable Disable A.4.2 Write to Setpoint A.4.3 Display Limits A.4.4 Display Engineering units A.5 MDIS Choke Object Sequence Diagrams A.5.1 Overview A.5.2 Move to Position – Success A.5.3 Move to Position – Fault A.5.4 Move to Position – Failure, Interlock active A.5.5 Abort Choke (Position) A.5.6 Defeat / Override Interlock (Move) A.5.7 Fault – No Move Operation A.5.8 Step Open / Close – Success A.5.9 Step Open / Close – Failure, choke fault A.5.10 Abort Choke (Step) A.5.11 Set Calculated Position A.5.12 Enable Disable Choke A.5.13 Defeat / Override Interlock (Step) A.6 MDIS Valve Object Sequence Diagrams A.6.1 Overview A.6.2 Valve command – Success A.6.3 Valve command – Overridden Interlock A.6.4 Valve command –- Interlocked not overridden A.6.5 Valve command – Disabled A.6.6 Valve command – Failed – Fault case 1 A.6.7 Valve command – Failed – Fault case 2 A.6.8 Valve Signature Request – Completed A.6.9 Valve command – Shutdown Annex B Recommended Practice (Normative) B.1 Introduction B.2 Architecture Implementation B.3 Security B.4 Performance B.5 Data Priority B.6 Documentation B.7 Interface Testing B.8 Project Check List B.8.1 Introduction B.8.2 Front End Engineering Design (FEED) B.8.3 Project Execution B.8.4 Closeout Annex C Alternative MDIS Applications (Normative) C.1 Introduction C.2 Read Only Interface C.3 Signature File Transfer