Live provides an solution that user a finite state machine algorithm to analyze and determine the current and past well states called Rig State
The rig state plugin can be found in the marketplace
Global Parameters
The global parameters are initially configured with values predefined by the RigState plugin itself, but can be modified by the user. Changing these parameters is reflected in all rigs that do not have a customized set of parameters (Presets), resulting in a global impact on the Live.
Steps to configure:
Access the RigState configuration screen.
Rig state configuration menu
Rig state configuration page
Find the parameter you wish to update and enter the new value and save.
Rig state configuration page
Physical Model Configuration - Presets
Presets are sets of customizable hyperparameters for rigs, allowing different rigs to use distinct parameters in the RigState state detection algorithms. By default, each rig receives an initial Preset that reflects the values of the global parameters. Additionally, it is possible to create, duplicate, and delete new Presets as needed.
Physical models configuration modal
Steps to use Presets:
The Physical Model Configuration modal can be accessed through the Asset Rig configuration dropdown menu.
Rig config dropdown
Create Preset
Click the "Create New Preset" button and enter a name for the Preset.
New preset button
New preset modal
Change the parameters as necessary and save.
Physical models parameters table
Update Preset
Select the Preset you wish to duplicate.
Preset list
Click the Duplicate button.
Dubplicate preset button
Enter the name of the new Preset.
Duplicate preset modal
Change the parameters as necessary and save the modifications.
Delete Preset
Select the Preset you wish to delete.
Click the Delete button.
Delete preset button
Confirm the deletion of the Preset.
Delete preset modal
Activate Preset
Select the preset you wish to activate.
Click the activate button.
Activate preset button
Pipes functions
State detection is performed through Pipes functions that must be used in the Pipes console. Below is an example of a Pipes query to apply the RigState algorithm, according to the configuration of the RigState screen.
How to use tab in Rig state Configuration page
Available Functions
The Rig State plugin offers the following functions for state calculations:
@rig_state
This function generates a simplified list of events, presenting only the title of the state and the corresponding color that represents it.
Rig state pipes function
Rig state event
@rig_state_full
This function generates a comprehensive list of events, presenting the states in detail. It includes the title of the state, the corresponding color, indicators, parameters used, and information about missing data.
Rig state full pipes function
Rig state event
@normalized_indicators
This function calculates all the indicators used by the RigState algorithm based on the normalized events and returns these indicators, along with the parameters used in the calculations.
Normalized indicators pipe function
Rig state event
The old opmode functions are still available for compatibility reasons:
drilling.normalized_opmode
Pipe function: drilling.normalized_opmode
normalized_operation_mode
Pipe function: normalized_operation_mode
To use the configuration of a specific rig one can use one of the functions that receive the rig name as the first parameter:\
drilling.rig_state
Pipe function: drilling.rig_state
Pipe function: drilling.rig_state
Pipe function: drilling.rig_state
drilling.normalized_rig_state
Pipe function: drilling.normalized_rig_state
Above an example of the query used to retrieve the rig state of a rig by name:
In the following image, it is possible to see the result of the stand length changed in the rig configuration, for the same time period on the dashboard the representation is updated due to the new value passed to the physical model algorithm.\
Rig state detection comparison using algorithms and configuration by rig
Unit configuration
It is possible to configure the rig state detection units constants per rig
Units configuration for rig state detection
Default Value - RigState Parameters
This topic describes how to configure the Rig State detection and it defines all parameters considered and how they impact the Rig State detection.
Parameter
Description and use in RigState
Pipe Lenght
Drill pipe or Casing/Liner joint length
Stand Length
The number of drill pipes or joints that compose a stand. If the bit depth moves more than one stand 'is tripping' is set as true.
Block Weight
Weight of Block or hook load when the drillpipe is 'in slips'. It is the sum of Travelling block weight and Top Drive Weight (Derrick Info).
Minimum Fluid Flow
The minimum fluid flow to set true as 'is circulating'.
Flow rate > minimum fluid flow --> is circulating
Flow rate <= minimum fluid flow -> is not circulating
Minimum Rotary Speed
The minimum Rotatory Speed to set true as 'is rotating'.
Rotatory Speed > minimum Rotatory Speed -> is rotating
Rotatory Speed <= minimum Rotatory Speed -> is not rotating
Minimum Rotary Speed
The minimum Rotatory Speed to set true as 'is rotating'.
Rotatory Speed > minimum Rotatory Speed -> is rotating
Rotatory Speed <= minimum Rotatory Speed -> is not rotating
Minimum Weight On Bit
The minimum Weight On Bit to set true as 'has weight on bit'.
Rotatory Speed > minimum Rotatory Speed -> is rotating
Rotatory Speed <= minimum Rotatory Speed -> is not rotating
Minimum Torque
The Minimum Torque to set true as 'has torque'.
Torque > minimum torque -> has torque
Torque <= minimum torque -> has not torque
Minimum Standpipe Pressure
The Minimum Standpipe Pressure to set true as 'has spp’.
Standpipe pressure > Minimum Standpipe Pressure -> has standpipe pressure
Standpipe pressure <= Minimum Standpipe Pressure -> has no standpipe pressure
Minimum Rate Of Penetration
The Minimum Rate Of Penetration to set true as 'is penetrating'.
ROP > Minimum Rate Of Penetration-> is penetrating
ROP <= Minimum Rate Of Penetration -> is not penetrating
Bottom Depth Tolerance
The threshold to define if the bit is on bottom or off bottom.
Hole depth - bit depth > bottom depth tolerance -> off bottom
Hole depth - bit depth < bottom depth tolerance -> on bottom
Movement Threshold
Movement threshold is used to define if the bit depth and hole depth are constant or not.
Block Weight Tolerance Threshold
Used to define if the hook load is near Travelling Block Weight or not
Hook Load Ratio Threshold
Used to define which variation the hook load is increasing or decreasing
Connection Timeout
Maximum connection time
Minimum Operation
Minimum time to leave of one specific micro rig state (minimum duration of the rigState).
Low Bit Depth Threshold
BHA length. When bit depth is lower than this length the rig state is defined as Column Assembly.
Data Period
Data periodicity (1s, 5s, etc) - Used to calculate the Sliding window length. Impact on OP Mode switch delay.
Default settings and guidelines for adjustment per rig
-- Be sure that the channels below are configured in "Identification" column in "Standard Channels" page.
def @@mnemonics:
(@@channels.weight_on_bit,
@@channels.hole_depth,
@@channels.rotary_speed,
@@channels.rate_of_penetration,
@@channels.bit_depth,
@@channels.fluid_flow,
@@channels.block_position,
@@channels.weight_on_hook,
@@channels.standpipe,
@@channels.torque);
def @@event:'SomeEventType':const; -- The 'SomeEventType' should be replaced by type of generated event in Rigs Data Management.
def @@rigName:'SomeRigName':const; -- The 'SomeRigName' should be replaced by the Rig name.
@@event .timestamp:adjusted_index_timestamp mnemonic!:@@mnemonics
=> @rig_state_full @@rigName, null, @@mnemonics