DWIS.RigOS.Capabilities.Controller.Model
1.0.2
See the version list below for details.
dotnet add package DWIS.RigOS.Capabilities.Controller.Model --version 1.0.2
NuGet\Install-Package DWIS.RigOS.Capabilities.Controller.Model -Version 1.0.2
<PackageReference Include="DWIS.RigOS.Capabilities.Controller.Model" Version="1.0.2" />
paket add DWIS.RigOS.Capabilities.Controller.Model --version 1.0.2
#r "nuget: DWIS.RigOS.Capabilities.Controller.Model, 1.0.2"
// Install DWIS.RigOS.Capabilities.Controller.Model as a Cake Addin #addin nuget:?package=DWIS.RigOS.Capabilities.Controller.Model&version=1.0.2 // Install DWIS.RigOS.Capabilities.Controller.Model as a Cake Tool #tool nuget:?package=DWIS.RigOS.Capabilities.Controller.Model&version=1.0.2
DWIS Auto-driller Standard Interface
Introduction
The auto-driller standard interface allows to represent an ADCS auto-driller function that can control the bit axial movement, the bit rotational velocity and the flowrate. The combination of those three values impacts the WOB, because the bit axial movement and the bit rotational velocity define the depth of cut, the formation strength is impacted by the difference between the downhole pressure and the pore pressure which in turn is influenced by the flowrate, and the WOB is the result of the depth of cut and the formation strength:
$$d_{cut} = \frac{2 \pi \dot{s}{bit}}{ \omega{bit}}$$ $$F_{bit} = F_c + K_F A_{bit} d_{cut}$$ $$\tau_{bit} = K_{\tau} R A_{bit} d_{cut}$$
$F_c$, $K_F$ and $K_{\tau}$ depend on $Q_{bit}$, $s$ is the curvilinear abscissa, $\omega$ is the angular velocity, $Q$ is the volumetric flowrate, $d_{cut}$ is the depth of cut, $F_{bit}$ is the force on the bit, $\tau_{bit}$ is the torque on bit, $A_{bit}$ is the hole area, $R$ is the bit radius, $F_c$ is a minimum force to cut the rock.
flowchart TD
A[Auto-driller] -->|Use controller| B(Contoller bit axial movement)
A -->|Use controller| C(Controller bit rotation velocity)
A -->|Use controller| D(Controller bit flowrate)
The manipulated variable of the bit axial movement is the top of string velocity.
The controller for bit axial movement allows to represent multiple types of auto-driller systems in a common way. It is considered as a controller with only limits where the possible limits are:
- max ROP
- max WOB
- max TOB
- max differential pressure across the PDM (this is only relevant if there is a PDM in the BHA)
Each of these limits can be turned on or off using the assignable variables:
- UseWOBLimitReference
- UseROPLimitReference
- UseDifferentialPressureLimitReference
- UseTorqueLimitReference
flowchart TD
A[Contoller bit axial movement] -->|Has limit| B(ROP Limit)
A -->|Has limit| C(WOB Limit)
A -->|Has limit| D(Diffp Limit)
A -->|Has limit| E(TOB Limit)
B -->|Declarative condition| B1(UseROPLimitReference)
C -->|Declarative condition| C1(UseWOBLimitReference)
D -->|Declarative condition| D1(UseDifferentialPressureLimitReference)
E -->|Declarative condition| E1(UseTorqueLimitReference)
The true controller of the ADCS may be more specialized than the controller with only limits. For example it can be an auto-ROP with WOB limit. In that case, the ADCS standard interface will declare that:
- UseROPLimitReference is readonly and its DefaultValue is true
- UseWOBLimitReference is readonly and its DefaultValue is true
- UseDifferentialPressureLimitReference is readonly and its DefaultValue is false
- UseTorqueLimitReference is readonly and its DefaultValue is false
Also, the controllers for bit rotational velocity and for bit flowrate may be active or not. This is controlled by two variables:
- UseRotationSpeedController
- UseFlowrateController
If the true ADCS cannot manage the rotation speed controller for instance, then the UseRotationSpeedController is readonly and its DefaultValue is false. Same applies to the flowrate controller. Conversely, if the true ADCS uses the rotation speed controller but does not allow an external party to turn it off, then UseRotationSpeedController is readonly and its DefaultValue is true.The same applies to the flowrate controller. But if the true ADCS allows an external party to use or not use the rotation speed controller, then UseRotationSpeedController is not readonly and its value can be set externally.
The manipulated variable of the rotation speed controller is the top of string rotation velocity and the controlled variable is the bottom of string rotation velocity. Similary, the manipulated variable of the flowrate controller is the top of string flowrate and the controlled variable is the bottom of string flowrate.
The assignable variables of the ADCS standard auto-driller are expected to be provided by the DWIS composer. Therefore the semantic description of these variables refer to the DWIS composer as the provider. The DWIS composer receives possibly several sets of variables multple advisors. The chosen set is determined by the advisor features priority. This is determined by the DWIS scheduler based on the eRAP and the current context. Typical advisor features are:
- CuttingsTransportFeature
- DrillStemVibrationFeature
- DrillStemBucklingFeature
When there is a change for the source of the ADCS auto-driller parameters, the DWIS composer create a path from the previous values to the new ones. When that path is completed, then the values of the selected advisor are passed with no modifications to the ADCS Standard Auto-driller.
sequenceDiagram
Advisor1->>Blackboard: Auto-driller Params (feat. cuttings transport)
Advisor2->>Blackboard: Auto-driller Params (feat. vibration)
DWISScheduler->>Blackboard: priority feature cuttings transport
Blackboard-->>DWISComposer: priority feature cuttings transport
Blackboard-->>DWISComposer: Auto-driller Params (feat. cuttings transport)
DWISComposer->>Blackboard: Composed Auto-driller Params
Blackboard-->>ADCS: Composed Auto-driller Params
MicroStateInterpretation->>Blackboard: hard stringer
Blackboard-->>DWISScheduler: hard stringer
DWISScheduler->>Blackboard: priority feature vibration
Blackboard-->>DWISComposer: Auto-driller Params (feat. vibration)
DWISComposer->>Blackboard: Composed Auto-driller Params
Blackboard-->>ADCS: Composed Auto-driller Params
Access to the Capability Description
The capability description is made available on the Blackboard and can be retrieved using the following sparql query:
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?ADCSStandardAutoDriller
WHERE {
?ADCSStandardAutoDriller_01 rdf:type ddhub:ControllerFunction .
?ADCSStandardAutoDriller_01 ddhub:HasDynamicValue ?ADCSStandardAutoDriller .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?ADCSStandardAutoDriller_01 ddhub:ImplementsObjective ?stableDrilling .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?ADCSStandardAutoDriller_01 ddhub:ImplementsObjective ?stableFlowrate .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?ADCSStandardAutoDriller_01 ddhub:ImplementsObjective ?stableRotationalVelocity .
?DWISADCSCapabilityDescriptor rdf:type ddhub:DWISADCSCapabilityDescriptor .
?ADCSStandardAutoDriller_01 ddhub:IsProvidedBy ?DWISADCSCapabilityDescriptor .
}
Readonly Variables Provided by the Auto-Driller
The auto-driller standard interface publishes on the Blackboard, the following variables that are only accessible in readonly mode, meaning that they are information that can be read by other systems but cannot be modified externally:
- AllowEnablementReadable: this variable is true if the auto-driller allows an external application to enable and disable the function. If it is false, then it is expected that the function can only be turned on or off by the driller.
- IsActivatedReadable: this variable is true when the auto-driller is activated regardless whether it has been turned on externally or by the driller.
- IsIdlingReadable: this variable is true when the auto-driller is still activated but does not drill, like for instance when the stand is finished.
Here are the SparQL Queries to access these variables:
- AllowEnablementReadable
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?AllowEnablementReadable
WHERE {
?AllowEnablementReadable_01 rdf:type ddhub:EnablementState .
?AllowEnablementReadable_01 rdf:type ddhub:ComputedData .
?AllowEnablementReadable_01 rdf:type ddhub:BooleanDataType .
?AllowEnablementReadable_01 ddhub:HasStaticValue ?AllowEnablementReadable .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?AllowEnablementReadable_01 ddhub:AllowEnablementSignalFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?AllowEnablementReadable_01 ddhub:IsProvidedBy ?ADCSStandardInterface .
}
- IsActivatedReadable
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?IsActivatedReadable
WHERE {
?IsActivatedReadable_01 rdf:type ddhub:ActivationState .
?IsActivatedReadable_01 rdf:type ddhub:ComputedData .
?IsActivatedReadable_01 rdf:type ddhub:BooleanDataType .
?IsActivatedReadable_01 ddhub:HasDynamicValue ?IsActivatedReadable .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?IsActivatedReadable_01 ddhub:IsActivatedSignalFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?IsActivatedReadable_01 ddhub:IsProvidedBy ?ADCSStandardInterface .
}
- IsIdlingReadable
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?IsIdlingReadable
WHERE {
?IsIdlingReadable_01 rdf:type ddhub:IdlingState .
?IsIdlingReadable_01 rdf:type ddhub:ComputedData .
?IsIdlingReadable_01 rdf:type ddhub:BooleanDataType .
?IsIdlingReadable_01 ddhub:HasDynamicValue ?IsIdlingReadable .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?IsIdlingReadable_01 ddhub:IsIdlingSignalFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?IsIdlingReadable_01 ddhub:IsProvidedBy ?ADCSStandardInterface .
}
Realtime Signals used by the Auto-driller
The auto-driller uses real-time signals that are either manipulated, i.e., the top-of-string velocity or compared with the limits:
- TOSVelocity: the top-of-string velocity
- WOB: the weight on bit
- ROP: the rate of penetration
- BitTorque: the torque on bit
- DifferentialPressure: the differential pressure across the PDM
These signals are found using the following SparQL queries:
- TOSVelocity
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?v_tos
WHERE {
?v_tos_01 rdf:type ddhub:PhysicalData .
?v_tos_01 rdf:type ddhub:ContinuousDataType .
?v_tos_01 ddhub:HasDynamicValue ?v_tos .
?v_tos_01 ddhub:IsOfMeasurableQuantity quantity:BlockVelocityDrilling .
?tos_01 rdf:type ddhub:TopOfStringReferenceLocation .
?v_tos_01 ddhub:IsPhysicallyLocatedAt ?tos_01 .
?MovingAverage rdf:type ddhub:MovingAverage .
?v_tos_01 ddhub:IsTransformationOutput ?MovingAverage .
}
- WOB
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?F_bos
WHERE {
?F_bos_01 rdf:type ddhub:PhysicalData .
?F_bos_01 rdf:type ddhub:ContinuousDataType .
?F_bos_01 ddhub:HasDynamicValue ?F_bos .
?F_bos_01 ddhub:IsOfMeasurableQuantity quantity:ForceDrilling .
?MovingAverage rdf:type ddhub:MovingAverage .
?F_bos_01 ddhub:IsTransformationOutput ?MovingAverage .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?F_bos_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
}
- ROP
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?va_bos
WHERE {
?va_bos_01 rdf:type ddhub:PhysicalData .
?va_bos_01 rdf:type ddhub:ContinuousDataType .
?va_bos_01 ddhub:HasDynamicValue ?va_bos .
?va_bos_01 ddhub:IsOfMeasurableQuantity quantity:BlockVelocityDrilling .
?MovingAverage rdf:type ddhub:MovingAverage .
?va_bos_01 ddhub:IsTransformationOutput ?MovingAverage .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?va_bos_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
}
- BitTorque
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?torque_bos
WHERE {
?torque_bos_01 rdf:type ddhub:PhysicalData .
?torque_bos_01 rdf:type ddhub:ContinuousDataType .
?torque_bos_01 ddhub:HasDynamicValue ?torque_bos .
?torque_bos_01 ddhub:IsOfMeasurableQuantity quantity:TorqueDrilling .
?MovingAverage rdf:type ddhub:MovingAverage .
?torque_bos_01 ddhub:IsTransformationOutput ?MovingAverage .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?torque_bos_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
}
- DifferentialPressure
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?dp_PDM
WHERE {
?dp_PDM_01 rdf:type ddhub:PhysicalData .
?dp_PDM_01 rdf:type ddhub:ContinuousDataType .
?dp_PDM_01 ddhub:HasDynamicValue ?dp_PDM .
?dp_PDM_01 ddhub:IsOfMeasurableQuantity quantity:PressureDrilling .
?PDM_01 rdf:type ddhub:PositiveDisplacementMotor .
?Logical_PDM_01 rdf:type ddhub:HydraulicLogicalElement .
?Logical_PDM_01 ddhub:IsAHydraulicRepresentationFor ?PDM_01 .
?dp_PDM_01 ddhub:IsHydraulicallyLocatedAt ?Logical_PDM_01 .
?MovingAverage rdf:type ddhub:MovingAverage .
?dp_PDM_01 ddhub:IsTransformationOutput ?MovingAverage .
?DifferentialPressure rdf:type ddhub:RelativePressureReference .
?dp_PDM_01 ddhub:HasPressureReferenceType ?DifferentialPressure .
}
Assignable Variables of the Auto-driller to be Filled by the Scheduler
The auto-driller standard interface publishes on the Blackboard variables that shall be filled in by the scheduler:
- EnableFunction:
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?EnableFunction
WHERE {
?EnableFunction_01 rdf:type ddhub:EnablementState .
?EnableFunction_01 rdf:type ddhub:Command .
?EnableFunction_01 rdf:type ddhub:BooleanDataType .
?EnableFunction_01 ddhub:HasDynamicValue ?EnableFunction .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?EnableFunction_01 ddhub:IsEnablingSignalFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?EnableFunction_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISScheduler rdf:type ddhub:DWISScheduler .
?EnableFunction_01 ddhub:IsProvidedBy ?DWISScheduler .
}
Assignable Variables of the Auto-driller to be Filled by the Composer
The auto-driller standard interface publishes on the Blackboard variables that shall be filled in by the composer:
- BOSFlowrateSetPoint:
- BOSAngularVelocitySetPoint:
- WOBMaxLimitReference:
- ROPMaxLimitReference:
- DifferentialPressureMaxLimitReference:
- BitTorqueMaxLimitReference:
- UseWOBLimitReference:
- UseROPLimitReference:
- UseDifferentialPressureLimitReference:
- UseTorqueLimitReference:
- UseFlowrateController
- UseRotationSpeedController
These variables are retrieved by calling the following SparQL queries:
- BOSFlowrateSetPoint
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?Q_bos_sp
WHERE {
?Q_bos_sp_01 rdf:type ddhub:SetPoint .
?Q_bos_sp_01 rdf:type ddhub:ContinuousDataType .
?Q_bos_sp_01 ddhub:HasDynamicValue ?Q_bos_sp .
?Q_bos_sp_01 ddhub:IsOfMeasurableQuantity quantity:VolumetricFlowrateDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?Q_bos_sp_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?Q_bos_sp_01 ddhub:IsSetPointAdviceFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?Q_bos_sp_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?Q_bos_sp_01 ddhub:IsProvidedBy ?DWISComposer .
}
- BOSAngularVelocitySetPoint
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?omega_bos_sp
WHERE {
?omega_bos_sp_01 rdf:type ddhub:SetPoint .
?omega_bos_sp_01 rdf:type ddhub:ContinuousDataType .
?omega_bos_sp_01 ddhub:HasDynamicValue ?omega_bos_sp .
?omega_bos_sp_01 ddhub:IsOfMeasurableQuantity quantity:AngularVelocityDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?omega_bos_sp_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?omega_bos_sp_01 ddhub:IsSetPointAdviceFor ?AutoDriller .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?omega_bos_sp_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?omega_bos_sp_01 ddhub:IsProvidedBy ?DWISComposer .
}
- WOBMaxLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?F_bos_max
WHERE {
?F_bos_max_01 rdf:type ddhub:MaximumLimit .
?F_bos_max_01 rdf:type ddhub:WOBLimit .
?F_bos_max_01 rdf:type ddhub:ContinuousDataType .
?F_bos_max_01 ddhub:HasDynamicValue ?F_bos_max .
?F_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:ForceDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?F_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?F_bos_max_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?F_bos_max_01 ddhub:IsProvidedBy ?DWISComposer .
}
- ROPMaxLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?va_bos_max
WHERE {
?va_bos_max_01 rdf:type ddhub:MaximumLimit .
?va_bos_max_01 rdf:type ddhub:ROPLimit .
?va_bos_max_01 rdf:type ddhub:ContinuousDataType .
?va_bos_max_01 ddhub:HasDynamicValue ?va_bos_max .
?va_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:BlockVelocityDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?va_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?va_bos_max_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?va_bos_max_01 ddhub:IsProvidedBy ?DWISComposer .
}
- DifferentialPressureMaxLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
WHERE {
?dp_PDM_max_01 rdf:type ddhub:MaximumLimit .
?dp_PDM_max_01 rdf:type ddhub:DifferentialPressureLimit .
?dp_PDM_max_01 rdf:type ddhub:ContinuousDataType .
?dp_PDM_max_01 ddhub:HasDynamicValue ?dp_PDM_max .
?dp_PDM_max_01 ddhub:IsOfMeasurableQuantity quantity:PressureDrilling .
?PDM_01 rdf:type ddhub:PositiveDisplacementMotor .
?Logical_PDM_01 rdf:type ddhub:HydraulicLogicalElement .
?Logical_PDM_01 ddhub:IsAHydraulicRepresentationFor ?PDM_01 .
?dp_PDM_max_01 ddhub:IsHydraulicallyLocatedAt ?Logical_PDM_01 .
?DifferentialPressure rdf:type ddhub:RelativePressureReference .
?dp_PDM_max_01 ddhub:HasPressureReferenceType ?DifferentialPressure .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?dp_PDM_max_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?dp_PDM_max_01 ddhub:IsProvidedBy ?DWISComposer .
}
- BitTorqueMaxLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?torque_bos_max
WHERE {
?torque_bos_max_01 rdf:type ddhub:MaximumLimit .
?torque_bos_max_01 rdf:type ddhub:TorqueLimit .
?torque_bos_max_01 rdf:type ddhub:ContinuousDataType .
?torque_bos_max_01 ddhub:HasDynamicValue ?torque_bos_max .
?torque_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:TorqueDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?torque_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?torque_bos_max_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?torque_bos_max_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseWOBLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?useWOBLimitReference
WHERE {
?useWOBLimitReference_01 rdf:type ddhub:ProcessFeature .
?useWOBLimitReference_01 rdf:type ddhub:BooleanDataType .
?useWOBLimitReference_01 ddhub:HasDynamicValue ?useWOBLimitReference .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?useWOBLimitReference_01 ddhub:IsMaximumLimitFor ?AutoDriller .
?useWOBLimitReference_01 ddhub:IsRelatedToDrillingObjective ?stableDrilling .
?F_bos_max_01 rdf:type ddhub:MaximumLimit .
?F_bos_max_01 rdf:type ddhub:WOBLimit .
?F_bos_max_01 rdf:type ddhub:ContinuousDataType .
?F_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:ForceDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?F_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?useWOBLimitReference_01 ddhub:IsRelatedToDrillingLimit ?F_bos_max_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?useWOBLimitReference_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?useWOBLimitReference_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseROPLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?useROPLimitReference
WHERE {
?useROPLimitReference_01 rdf:type ddhub:ProcessFeature .
?useROPLimitReference_01 rdf:type ddhub:BooleanDataType .
?useROPLimitReference_01 ddhub:HasDynamicValue ?useROPLimitReference .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?useROPLimitReference_01 ddhub:IsMaximumLimitFor ?AutoDriller .
?useROPLimitReference_01 ddhub:IsRelatedToDrillingObjective ?stableDrilling .
?va_bos_max_01 rdf:type ddhub:MaximumLimit .
?va_bos_max_01 rdf:type ddhub:ROPLimit .
?va_bos_max_01 rdf:type ddhub:ContinuousDataType .
?va_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:BlockVelocityDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?va_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?useROPLimitReference_01 ddhub:IsRelatedToDrillingLimit ?va_bos_max_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?useROPLimitReference_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?useROPLimitReference_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseDifferentialPressureLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?useDifferentialPressureLimitReference
WHERE {
?useDifferentialPressureLimitReference_01 rdf:type ddhub:ProcessFeature .
?useDifferentialPressureLimitReference_01 rdf:type ddhub:BooleanDataType .
?useDifferentialPressureLimitReference_01 ddhub:HasDynamicValue ?useDifferentialPressureLimitReference .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?useDifferentialPressureLimitReference_01 ddhub:IsMaximumLimitFor ?AutoDriller .
?useDifferentialPressureLimitReference_01 ddhub:IsRelatedToDrillingObjective ?stableDrilling .
?dp_PDM_max_01 rdf:type ddhub:MaximumLimit .
?dp_PDM_max_01 rdf:type ddhub:DifferentialPressureLimit .
?dp_PDM_max_01 rdf:type ddhub:ContinuousDataType .
?dp_PDM_max_01 ddhub:IsOfMeasurableQuantity quantity:PressureDrilling .
?PDM_01 rdf:type ddhub:PositiveDisplacementMotor .
?Logical_PDM_01 rdf:type ddhub:HydraulicLogicalElement .
?Logical_PDM_01 ddhub:IsAHydraulicRepresentationFor ?PDM_01 .
?dp_PDM_max_01 ddhub:IsHydraulicallyLocatedAt ?Logical_PDM_01 .
?DifferentialPressure rdf:type ddhub:RelativePressureReference .
?dp_PDM_max_01 ddhub:HasPressureReferenceType ?DifferentialPressure .
?useDifferentialPressureLimitReference_01 ddhub:IsRelatedToDrillingLimit ?dp_PDM_max_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?useDifferentialPressureLimitReference_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?useDifferentialPressureLimitReference_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseTorqueLimitReference
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?useTorqueLimitReference
WHERE {
?useTorqueLimitReference_01 rdf:type ddhub:ProcessFeature .
?useTorqueLimitReference_01 rdf:type ddhub:BooleanDataType .
?useTorqueLimitReference_01 ddhub:HasDynamicValue ?useTorqueLimitReference .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?useTorqueLimitReference_01 ddhub:IsMaximumLimitFor ?AutoDriller .
?useTorqueLimitReference_01 ddhub:IsRelatedToDrillingObjective ?stableDrilling .
?torque_bos_max_01 rdf:type ddhub:MaximumLimit .
?torque_bos_max_01 rdf:type ddhub:TorqueLimit .
?torque_bos_max_01 rdf:type ddhub:ContinuousDataType .
?torque_bos_max_01 ddhub:IsOfMeasurableQuantity quantity:TorqueDrilling .
?bos_01 rdf:type ddhub:BottomOfStringReferenceLocation .
?torque_bos_max_01 ddhub:IsPhysicallyLocatedAt ?bos_01 .
?useTorqueLimitReference_01 ddhub:IsRelatedToDrillingLimit ?torque_bos_max_01 .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?useTorqueLimitReference_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?useTorqueLimitReference_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseFlowrateController
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?UseFlowrateController
WHERE {
?UseFlowrateController_01 rdf:type ddhub:Command .
?UseFlowrateController_01 rdf:type ddhub:BooleanDataType .
?UseFlowrateController_01 ddhub:HasDynamicValue ?UseFlowrateController .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?UseFlowrateController_01 ddhub:IsCommandFor ?AutoDriller .
?UseFlowrateController_01 ddhub:IsRelatedToDrillingObjective ?stableFlowrate .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?UseFlowrateController_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?UseFlowrateController_01 ddhub:IsProvidedBy ?DWISComposer .
}
- UseRotationSpeedController
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ddhub:<http://ddhub.no/>
PREFIX quantity:<http://ddhub.no/UnitAndQuantity>
SELECT ?UseRotationSpeedController
WHERE {
?UseRotationSpeedController_01 rdf:type ddhub:Command .
?UseRotationSpeedController_01 rdf:type ddhub:BooleanDataType .
?UseRotationSpeedController_01 ddhub:HasDynamicValue ?UseRotationSpeedController .
?stableDrilling rdf:type ddhub:StableDrillingObjective .
?stableFlowrate rdf:type ddhub:StableFlowrateObjective .
?stableRotationalVelocity rdf:type ddhub:StableRotationalVelocityObjective .
?AutoDriller rdf:type ddhub:ControllerFunction .
?AutoDriller ddhub:ImplementsObjective ?stableDrilling .
?AutoDriller ddhub:ImplementsObjective ?stableFlowrate .
?AutoDriller ddhub:ImplementsObjective ?stableRotationalVelocity .
?UseRotationSpeedController_01 ddhub:IsCommandFor ?AutoDriller .
?UseRotationSpeedController_01 ddhub:IsRelatedToDrillingObjective ?stableRotationalVelocity .
?ADCSStandardInterface rdf:type ddhub:DWISADCSInterface .
?UseRotationSpeedController_01 ddhub:IsProvidedTo ?ADCSStandardInterface .
?DWISComposer rdf:type ddhub:DWISAdviceComposer .
?UseRotationSpeedController_01 ddhub:IsProvidedBy ?DWISComposer .
}
Values Sent by an Advisor to the Blackboard and Consumed by the Composer
An advisor sends information to the Blackboard. These values are processed by the Composer. These values are:
- BOSFlowrateSetPoint
- BOSAngularVelocitySetPoint
- WOBMaxLimitReference
- ROPMaxLimitReference
- DifferentialPressureMaxLimitReference
- BitTorqueMaxLimitReference
- UseWOBLimitReference
- UseROPLimitReference
- UseDifferentialPressureLimitReference
- UseTorqueLimitReference
- UseFlowrateController
- UseRotationSpeedController The advisor must publish these signals using a semantic graph similar to those define below:
- BOSFlowrateSetPoint
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:Q_bos_sp([Advisor:Q_bos_sp]) --> opc:double([opc:double]):::opcClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) --> SetPoint([SetPoint]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:stableDrilling([Advisor:stableDrilling]) --> StableDrillingObjective([StableDrillingObjective]):::typeClass
Advisor:stableFlowrate([Advisor:stableFlowrate]) --> StableFlowrateObjective([StableFlowrateObjective]):::typeClass
Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]) --> StableRotationalVelocityObjective([StableRotationalVelocityObjective]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:Q_bos_sp([Advisor:Q_bos_sp]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> VolumetricFlowrateDrilling([VolumetricFlowrateDrilling]):::quantityClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsSetPointAdviceFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:Q_bos_sp_01([Advisor:Q_bos_sp_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- BOSAngularVelocitySetPoint
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:omega_bos_sp([Advisor:omega_bos_sp]) --> opc:double([opc:double]):::opcClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) --> SetPoint([SetPoint]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:stableDrilling([Advisor:stableDrilling]) --> StableDrillingObjective([StableDrillingObjective]):::typeClass
Advisor:stableFlowrate([Advisor:stableFlowrate]) --> StableFlowrateObjective([StableFlowrateObjective]):::typeClass
Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]) --> StableRotationalVelocityObjective([StableRotationalVelocityObjective]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:omega_bos_sp([Advisor:omega_bos_sp]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> VolumetricFlowrateDrilling([VolumetricFlowrateDrilling]):::quantityClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsSetPointAdviceFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:omega_bos_sp_01([Advisor:omega_bos_sp_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- WOBMaxLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:F_bos_max([Advisor:F_bos_max]) --> opc:double([opc:double]):::opcClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/WOBLimit([WOBLimit]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:F_bos_max([Advisor:F_bos_max]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> ForceDrilling([ForceDrilling]):::quantityClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsSetPointAdviceFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- ROPMaxLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:va_bos_max([Advisor:va_bos_max]) --> opc:double([opc:double]):::opcClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ROPLimit([ROPLimit]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:va_bos_max([Advisor:va_bos_max]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> BlockVelocityDrilling([BlockVelocityDrilling]):::quantityClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- DifferentialPressureMaxLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:dp_PDM_max([Advisor:dp_PDM_max]) --> DynamicDrillingSignal([DynamicDrillingSignal]):::typeClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:PDM_01([Advisor:PDM_01]) --> PositiveDisplacementMotor([PositiveDisplacementMotor]):::typeClass
Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]) --> HydraulicLogicalElement([HydraulicLogicalElement]):::typeClass
Advisor:DifferentialPressure([Advisor:DifferentialPressure]) --> RelativePressureReference([RelativePressureReference]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/DifferentialPressureLimit([DifferentialPressureLimit]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:dp_PDM_max([Advisor:dp_PDM_max]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> PressureDrilling([PressureDrilling]):::quantityClass
Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]) -- http://ddhub.no/IsAHydraulicRepresentationFor --> Advisor:PDM_01([Advisor:PDM_01]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsHydraulicallyLocatedAt --> Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/HasPressureReferenceType --> Advisor:DifferentialPressure([Advisor:DifferentialPressure]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- BitTorqueMaxLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:torque_bos_max([Advisor:torque_bos_max]) --> opc:double([opc:double]):::opcClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/TorqueLimit([TorqueLimit]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:torque_bos_max([Advisor:torque_bos_max]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> TorqueDrilling([TorqueDrilling]):::quantityClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseWOBLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useWOBLimitReference([Advisor:useWOBLimitReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) --> ProcessFeature([ProcessFeature]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/WOBLimit([WOBLimit]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useWOBLimitReference([Advisor:useWOBLimitReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> ForceDrilling([ForceDrilling]):::quantityClass
Advisor:F_bos_max_01([Advisor:F_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsRelatedToDrillingLimit --> Advisor:F_bos_max_01([Advisor:F_bos_max_01]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:useWOBLimitReference_01([Advisor:useWOBLimitReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseROPLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useROPLimitReference([Advisor:useROPLimitReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) --> ProcessFeature([ProcessFeature]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ROPLimit([ROPLimit]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useROPLimitReference([Advisor:useROPLimitReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> BlockVelocityDrilling([BlockVelocityDrilling]):::quantityClass
Advisor:va_bos_max_01([Advisor:va_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsRelatedToDrillingLimit --> Advisor:va_bos_max_01([Advisor:va_bos_max_01]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:useROPLimitReference_01([Advisor:useROPLimitReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseDifferentialPressureLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useDifferentialPressureLimitReference([Advisor:useDifferentialPressureLimitReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) --> ProcessFeature([ProcessFeature]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:PDM_01([Advisor:PDM_01]) --> PositiveDisplacementMotor([PositiveDisplacementMotor]):::typeClass
Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]) --> HydraulicLogicalElement([HydraulicLogicalElement]):::typeClass
Advisor:DifferentialPressure([Advisor:DifferentialPressure]) --> RelativePressureReference([RelativePressureReference]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/DifferentialPressureLimit([DifferentialPressureLimit]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useDifferentialPressureLimitReference([Advisor:useDifferentialPressureLimitReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> PressureDrilling([PressureDrilling]):::quantityClass
Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]) -- http://ddhub.no/IsAHydraulicRepresentationFor --> Advisor:PDM_01([Advisor:PDM_01]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/IsHydraulicallyLocatedAt --> Advisor:Logical_PDM_01([Advisor:Logical_PDM_01]):::classClass
Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]) -- http://ddhub.no/HasPressureReferenceType --> Advisor:DifferentialPressure([Advisor:DifferentialPressure]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsRelatedToDrillingLimit --> Advisor:dp_PDM_max_01([Advisor:dp_PDM_max_01]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:useDifferentialPressureLimitReference_01([Advisor:useDifferentialPressureLimitReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseTorqueLimitReference
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useTorqueLimitReference([Advisor:useTorqueLimitReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) --> ProcessFeature([ProcessFeature]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) --> MaximumLimit([MaximumLimit]):::typeClass
Advisor:bos_01([Advisor:bos_01]) --> BottomOfStringReferenceLocation([BottomOfStringReferenceLocation]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/TorqueLimit([TorqueLimit]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/ContinuousDataType([ContinuousDataType]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useTorqueLimitReference([Advisor:useTorqueLimitReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsMaximumLimitFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsOfMeasurableQuantity --> TorqueDrilling([TorqueDrilling]):::quantityClass
Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]) -- http://ddhub.no/IsPhysicallyLocatedAt --> Advisor:bos_01([Advisor:bos_01]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsRelatedToDrillingLimit --> Advisor:torque_bos_max_01([Advisor:torque_bos_max_01]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:useTorqueLimitReference_01([Advisor:useTorqueLimitReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseFlowrateController
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useROPModeReference([Advisor:useROPModeReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) --> Command([Command]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:stableROP([Advisor:stableROP]) --> StableAxialVelocityObjective([StableAxialVelocityObjective]):::typeClass
Advisor:stableWOB([Advisor:stableWOB]) --> StableAxialForceObjective([StableAxialForceObjective]):::typeClass
Advisor:stableTOB([Advisor:stableTOB]) --> StableTorqueObjective([StableTorqueObjective]):::typeClass
Advisor:ADCSStandardInterface([Advisor:ADCSStandardInterface]) --> DWISADCSInterface([DWISADCSInterface]):::typeClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useROPModeReference([Advisor:useROPModeReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableROP([Advisor:stableROP]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableWOB([Advisor:stableWOB]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableTOB([Advisor:stableTOB]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:StablePDMDiffP([Advisor:StablePDMDiffP]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsCommandFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsRelatedToDrillingObjective --> Advisor:stableROP([Advisor:stableROP]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:ADCSStandardInterface([Advisor:ADCSStandardInterface]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useROPModeReference_01([Advisor:useROPModeReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseRotationSpeedController
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:useWOBModeReference([Advisor:useWOBModeReference]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) --> Command([Command]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:stableROP([Advisor:stableROP]) --> StableAxialVelocityObjective([StableAxialVelocityObjective]):::typeClass
Advisor:stableWOB([Advisor:stableWOB]) --> StableAxialForceObjective([StableAxialForceObjective]):::typeClass
Advisor:stableTOB([Advisor:stableTOB]) --> StableTorqueObjective([StableTorqueObjective]):::typeClass
Advisor:ADCSStandardInterface([Advisor:ADCSStandardInterface]) --> DWISADCSInterface([DWISADCSInterface]):::typeClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/AdvisorySystemAdvice([AdvisorySystemAdvice]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:useWOBModeReference([Advisor:useWOBModeReference]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableROP([Advisor:stableROP]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableWOB([Advisor:stableWOB]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableTOB([Advisor:stableTOB]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:StablePDMDiffP([Advisor:StablePDMDiffP]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsCommandFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsRelatedToDrillingObjective --> Advisor:stableWOB([Advisor:stableWOB]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:ADCSStandardInterface([Advisor:ADCSStandardInterface]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:useWOBModeReference_01([Advisor:useWOBModeReference_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseFlowrateController
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:UseFlowrateController([Advisor:UseFlowrateController]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) --> Command([Command]):::typeClass
Advisor:stableDrilling([Advisor:stableDrilling]) --> StableDrillingObjective([StableDrillingObjective]):::typeClass
Advisor:stableFlowrate([Advisor:stableFlowrate]) --> StableFlowrateObjective([StableFlowrateObjective]):::typeClass
Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]) --> StableRotationalVelocityObjective([StableRotationalVelocityObjective]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:UseFlowrateController([Advisor:UseFlowrateController]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsCommandFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsRelatedToDrillingObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:UseFlowrateController_01([Advisor:UseFlowrateController_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
- UseRotationSpeedController
flowchart TD
classDef typeClass fill:#f96;
classDef classClass fill:#9dd0ff;
classDef opcClass fill:#ff9dd0;
classDef quantityClass fill:#d0ff9d;
Advisor:UseRotationSpeedController([Advisor:UseRotationSpeedController]) --> opc:array_of_2_double([opc:array_of_2_double]):::opcClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) --> Command([Command]):::typeClass
Advisor:stableDrilling([Advisor:stableDrilling]) --> StableDrillingObjective([StableDrillingObjective]):::typeClass
Advisor:stableFlowrate([Advisor:stableFlowrate]) --> StableFlowrateObjective([StableFlowrateObjective]):::typeClass
Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]) --> StableRotationalVelocityObjective([StableRotationalVelocityObjective]):::typeClass
Advisor:AutoDriller([Advisor:AutoDriller]) --> ControllerFunction([ControllerFunction]):::typeClass
Advisor:Advisor([Advisor:Advisor]) --> Advisor([Advisor]):::typeClass
Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]) --> CuttingsTransportFeature([CuttingsTransportFeature]):::typeClass
Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]) --> DrillStemVibrationFeature([DrillStemVibrationFeature]):::typeClass
Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]) --> DrillStemBucklingFeature([DrillStemBucklingFeature]):::typeClass
Advisor:DWISComposer([Advisor:DWISComposer]) --> DWISAdviceComposer([DWISAdviceComposer]):::typeClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/BelongsToClass --> http://ddhub.no/BooleanDataType([BooleanDataType]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/HasDynamicValue --> Advisor:UseRotationSpeedController([Advisor:UseRotationSpeedController]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableDrilling([Advisor:stableDrilling]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableFlowrate([Advisor:stableFlowrate]):::classClass
Advisor:AutoDriller([Advisor:AutoDriller]) -- http://ddhub.no/ImplementsObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsCommandFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsRelatedToDrillingObjective --> Advisor:stableRotationalVelocity([Advisor:stableRotationalVelocity]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:cuttingsTransportFeature([Advisor:cuttingsTransportFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemVibrationFeature([Advisor:drillStemVibrationFeature]):::classClass
Advisor:Advisor([Advisor:Advisor]) -- http://ddhub.no/AccountsFor --> Advisor:drillStemBucklingFeature([Advisor:drillStemBucklingFeature]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsRecommendedFor --> Advisor:AutoDriller([Advisor:AutoDriller]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsRecommendedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsProvidedTo --> Advisor:DWISComposer([Advisor:DWISComposer]):::classClass
Advisor:UseRotationSpeedController_01([Advisor:UseRotationSpeedController_01]) -- http://ddhub.no/IsProvidedBy --> Advisor:Advisor([Advisor:Advisor]):::classClass
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- DWIS.RigOS.Capabilities.FSA.Model (>= 1.0.3-build.2)
- DWIS.RigOS.Capabilities.LogicalStatement.Model (>= 1.0.3-build.8)
- DWIS.RigOS.Common.LookupTableModel (>= 1.0.2-build.21)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.4-build.4 | 0 | 1/30/2025 |
1.0.4-build.3 | 3 | 1/29/2025 |
1.0.4-build.2 | 1 | 1/29/2025 |
1.0.4-build.1 | 35 | 1/28/2025 |
1.0.2 | 32 | 1/28/2025 |