Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND SYSTEMS FOR AUTOMATED PIPE TALLY
Document Type and Number:
WIPO Patent Application WO/2020/172144
Kind Code:
A1
Abstract:
Methods and apparatus pertaining to a drilling rig operation. The drilling rig includes plural tubular handling components. Operation of the drilling rig includes the tubular handling components collectively handling different numbers of tubulars at different times during the operation. The different numbers of tubulars are automatically determined at the different times based on sensor data acquired during the operation via sensor devices each associated with a corresponding one of the tubular handling components.

Inventors:
ZHENG SHUNFENG (US)
PARMESHWAR VISHWANATHAN (US)
Application Number:
PCT/US2020/018606
Publication Date:
August 27, 2020
Filing Date:
February 18, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SCHLUMBERGER TECHNOLOGY CORP (US)
SCHLUMBERGER CA LTD (CA)
SERVICES PETROLIERS SCHLUMBERGER (FR)
SCHLUMBERGER TECHNOLOGY BV (NL)
International Classes:
E21B19/06; E21B44/02; E21B19/16; E21B47/09
Domestic Patent References:
WO2017210033A12017-12-07
WO2013036139A22013-03-14
Foreign References:
US5107705A1992-04-28
US20140353037A12014-12-04
US20040040746A12004-03-04
Attorney, Agent or Firm:
GREENE, Rachel (US)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method comprising:

causing a drilling rig to perform an operation, wherein:

the drilling rig comprises a plurality of tubular handling components; and

causing the drilling rig to perform the operation causes:

the tubular handling components to collectively handle different numbers of tubulars at different times during the operation; and

the different numbers of tubulars to be automatically determined at the different times based on sensor data acquired during the operation via a plurality of sensor devices each associated with a corresponding one of the tubular handling components.

2. The method of claim 1 wherein the tubular handling components include:

a top drive operable to move a string of the tubulars in a borehole;

an elevator attached to the top drive via links, wherein the elevator is operable to open and close to, respectively, disengage and engage one of the tubulars not in the tubular string, and wherein the links are operable to tilt the elevator away from the top drive;

slips operable to open and close to, respectively, disengage and engage the tubular string; and an iron roughneck operable to apply make-up and break-out torque to:

an uppermost one of the tubulars in the tubular string of tubulars when the uppermost tubular is engaged in the slips; and

another one of the tubulars being made-up or broken-out from the uppermost tubular.

3. The method of claim 2 wherein the automatically determined, different numbers of tubulars are tallies of the number of tubulars in the tubular string at the different times.

4. The method of claim 2 wherein the sensor data is indicative of:

whether the top drive is moving upward, stationary, or moving downward;

a position of the top drive relative to a reference point;

whether the elevator is open or closed;

whether one of the tubulars exists in the elevator; whether or not the elevator is horizontal;

whether or not the links are vertical;

whether or not the slips are engaged;

whether one of the tubulars exists in the slips;

whether or not the iron roughneck is applying make-up torque; and

whether or not the iron roughneck is applying break-out torque.

5. The method of claim 2 wherein the sensor data is indicative of:

which one of a plurality of top drive movement (TDM) states is occupied by the top drive,

wherein the plurality of TDM states consists of a first TDM state in which the top drive is moving upward, a second TDM state in which the top drive is stationary, and a third TDM state in which the top drive is moving downward;

which one of a plurality of top drive position (TDP) states is occupied by the top drive, wherein the plurality of TDP states consists of a first TDP state in which the top drive is within a first range of distances from a reference point, a second TDP state in which the top drive is within a second range of distances further from the reference point than the first range of distances, a third TDP state in which the top drive is within a third range of distances further from the reference point than the second range of distances, and a fourth TDP state in which the top drive is within a fourth range of distances further from the reference point than the third range of distances;

which one of a plurality of elevator engagement (EE) states is occupied by the elevator, wherein the plurality of EE states consists of a first EE state in which the elevator is closed and a second EE state in which the elevator is open;

which one of a plurality of elevator tubular existence (ETE) states is occupied by the elevator, wherein the plurality of ETE states consists of a first ETE state in which one of the tubulars exists in the elevator and a second ETE state in which none of the tubulars exist in the elevator;

which one of a plurality of elevator position (EP) states is occupied by the elevator, wherein the plurality of EP states consists of a first EP state in which the elevator is horizontal and a second EP state in which the elevator is not horizontal; which one of a plurality of links position (LP) states is occupied by the links, wherein the plurality of LP states consists of a first LP state in which the links are vertical and a second LP state in which the links are not vertical;

which one of a plurality of slips engagement (SE) states is occupied by the slips, wherein the plurality of SE states consists of a first SE state in which the slips are engaged and a second SE state in which the slips are not engaged;

which one of a plurality of slips tubular existence (STE) states is occupied by the slips, wherein the plurality of STE states consists of a first STE state in which one of the tubulars exists in the slips and a second STE state in which none of the tubulars exist in the slips;

which one of a plurality of make-up torque (MUT) states is occupied by the iron roughneck, wherein the plurality of MUT states consists of a first MUT state in which the iron roughneck is applying MUT and a second MUT state in which the iron roughneck is not applying MUT; and

which one of a plurality of break-out torque (BOT) states is occupied by the iron roughneck, wherein the plurality of BOT states consists of a first BOT state in which the iron roughneck is applying BOT and a second BOT state in which the iron roughneck is not applying BOT.

6. The method of claim 2 wherein the tubular handling components further include:

a mousehole extending through a rig floor of the drilling rig, wherein the mousehole is laterally offset from a well center that is vertically aligned with an uphole end of the borehole, and wherein the mousehole is able to store one of the tubulars; and

a catwalk operable to move between raised and lowered positions to transfer one or more of the tubulars from a pipe rack to the rig floor.

7. The method of claim 6 wherein the automatically determined, different numbers of tubulars include:

a first tally of the number of tubulars in the tubular string at the different times; and

a second tally of the number of tubulars that have been transferred from the pipe rack to the rig floor via the catwalk.

8. The method of claim 6 wherein the sensor data is indicative of:

whether the top drive is moving upward, stationary, or moving downward; a position of the top drive relative to a reference point;

whether the elevator is open or closed;

whether one of the tubulars exists in the elevator;

whether or not the elevator is horizontal;

whether or not the links are vertical;

whether or not the slips are engaged;

whether one of the tubulars exists in the slips;

whether or not the iron roughneck is applying make-up torque;

whether or not the iron roughneck is applying break-out torque;

whether one of the tubulars exists in the mousehole;

whether the catwalk is raised or lowered; and

whether one of the tubulars exists in the catwalk.

9. The method of claim 6 wherein the sensor data is indicative of:

which one of a plurality of top drive movement (TDM) states is occupied by the top drive,

wherein the plurality of TDM states consists of a first TDM state in which the top drive is moving upward, a second TDM state in which the top drive is stationary, and a third TDM state in which the top drive is moving downward;

which one of a plurality of top drive position (TDP) states is occupied by the top drive, wherein the plurality of TDP states consists of a first TDP state in which the top drive is within a first range of distances from a reference point, a second TDP state in which the top drive is within a second range of distances further from the reference point than the first range of distances, a third TDP state in which the top drive is within a third range of distances further from the reference point than the second range of distances, and a fourth TDP state in which the top drive is within a fourth range of distances further from the reference point than the third range of distances;

which one of a plurality of elevator engagement (EE) states is occupied by the elevator, wherein the plurality of EE states consists of a first EE state in which the elevator is closed and a second EE state in which the elevator is open;

which one of a plurality of elevator tubular existence (ETE) states is occupied by the elevator, wherein the plurality of ETE states consists of a first ETE state in which one of the tubulars exists in the elevator and a second ETE state in which none of the tubulars exist in the elevator;

which one of a plurality of elevator position (EP) states is occupied by the elevator, wherein the plurality of EP states consists of a first EP state in which the elevator is horizontal and a second EP state in which the elevator is not horizontal;

which one of a plurality of links position (LP) states is occupied by the links, wherein the

plurality of LP states consists of a first LP state in which the links are vertical and a second LP state in which the links are not vertical;

which one of a plurality of slips engagement (SE) states is occupied by the slips, wherein the plurality of SE states consists of a first SE state in which the slips are engaged and a second SE state in which the slips are not engaged;

which one of a plurality of slips tubular existence (STE) states is occupied by the slips, wherein the plurality of STE states consists of a first STE state in which one of the tubulars exists in the slips and a second STE state in which none of the tubulars exist in the slips;

which one of a plurality of make-up torque (MUT) states is occupied by the iron roughneck, wherein the plurality of MUT states consists of a first MUT state in which the iron roughneck is applying MUT and a second MUT state in which the iron roughneck is not applying MUT; which one of a plurality of break-out torque (BOT) states is occupied by the iron roughneck, wherein the plurality of BOT states consists of a first BOT state in which the iron roughneck is applying BOT and a second BOT state in which the iron roughneck is not applying BOT; which one of a plurality of mousehole tubular existence (MTE) states is occupied by the

mousehole, wherein the plurality of MTE states consists of a first MTE state in which one of the tubulars exists in the mousehole and a second MTE state in which none of the tubulars exist in the mousehole;

which one of a plurality of catwalk position (CP) states is occupied by the catwalk, wherein the plurality of CP states consists of a first CP state in which the catwalk is in the raised position and a second CP state in which the catwalk is in the lowered position; and

which one of a plurality of catwalk tubular existence (CTE) states is occupied by the catwalk, wherein the plurality of CTE states consists of a first CTE state in which one of the tubulars exists in the catwalk and a second CTE state in which none of the tubulars exist in the catwalk.

10. The method of claim 6 wherein the tubular handling components further include: a setback; and

a fingerboard able to retain upper ends of ones of the tubulars resting on the setback.

11. The method of claim 10 wherein the sensor data is indicative of:

whether the top drive is moving upward, stationary, or moving downward;

a position of the top drive relative to a reference point;

whether the elevator is open or closed;

whether one of the tubulars exists in the elevator;

whether or not the elevator is horizontal;

whether or not the links are vertical;

whether or not the slips are engaged;

whether one of the tubulars exists in the slips;

whether or not the iron roughneck is applying make-up torque;

whether or not the iron roughneck is applying break-out torque;

whether one of the tubulars exists in the mousehole;

whether the catwalk is raised or lowered;

whether one of the tubulars exists in the catwalk;

whether one of the tubulars is resting on the setback; and

where one or more of the tubulars are retained in indexed positions within the fingerboard.

12. A method comprising:

acquiring a plurality of sensor measurements individually and/or collectively indicative of a state of each of a plurality of components of a drilling rig, including:

a first state pertaining to slips operable to engage and disengage a drill string formed of a plurality of stands each comprising a plurality of tubulars;

a second state pertaining to a top drive operable to move the drill string when the drill string is not engaged by the slips;

a third state pertaining to an elevator operable for engaging and disengaging a tubular to the top drive;

a fourth state pertaining to an iron roughneck operable to alter a connection between the tubular and the drill string; and a fifth state pertaining to movement of the top drive;

acquiring fingerboard information pertaining to a number of additional stands indexed in a

fingerboard; and

utilizing the acquired sensor measurements and fingerboard information to track movements of the stands and the additional stands between the fingerboard and the drill string.

13. The method of claim 12 wherein:

the states further comprise a sixth state pertaining to operation of a catwalk operable to transfer tubular joints from a pipe rack to a rig floor of the drilling rig; and

the tracked movements are between the pipe rack and the drill string.

14. A method comprising:

determining a number of tubulars collectively being handled by a plurality of tubular-handling components of a drilling rig during a given operation performed by the drilling rig, wherein the determination is based on sensor data received from a plurality of sensor devices each associated with a corresponding one of the tubular-handling components.

15. The method of claim 14 wherein the tubular-handling components include:

slips operable to engage and disengage a drill string formed of a plurality of stands each

comprising a plurality of the tubulars;

a top drive operable to move the drill string when the drill string is not engaged by the slips; an elevator operable for engaging and disengaging one of the tubulars relative to the top drive; and

an iron roughneck operable to alter a connection between the drill string and one of the tubulars engaged with the top drive.

16. A method comprising:

obtaining sensor data from equipment on a drilling rig; and

determining a pipe tally based on the sensor data.

17. The method of claim 16 wherein the sensor data is obtained from an indexer, a kicker device, a fingerboard, a slip, an iron roughneck, a top drive, or an elevator.

18. The method of claim 16 wherein the pipe tally is updated based on an indexer moving a tubular into a catwalk trough or a kicker device moving the tubular to a pipe rack.

19. An automated pipe tally system comprising:

a plurality of sensors of a drilling rig; and

a computing device in communication with the sensors and operable to determine a pipe tally based on data from the sensors.

20. A non-transitory, computer-readable medium storing instructions executable by a computer processor to:

process sensor data from equipment on a drilling rig; and

determine a pipe tally based on the sensor data.

Description:
Methods and Systems for Automated Pipe Tally

Cross-Reference to Related Application

[0001] The present document is based on and claims priority to U.S. Provisional Application Serial No.: 62/807,005, filed February 18, 2019, which is incorporated herein by reference in its entirety.

Background of the Disclosure

[0002] Tubulars provide information about operations on a drilling rig. For example, the length of a borehole corresponds directly to the number of tubulars inserted into a well. Pipe tallying is conventionally performed by a person through manual record keeping. However, human errors in a pipe tally may result in severe consequences.

Summary of the Disclosure

[0003] This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify indispensable features of the claimed subject matter, nor is it intended for use as an aid in limiting the scope of the claimed subject matter.

[0004] The present disclosure introduces a method that includes causing a drilling rig to perform an operation. The drilling rig includes tubular handling components. Causing the drilling rig to perform the operation causes the tubular handling components to collectively handle different numbers of tubulars at different times during the operation. The drilling rig includes tubular handling components. Causing the drilling rig to perform the operation also causes the different numbers of tubulars to be automatically determined at the different times based on sensor data acquired during the operation via sensor devices each associated with a corresponding one of the tubular handling components.

[0005] The present disclosure also introduces a method that includes acquiring sensor measurements that are individually and/or collectively indicative of a state of each of a number of components of a drilling rig. The indicated states include a first state pertaining to slips operable to engage and disengage a drill string formed of a number of stands each including plural tubulars, a second state pertaining to a top drive operable to move the drill string when the drill string is not engaged by the slips, a third state pertaining to an elevator operable for engaging and disengaging a tubular to the top drive, a fourth state pertaining to an iron roughneck operable to alter a connection between the tubular and the drill string, and a fifth state pertaining to movement of the top drive. The method also includes acquiring fingerboard information pertaining to a number of additional stands indexed in a fingerboard, utilizing the acquired sensor measurements and fingerboard information to track movements of the stands and the additional stands between the fingerboard and the drill string.

[0006] The present disclosure also introduces a method that includes determining a number of tubulars collectively being handled by tubular-handling components of a drilling rig during a given operation performed by the drilling rig. The determination is based on sensor data received from sensor devices each associated with a corresponding one of the tubular-handling components.

[0007] The present disclosure also introduces a method that includes obtaining sensor data from equipment on a drilling rig and determining a pipe tally based on the sensor data.

[0008] The present disclosure also introduces an automated pipe tally system that includes sensors of a drilling rig and a computing device in communication with the sensors and operable to determine a pipe tally based on data from the sensors.

[0009] The present disclosure also introduces a non-transitory, computer-readable medium storing instructions executable by a computer processor to process sensor data from equipment on a drilling rig and determine a pipe tally based on the sensor data.

[0010] These and additional aspects of the present disclosure are set forth in the description that follows, and/or may be learned by a person having ordinary skill in the art by reading the material herein and/or practicing the principles described herein. At least some aspects of the present disclosure may be achieved via means recited in the attached claims.

Brief Description of the Drawings

[0011] The present disclosure is understood from the following detailed description when read with the accompanying figures. It is emphasized that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.

[0012] FIG. l is a schematic view of at least a portion of an example implementation of apparatus according to one or more aspects of the present disclosure. [0013] FIG. 2 is a schematic view of at least a portion of an example implementation of a drilling control system according to one or more aspects of the present disclosure.

[0014] FIG. 3 is a schematic view of a portion of the apparatus shown in FIG. 1.

[0015] FIG. 4 is a schematic view of a portion of the apparatus shown in FIG. 1.

[0016] FIG. 5 is a schematic view of a portion of the apparatus shown in FIG. 1.

[0017] FIG. 6 is a schematic view of a portion of the apparatus shown in FIG. 1.

[0018] FIG. 7 is a schematic view of a portion of the apparatus shown in FIG. 1.

[0019] FIG. 8 is a schematic view of at least a portion of an example implementation of logic according to one or more aspects of the present disclosure.

[0020] FIG. 9 is a schematic view of at least a portion of an example implementation of additional logic according to one or more aspects of the present disclosure.

[0021] FIG. 10 is a schematic view of at least a portion of an example implementation of apparatus according to one or more aspects of the present disclosure.

[0022] FIG. 11 is a schematic view of at least a portion of an example implementation of a network according to one or more aspects of the present disclosure.

[0023] FIG. 12 is a schematic view of at least a portion of an example implementation of apparatus according to one or more aspects of the present disclosure.

Detailed Description

[0024] It is to be understood that the following disclosure provides many different embodiments, or examples, for implementing different features of various embodiments.

Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.

[0025] In the following detailed description, specific details are set forth in order to provide a more thorough understanding of the aspects introduced in the present disclosure. However, it will be apparent to a person having ordinary skill in the art that one or more aspects of the present disclosure may be practiced without these specific details. In other instances, well- known features may not be described in detail, so as to avoid complicating the description. [0026] Throughout the following description, ordinal numbers ( e.g ., first, second, third, etc.) may be used as an adjective for an element (i.e., a noun in the application). However, the use of ordinal numbers is not to imply or create specific ordering of the elements nor to limit an element to being just a single element, unless expressly disclosed, such as by the use of the terms “before,”“after,”“single,” and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.

[0027] The present disclosure introduces implementations of an automated pipe tally system, method, and a computer-readable medium that manage drilling rig information, identify equipment states, and track one or more pipe tallies in a drilling rig automatically. Accurate tallying of tubulars may be a vital operation. For example, the pipe tally may serve as the basis for a driller (e.g., whether human or at least partially automated) to understand bit depth and/or borehole depth. Tubulars may include rigid and/or flexible pipe components, as well as pipe components of varying lengths, shapes, diameters, and other physical dimensions. Thus, mistakes in pipe tallies may have severe consequences ranging from tool failures resulting in non-productive time (NPT) at a drilling rig to catastrophic well control events. Automating the pipe tally may reduce or remove a human operator (or provide redundancy for) from manually tracking the pipe tally, which may otherwise distract the operator from other operations on the rig.

[0028] Implementations within the scope of the present disclosure include an automated pipe tally system that may record when a stand of pipe is brought from a fingerboard to a well center for connecting tubulars to a drill string, or vice versa. For example, a stand of pipe may include multiple pipe units threaded together. Implementations within the scope of the present disclosure may track the movement of tubulars on a rig, such as from a pipe rack, to a catwalk, to a mousehole (for example, where a stand of pipe is assembled), to a fingerboard, and to a well center. Implementations within the scope of the present disclosure may identify the status of equipment at the drilling rig, include one or more of the following equipment states: (1) whether a tubular is engaged by or disengaged from slips and/or whether or not a tubular is positioned within such slips (i.e., slip status); (2) whether a tubular is inside a well or outside the well; (3) whether a new stand of pipe has been brought to a well center; (4) whether an iron roughneck is connecting or disconnecting a tubular (i.e., lower pipe connection status or roughneck operation status); (5) whether a top drive or elevator is connecting to a tubular (i.e., elevator status or top drive connection status); (6) whether tubulars are removed from a drill string during a tripping operation (i.e., pipe is tripping) or a drilling operation; and (7) other equipment states, such as a traveling block movement status, among other examples. Based on one or more of the equipment states, the automated pipe tally system may update a pipe tally automatically.

Likewise, equipment states may be determined by an automated pipe tally system using sensor measurements from various types of sensor devices, such as described below with respect to FIG. 2, among other possible examples also within the scope of the present disclosure.

[0029] The length of each stand of pipe (and/or of each individual tubular) may be provided as an input to the automated pipe tally system. Thus, for example, the automated pipe tally system may individually track each stand brought from the fingerboard to well center and update the individual pipe tally length automatically using this information. A length of a stand of pipe may instead be measured automatically, e.g ., when the stand is moved from the fingerboard to well center. For example, the length may be measured automatically via one or more optical detectors, such as of one or more cameras, laser-based measurement devices, ultrasonic sensors, position measurements by encoders on a drill line, encoders on a drawworks, and/or other examples. The automated pipe tally system may update the individual stand of pipe length automatically through various measurements for future reference. The automated pipe tally system may include and/or be at least partially implemented via a computing system, such as the computing system described below with respect to FIGS. 10, 11 and/or 12.

[0030] Implementations within the scope of the present disclosure may start tracking tubulars at different points in a drilling rig. For example, the automated pipe tally system may track the movement of a tubular from a pipe rack through a catwalk, rig floor, fingerboard, and/or well center. This movement may be tracked automatically, such as via sensors that detect one or more machine states so that the location or movement of a particular piece (or stand) of pipe is known and automatically provided to the pipe tally. The automated pipe tally system may determine a quantity of tubulars in a string of pipe (e.g, a drill string), the wellbore, the pipe rack, the catwalk, the fmgerboard/setback, and/or other locations throughout the drilling rig. The automated pipe tally system may identify unique ones of the tubulars. For example, one or more of the tubulars may have a unique identifier (e.g, a tag, etching, stamp, etc.) detected by optical, radio-frequency identification (RFID), and/or other processes, such that the automated pipe tally system may determine the location and track (z.e., path of movement) of such tubulars within the drilling rig. However, one or more of the tubulars may not have a unique identifier.

[0031] One or more pipe tallies may be maintained by the automated pipe tally system, such as starting from the time that a tubular is brought from the catwalk to the rig floor. When a tubular (whether a single joint or a stand comprising multiple joints) is brought up from the catwalk to the rig floor, the length of the tubular may be estimated based on the distance of the stops at both ends of the tubular. If a tubular stand is built on the rig floor after unassembled joints of the stand are brought to the rig floor, the length of the stand may be estimated based on the lengths of the individual joints. The stand may then be racked on the fingerboard. The length of the stand, or the lengths of the individual joints of the stand, may then be used as input for the automated pipe tally system, such as to facilitate subsequent operations. The automated pipe tally system may maintain a fingerboard pipe tally, which may include the index (or location) of each individual tubular in the fingerboard, which joints are in the stands in the fingerboard, the lengths of the stands in the fingerboard, and/or other details. The fingerboard pipe tally may be used to track the movement of tubulars into and out of the well using (or otherwise in conjunction with) equipment states described herein (and perhaps others).

[0032] The automated pipe tally system may include or facilitate one or more error detection processes. For example, by analyzing sensor measurements from different equipment, the automated pipe tally system may verify whether a tubular was improperly added to a tally by a false sensor reading. The automated pipe tally system may analyze recorded data to verify the accuracy of one or more previous pipe tallies obtained at a drilling rig. For example, sensors associated with different equipment may provide levels of redundancy in detecting and analyzing pipe tallies.

[0033] The automated pipe tally system may manage multiple tallies simultaneously. One or more of the tallies may be populated based on the locations of pipe within a drilling rig. One or more of the tallies and/or different tallies may be dynamically managed, such as based on movement and/or track of the tubulars.

[0034] The automated pipe tally system may track the different locations of a tubular in a tally. Such tracking may be based on inputs from sensors, equipment states, and/or other examples.

[0035] The automated pipe tally system may track individual joints within each stand, perhaps including stands in the well, a drill string, the mousehole, the fingerboard, a setback, the catwalk, the pipe rack, and/or other locations. The automated pipe tally system may manage the length, weight, and/or other characteristics of joints and/or stands in such locations.

[0036] The automated pipe tally system may keep track of joints and/or stands through their movement and/or track on the rig ( e.g ., pipe rack to catwalk to mousehole to fingerboard) automatically through the use of equipment states, such that the location of each individual joint and/or stand is constantly known, and perhaps such that the next location(s) of each individual joint and/or stand is constantly known. This may be accomplished via one or more automatic pipe tallies.

[0037] The automated pipe tally system may use one or more pipe tallies to automatically track bit depth and/or borehole depth. For example, by automating one or more pipe tallies, including by tracking the movement and/or track of pipes on the rig leading up to and as each pipe is added to the drill string, the bit depth and/or borehole depth may be tracked

automatically.

[0038] By tracking the movement of the pipes on the rig, and as a drill string is built (or tripped), the automated pipe tally system may be utilized to optimize equipment operation.

[0039] FIG. l is a schematic view of at least a portion of an example implementation of a drilling system 10 according to one or more aspects of the present disclosure. A drill string 14 extending from a drilling rig 18 is disposed in a borehole 22 that extends into earth (e.g., comprising one or more subterranean formations) 26 from a wellsite surface 30. The borehole 22 is shown being cut by the action of a drill bit 34 disposed at the far end of a bottom-hole assembly (BHA) 38 that is attached to and forms the lower portion of the drill string 14. The BHA 38 comprises a number of devices, modules, tools, and/or components referred to herein as subassemblies 42. For example, the subassemblies 42 may include measurement-while-drilling (MWD) subassemblies 43 for measuring direction, inclination, resistivity, density, porosity, downhole pressure (e.g, internal to the drill string 14, in the annulus defined between the borehole 22 and the drill string 14, and/or in a subterranean formation (26) penetrated by the borehole 22), and/or other survey data. The subassemblies 42 may also include one or more subassemblies 44 for measuring torque and/or weight-on-bit (WOB). The subassemblies 42 may also include one or more electric, hydraulic, and/or mud-powered motors 45 for rotating the drill bit 34.

[0040] The drilling rig 18 may comprise a derrick 46, a hoisting system, a rotating system, and/or a mud circulation system, for example. The hoisting system imparts vertical movement (and, thus, WOB) to the drill string 14 via, for example, a drawworks 50, a drill line 54, a crown block 58, traveling block (and perhaps hook) 62, a drilling line 66 connecting the

crown/traveling blocks 58/62, a top drive/swivel 70, and a deadline 74. The rotating system imparts rotation to the drill string 58 via, for example, the top drive 74 and/or a kelly 78, a rotary table 82, and/or engines (not shown). Although the drilling system 10 is shown being on land, one or more aspects of the present disclosure are also applicable or readily adaptable to marine environments.

[0041] The mud circulation system may comprise one or more pumps 86 operable for pump drilling fluid (“mud”) from storage ( e.g ., a mud pit) 88 to the BHA 38 and/or drill bit 34 via one or more surface conduits 89 and an internal passage of the drill string 14, as indicated in FIG. 1 by arrow 15. The mud may be a mixture of water and/or diesel fuel, special clays, and/or other chemicals. One or more aspects of the present disclosure may also be applicable or readily adaptable to underbalanced drilling where, at some point prior to entering the drill string 14, gas may be introduced into the mud using an injection system (not shown).

[0042] The mud exits ports of the drill bit 34 and/or BHA 38 and travels back to surface in the annulus 17 between the drill string 14 and the sidewall(s) of the borehole 22, as indicated in FIG. 1 by arrows 16, thus lifting cuttings away from the drill bit 34. However, one or more aspects of the present disclosure may also be applicable or readily adaptable to reverse circulation/drilling, in which mud is pumped downhole through the annulus 17 and returns uphole through the internal passage of the drill string 14. In either case, the mud and cuttings returning to the surface may leave the well through a side outlet in blowout preventer (BOP) 90, a mud return line (not shown), and/or other conduits and surface equipment. The BOP 90 comprises one or more pressure control devices and/or rotary seals. The returning mud may be fed into one or more separators (not shown) which may separate the cuttings from the mud. The mud may then be returned to the mud pit 88 for storage and re-use.

[0043] Various sensors may be placed on the drilling rig 18 to obtain measurements associated with the equipment described above, below, and/or otherwise within the scope of the present disclosure. For example, a hook load may be measured by one or more hook load sensors 91 mounted on the deadline 74 and/or other locations along a load path affected by the weight suspended from the traveling block 62. The position and related velocity of the traveling block 62 may be measured by one or more sensors (e.g., a block sensor) 92, such as may be part of or otherwise associated with the drawworks 50. Surface torque (applied and/or reactive) may be measured by one or more sensors 93 located on and/or otherwise associated with the top drive 70 and/or rotary table 82. Standpipe pressure (perhaps including mud-pulse telemetry signals) may be measured by one or more pressure sensors 94, such as may be located on and/or otherwise associated with the fluid conduit(s) 89. One or more of the pressure sensors 94 may also detect mud-pulse telemetry signals transmitted uphole from the BHA 38. For example, such pressure sensor(s) may comprise a transducer that converts mud pressure pulses into electronic signals. Such transducer and/or a surface processor 95 may convert the mud pressure pulses and/or electronic signals into digital form, and the surface processor 95 may store and process the digital signals into useable MWD data.

[0044] Signals from these and other measurements may be communicated to the surface processor 95 and/or other network elements (not shown) disposed around the drilling rig 18. The surface processor 95 may be communication with the drawworks 50, the top drive 70, the mud pump(s) 86, and/or other components of the drilling rig 18, such as for providing control signals to such equipment and/or for receiving measurements, states, and/or other information from the equipment, among other possible purposes within the scope of the present disclosure. Such communication is depicted in FIG. 1 via example connections 97, it being understood that such connections 97 may be wired or wireless, and that wired or wireless connections different from those shown in FIG. 1 may also exist for communication between the surface processor 95 and various components of the drilling rig 18 within the scope of the present disclosure.

[0045] The surface processor 95 may be programmed to automatically detect one or more rig and/or equipment states based on the various input channels described. The surface processor 95 may be programmed and/or otherwise operable to, for example, carry out an automated event detection as described above. The surface processor 95 may transmit rig state and/or event detection information to a user-interface system 96, such as may be designed to warn various drilling personnel of events occurring on the rig and/or suggest activity to the drilling personnel to avoid specific events. As described below, the rig equipment may be monitored and/or operated by a drilling management network coupled to the drilling rig 18.

[0046] For example, FIG. 2 is a schematic view of at least a portion of an example implementation of a drilling control system 200 according to one or more aspects of the present disclosure. The drilling control system 200 may comprise a drilling management network 230 that may automate one or more drilling processes associated with rig equipment (such as components of the drilling system 10 shown in FIG. 1) without manual human intervention. The drilling management network 230 may include an application suite, such as may comprise network elements 231, drilling equipment 232 (such as those shown in FIG. 1), a human- machine interface (HMI) 233, onsite user equipment 234, one or more drilling operation control systems 235 (one or more of which may include or embody an automated pipe tally system as introduced herein), one or more maintenance control systems 236, a historian 237, a network controller 238, and communication bus 239.

[0047] The HMI 233 may be hardware and/or software coupled to the automated pipe tally system. For example, the HMI 233 may permit a human operator to interact with the drilling control system 200, such as to send commands to operate the drilling equipment 232 and/or to view sensor/state information from the drilling equipment 232. The HMI 233 may include functionality for presenting data and/or receiving inputs from a user regarding various drilling operations controlled via the drilling operation control system(s) 235 and/or maintenance operations controlled via the maintenance control system(s) 236. The HMI 233 may include software to provide a graphical user interface (GUI) for presenting data and/or receiving control commands for operating the drilling equipment 232.

[0048] The network elements 231 may comprise various components (software and/or hardware) within a network, such as switches, routers, hubs, and/or other logical entities for uniting one or more physical and/or virtual devices in the network. The network elements 231, the HMI 233, and/or the historian 237 may form at least a portion of (or be embodied by) a computing system similar to the computing system 600 depicted in FIG. 10 and/or a network similar to the network 620 shown in FIG. 11.

[0049] FIG. 2 also depicts a sensor device 220 as an example of one or more of the sensors described above with respect to FIG. 1 and which may be coupled to or otherwise utilized in conjunction with the automated pipe tally system. The sensor device 220 may include hardware and/or software that includes functionality to obtain one or more sensor measurements, such as a sensor measurement of an environment condition proximate the sensor device 220. The sensor device 220 may process the sensor measurements into various types of sensor data 215 communicated to one or more components of the drilling management network 230. For example, the sensor device 220 may include a processor 221 and memory 223 having instructions executable by the processor 221 to convert sensor measurements obtained from the sensor circuitry 224 into a communication protocol format that may be transmitted as the sensor data 215 over the drilling management network 230 via a communication interface 222 one or more network connections 240. The drilling control system 200 may comprise multiple instances of the sensor device 220 each implemented as a pressure sensor, a torque sensor, a weight sensor, a rotation sensor, a position sensor, an actuator/switch state sensor, and/or another state sensor, among other examples also within the scope of the present disclosure. In one or more instances of the sensor device 220, the processor 221 may be at least similar to the computer processor 602 depicted in FIG. 10, the communication interface 222 may be at least similar to the communication interface 612 depicted in FIG. 10, and the memory 223 may be at least similar to the non-persistent storage 604 and/or the persistent storage 606 depicted in FIG. 10.

[0050] The drilling operation control system(s) 235 and/or the maintenance control system(s) 236 may each be or comprise a programmable logic controller (PLC) and/or other controller comprising hardware and/or software with functionality to control one or more processes performed by and/or in conjunction with the drilling rig 18 shown in FIG. 1 and/or other equipment within the scope of the present disclosure. For example, such controllers/control systems may control actuator states, valve states, motor positions/speeds/rates, fluid levels, fluid pressures, warning alarms, pressure releases, and/or other actions and/or states throughout the drilling system 10 shown in FIG. 1 and/or other drilling systems within the scope of the present disclosure. The PLCs and/or other controllers may each be a ruggedized computer system with functionality to withstand vibrations, extreme temperatures, wet conditions, and/or dusty conditions encountered at the wellsite.

[0051] The drilling operation control system(s) 235 and/or the maintenance control system(s) 236 may refer to control systems that include multiple PLCs within the drilling management network 230. Such control systems may each or collectively include functionality to control operations within a system, assembly, and/or subassembly described above with respect to FIG. 1. For example, one or more of the drilling operation control systems 235 may include functionality to monitor and/or perform various drilling processes with respect to the mud circulation system, the rotating system, the hoisting system, a pipe handling system (described below), and/or other drilling activities described herein. Likewise, one or more of the maintenance control systems 236 may include functionality to monitor and/or perform various maintenance activities regarding drilling equipment. Moreover, although the drilling operation control system(s) 235 and the maintenance control system(s) 236 are depicted in FIG. 2 as separate systems, a PLC and/or other controller and/or components of the drilling equipment 232 may be used in a drilling operation control system 235 and a maintenance control system 236 simultaneously.

[0052] One or more of the sensor devices 220 may include functionality to establish (or is otherwise able to be so established) the one or more network connections 240 with one or more portions of the drilling management network 230, such as the network controller 238, one or more of the drilling operation control systems 235, and/or one or more of the maintenance control systems 236. The network connection 240 may be an Ethernet connection that establishes an Internet Protocol (IP) address for the sensor device(s) 220. Accordingly, one or more devices and/or systems on the drilling management network 230 may transmit commands, queries, and/or other signals 216 to the sensor device(s) 220 and/or receive the sensor data 215 ( e.g ., data packets) from the sensor device(s) 220 using the Ethernet network protocol. The sensor data 215 may be sent over the drilling management network 230 (in data packets and/or other signals) using a communication protocol. The sensor data 215 may include sensor measurements, processed sensor data based on one or more underlying sensor measurements or parameters, metadata regarding a sensor device such as timestamps and sensor device identification information, content attributes, sensor configuration information such as offset, conversion factors, etc. As such, one or more of the sensor device(s) 220 may act as a host device on the drilling management network 230, such as a network node and/or an endpoint on the drilling management network 230. One or more of the sensor devices 220 may connect to the drilling management network 230 through a power-over-Ethemet network.

[0053] One or more of the sensor devices 220 may not include the communication interface 222 and/or functionality for establishing a connection directly to an endpoint on the drilling management network 230. For example, such sensor devices 220 may be coupled with a middle layer computer that includes functionality for transmitting the sensor data 215 over the drilling management network 230.

[0054] The communication bus 239 may include hardware, such as network components, wires, optical fibers, etc ., which may connect one or more network elements 231 and perhaps other portions the drilling management network 230. The communication bus 239 may include software, such as one or more communication protocols, that include functionality for transmitting sensor data between devices, such as between the sensor device(s) 220 and various control systems on the drilling management network 230. The onsite user equipment 234 may include phone systems, personal computers for various users, printers, application servers, and/or file servers located around a drilling rig.

[0055] The network controller 238 includes software and/or hardware that includes functionality for receiving requests from the control systems 235/236 to subscribe to respective sensor devices 220. The network controller 238 may implement one or more communication protocols for transmitting sensor data throughout the drilling management network 230. For example, the network controller 238 may be a software-defined network (SDN) controller implemented on multiple network elements in the drilling management network 230.

[0056] One or more of the sensor devices 220 may form a network connection (such as an Ethernet connection) or is otherwise connected to the automated pipe tally system. The network connection may be authenticated using password and/or other identification information from the sensor device 220. The sensor devices 220 may have plug-and-play functionality, whereby the sensor device 220 may communicate directly with various network elements 231 and/or control systems 235/236 on the drilling management network 230. One or more of the sensor devices 220 may connect to the automated pipe tally system and/or other portion of the drilling management network 230 without a middle layer ( e.g ., a middle layer computer interfacing between the sensor device 220 and the drilling management network 230). The drilling management network 230 may use a communication middleware, such as publisher and receiver, to exchange data between different network nodes. An example communication middle layer is distributed data service (DDS). The sensor device(s) 220 may support this communication middleware, such that information describing the sensor device(s) 220 can be readily shared with other network nodes when connected to the drilling management network 230.

[0057] One or more communication protocols may implement a software architecture that implements a publish-subscribe model among various network elements on and/or connected to the drilling management network 230. If a respective control system or a component of the respective control system is a subscriber for a particular sensor device 220 in a particular virtual network or domain, sensor data from the sensor device 220 may be relayed to the respective control system or the respective control system’s component accordingly. For example, if a sensor device 220 has five subscribers, sensor data from the sensor device 220 may be transmitted to each of the five subscribers each time that sensor data is broadcast over the drilling management network 230. Thus, the sensor device 220 may act as a publisher in the publish- subscribe model. The drilling management network 230 may issue a security certificate to a device in order to designate the device as a subscriber and/or publisher.

[0058] While FIGS. 1 and 2 show various configurations of components, other

configurations are also within the scope of the present disclosure. For example, various components in FIGS. 1 and 2 may be combined to create a single component. As another example, the functionality performed by a single component may be performed by two or more components.

[0059] FIG. 3 is a schematic view of a portion of the drilling system 10 shown in FIG. 1, including some features that do not appear in FIG. 1. For example, the top drive 70 includes an elevator 100 operable to open and close around a pipe stand 104. The elevator 100 is pivotable away from the horizontal position shown in FIG. 3, and a pair of top drive elevator links 108 are pivotable away from vertical positions, wherein such movements of the elevator 100 and the links 108 permit the elevator 100 to access pipes and pipe stands 104 that are not over well center, such as in a mousehole or being transferred from/to a catwalk (e.g, see FIG. 4). FIG. 3 also depicts a set of automated slips 112 operable to close around a stub 116 of the drill string 14 projecting upward out of the borehole and thereby suspend the drill string 14 within the borehole, and subsequently open (as shown in FIG. 3) to permit passage of the drill string 14. The drilling rig 18 may also include an iron roughneck 120 operable to apply torque to the stub 116 and the pipe stand 104 to makeup and breakout the threaded connection between the stub 116 and the pipe stand 104. Various sensors may be instrumented on this equipment to indicate different equipment states.

[0060] For example, one or more sensor devices 113 may be disposed on or otherwise associated with the slips 112 to indicate whether the slips are open or closed. One or more of the sensors 113 may indicate whether pipe (e.g, the drill string 14) is disposed in the slips 112, such as an“in slip” position. The one or more sensors 113 may include position sensors, pressure sensors, and/or load sensors, among other examples.

[0061] One or more sensor devices 121 may be instrumented in the iron roughneck 120 to measure a makeup or breakout torque imposed by the iron roughneck 120. The sensors 121 may include pressure sensors and/or load cell sensors, among other examples. These torque measurements, along with a direction of the application of torque, may be used as a positive indicator for determining whether a connection is made or broken with respect to a tubular 104 and the drill string 14. [0062] One or more sensor devices 121 may be installed on or otherwise associated with the top drive 70 to indicate the movement and/or other status of the top drive 70, the open/closed status and the horizontal/inclined status of the elevator 100, and the vertical/inclined status of the links 108, among other examples. The sensors 121 may be proximity sensors, pressure sensors, and/or position sensors, among other examples. One of more of the sensors 121 may be torque sensors, pressure sensors, load cell sensors, and/or other sensors to indicate the makeup or breakout torque imposed by the top drive 70.

[0063] One or more of the sensors 121 may be hook load sensors, such as may be utilized to determine whether the top drive 70 or the elevator 100 is carrying one or more tubulars by measuring a variation in a carried load. For example, a hook load sensor 121 may be installed on the top drive 70, such as below, above, and/or within the top drive 70, or the hook load sensor 121 may be a load cell installed in a deadline anchor. Hook load sensors, in conjunction with other sensors, may be used as a positive indicator that a new stand of pipe has been added under the top drive/elevator. The torque sensors on the top drive 70, as well as the elevator status sensor, may indicate whether a tubular is connected to the top drive 70 ( e.g ., for drilling) or supported by the elevator 100 (e.g., for tripping).

[0064] FIG. 4 is a perspective view of a portion of the drilling system 10 shown in FIGS. 1 and 3, including some features that do not appear in FIGS. 1 or 3. For example, FIG. 4 depicts a fingerboard 124, a setback 128, a mousehole 132 offset from well center 136, a pipe rack 140, and a catwalk 144. The fingerboard 124 may be a working platform halfway or further up the derrick 46 by which pipe stands 104 are stored over the setback 128. The fingerboard 124 may include a small section from which a derrickman works (e.g, a monkey board or stabbing board), although such storage may be automated to the extent that a human presence is not needed at the elevated location.

[0065] FIG. 5 is a perspective view of at least a portion of an example implementation of the fingerboard 124 shown in FIG. 4. The fingerboard 124 may comprise several steel or otherwise rigid fingers 125 defining slots 126 that keep the tops of the stands 104 in place. The fingerboard 124 may also comprise indexers 127 that may include sensors by which existence of the stands 104 in the fingerboard 124 may be tracked. The fingerboard 124 may also be utilized to store tubulars other than stands 104 of drill pipe, such as individual joints of drill pipe and/or joints or stands of casing, among other examples. Accordingly, the height of the fingerboard 124 may be adjustable, whether mechanically or via some degree of automation, to a strategic height relative to the surface 30 ( e.g ., the rig floor).

[0066] Returning to FIG. 4, a vee-door or other opening 148 in one side of the derrick 46 may be opened to permit tubulars and tools to be lifted into the interior of the derrick 46. The vee-door 148 may be aligned with the catwalk 144 so that tubulars may be transferred from the pipe rack 140 via the catwalk 144 to the rig floor 30 through the vee-door 148. The mousehole 132 may be an opening in the rig floor 30 between well center 136 and the vee-door 148, such as to permit rapid tubular connections/disconnections during drilling, tripping, and other operations. The mousehole 132 may be or comprise a length of casing or other pipe of diameter larger than the drill pipe (often with a plug or other bottom surface closing the lower end) extending underneath the rig floor 30, perhaps into earth underneath substructure 152 of the drilling rig 18. For example, a tubular stand or joint may be placed in the mousehole 132, box end up, by rig personnel at predetermined times (e.g., immediately after the previous connection is made).

[0067] FIG. 6 is an enlarged, perspective view of the pipe rack 140 and the catwalk 144 shown in FIG. 4. The pipe rack 140 includes rails and/or other structure 156 supporting a plurality of drill pipe joints, stands, or other tubulars 160, such as the above-described stands 104 and/or their component joints. The pipe rack 140 is positioned adjacent the catwalk 144 to facilitate transferring the tubulars 160 to the catwalk 144. For example, the structure 156 may be tilted downward toward the catwalk 144 so that gravity urges the tubulars 160 on the structure 156 to roll toward the catwalk 144. However, springs, actuators, and/or other means may urge the tubulars 160 toward the catwalk 144. The catwalk 144 comprises a channel or trough 164 in which the tubular 160 is retained as one or more hydraulic actuators and/or other means 168 raises an end of the catwalk 144 toward the vee-door (148 in FIG. 4). A skate, pusher, and/or other means 172 then (via a chain drive and/or other means) moves the tubular 160 upward along the trough 164 through the vee-door, such that an upper end of the tubular 160 can be engaged by the top drive elevator, for example.

[0068] FIG. 7 is an enlarged, perspective view of a portion of the catwalk 144 shown in FIG. 6. The following description pertains to FIGS. 6 and 7, collectively. The pipe rack 140 may comprise one or more indexers 176 that may comprise sensors and/or are otherwise able to aid in tracking the number of tubulars 160 that pass over in one or both directions (e.g, from the pipe rack 140 to the catwalk 144 and/or from the catwalk 144 to the pipe rack 140). However, the indexers 176 may have additional functions, such as to aid in ensuring that the tubulars 160 are transferred to the catwalk 144 one at a time. The catwalk 144 may also (or instead) have one or more indexers 178 (FIG. 7) that may comprise sensors and/or are otherwise able to aid in tracking the number of tubulars 160 that are transferred between the catwalk 144 and the pipe rack 140. The catwalk 144 may also comprise one or more kickers 182 (perhaps automated) for movement from a retracted position (shown in FIG. 7 by solid lines) to an extended position (shown by dashed lines) to transfer a tubular 160 out of the trough 164 to the pipe rack 140.

[0069] As a tubular 160 is rolled into the trough 164 of the catwalk 144, the automated pipe tally system may detect movement of the indexers 176 and/or 178 and thereby reduce a pipe rack tally by one, and the tubular 160 in the trough 164 may be set into a transition state. The indexers 178 may be used to convey a tubular 160 from the pipe rack 140 to the trough 164 of the catwalk 144 while the kickers 182 move the tubular 160 from the trough 164 and rolls the tubular 160 onto the pipe rack 140. More specifically, the indexers 178 may perform two functions: convey the tubular 160 to the catwalk 144; and receive the tubular 160 pushed by the kickers 182 and deliver the tubular 160 to the pipe rack 140. In contrast, the kickers 182 facilitate pushing the tubular 160 out of the trough 164 to the indexers 178.

[0070] FIG. 7 depicts the indexer 178 in several positions. Specifically, movement of tubulars 160 from the pipe rack 140 to the trough 164 of the catwalk 144 may be initiated using the indexer 178 (perhaps in conjunction with the indexer 176). When in the indexer 178 is in the default state (referred to herein as Position 2, depicted in FIG. 7 by solid lines), the nearest tubular 160 in the pipe rack 140 may rest alongside the indexer 178. In Position 3 (indicated by reference number 179 in FIG. 7), the indexer 178 is lowered, and the tubular 160 thereby rolls onto the indexer 178, such as into a concave portion 180 sized to receive the tubular 160. In Position 1 (indicated by reference number 181 in FIG. 7), the indexer 178 is raised beyond the default state in Position 2 to thereby deliver the tubular 160 to the catwalk 144. As such, the tubular 160 rolls into to the trough 164 of the catwalk 144. Thus, the movement of the indexer 178 may indicate transfer of a tubular 160 from the pipe rack 140 to the catwalk 144. In other implementations, the indexer 178 may remain in Position 2 to receive a tubular 160 from the catwalk 144 and move to Position 3 to deliver the tubular 160 to the pipe rack 140. Sensors in communication with the automated pipe tally system may include functionality to detect Position 1, Position 2, and/or Position 3 of the indexer 178, and update a pipe tally accordingly.

[0071] Similarly, the kicker 182 may move from a default state in Position 1 (retracted, shown by solid lines) to an elevated state in Position 2 (extended, shown by dashed lines). In Position 2, the kicker 182 may jettison a tubular 160 from the trough 164 to the indexer 178.

Thus, the tubular 160 may roll onto the indexer 178 as described above. For example, the indexer 178 may receive the tubular 160 and transport the tubular 160 to the pipe rack 140 by moving to Position 3. Sensor measurements detecting movement of the kicker 182 followed by further measurements from the indexer 178 (and/or the indexer 176) may signal the movement of a tubular 160 from the catwalk 144 to the pipe rack 140. On the other hand, sensor

measurements indicating movement of an indexer 176/178 alone (i.e., absent sensor

measurements indicating movement of the kicker 182) may indicate pipe movement from the pipe rack 140 to the catwalk 144.

[0072] The number Tpr(t) of tubulars 160 on the pipe rack 140 at a time t may be expressed as set forth below in Equation (1).

Tpr(t) = Tpr(t-l) + IP(t) + Oa(t) - Or(t) (1) where Tpr(t-l) is the number of tubulars on the pipe rack 140 at a time t-1, AP(t) is the number of tubulars 160 moved between the pipe rack 140 and the catwalk 144 at time t, Oa is the number of tubulars 160 added to the pipe rack 140 at time t, and Or is the number of tubulars 160 removed from the pipe rack 140 at time t.

[0073] Accordingly, the change in tubulars AP(t) may be expressed as set forth below in Equation (2).

AP(t) = abs(Kp2) - abs(Ipl) (2) where abs is a absolute value, abs(Ipl) is the absolute count of the number of times the indexer 178 moves to Position 1 during the time interval between t and t-1, and abs(Kp2) is an absolute count of the number of times the kicker 182 moves to Position 2 during the time interval between t and t-1.

[0074] The automated pipe tally system may determine the presence of a tubular 160 on the pipe rack 140, in the trough 164 of the catwalk 144, or in the mousehole 132 via proportional logic. For example, the proportional logic may be expressed by“not P and (C or M)” as set forth below in Equation (3). ,P ® (C v M) (3) where is the negation Boolean symbol, P represents the given tubular 160 on the pipe rack 140, C represents the given tubular 160 in the catwalk trough 164, and M represents the given tubular 160 in the mousehole 132.

[0075] Equation (3) may correspond to a truth table, such as expressed in Table 1 set forth below.

Table 1

[0076] When Equation (3) is satisfied, the automated pipe tally system may initiate the reduction of the pipe rack tally by one, and the tubular 160 may be placed in transition based on the detection of the tubular 160 either on the catwalk 144 or in the mousehole 132.

[0077] A tubular 160 in the mousehole 132 may be in transition between the catwalk 144 and the borehole 22. For example, tubulars may be delivered from the catwalk 144 into the mousehole 132, such as via a winch mechanism or other secondary hoisting system. The tubular inside the mousehole 132 may then be picked up by a tubular delivery system such as the top drive or travelling block with a pipe handling elevator and, for example, run into the borehole 22. After the tubular is run, the tubular may be held in place by the slips.

[0078] The tubular transitioning in the mousehole 132 may have two possible destinations, such as to the catwalk 144 or the borehole 22. Thus, the tubular in the mousehole 132 may be expressed by“Not M implies C or W” as set forth below in Equation (4).

-M ® C v W (4) where M represents the given tubular 160 in the mousehole 132, C represents the given tubular 160 in the trough 164, and W represents the given tubular 160 in the borehole 22.

[0079] The tubulars may be made up end to end to form a continuous length of tubulars (stands) or broken down into segments (joints). The stands may be racked in the fingerboard 124 and rest on the setback 128. The corresponding Boolean expression can be expressed by“Not W implies C or S” as set forth below in Equation (5).

-W ® C v S (5) where W represents the given tubular in the borehole 22, C represents the given tubular in the trough 164, and S represents the given tubular in the setback 128.

[0080] As such, the automated pipe tally system may determine multiple different pipe tallies, such as one for the pipe rack 140, another pipe tally for the borehole 22, and another pipe tally for the setback 128. Based on the logical conditions that are met, the automated pipe tally system may populate these different tallies, thereby tracking the tubulars in these different states.

[0081] Several pipe tallies may be maintained and managed from the time that a tubular initially lands on the pipe rack 140 until the time that tubular is removed from the pipe rack 140. Thus, one pipe tally may begin when the tubulars are laid out on the pipe rack 140. Through appropriate detection, like proximity detection, camera, etc ., the number of tubulars on the pipe rack 140 may be monitored, perhaps along with meta-data pertaining to the tubulars, such as length, size, etc.

[0082] The various components of the drilling rig function together to handle the tubulars. The states of such equipment may be utilized to generate an array of equipment states indicative of a current pipe handling operation. For example, a tubular may be handled at the center of the derrick 46 (z.e., over well center 136), or the rig 18 may be equipped with an additional traveling block and/or other hoisting equipment for handling tubulars off-line. When a tubular is handled over well center 136, the tubulars may be connected to the tubulars of the drill string 14 previously introduced into the borehole 22. While removing tubulars from the borehole 22, based on the height of the fingerboard 124 from the rig floor 30, these tubulars may be separated in sets of tubulars and racked on the setback 128 in the fingerboard 124. A single tubular (joint or stand) may be separated out and laid out inside the mousehole 132. [0083] Using sensors deployed on various equipment, the automated pipe tally system may collect sensor measurements to determine different equipment states. For example, a mast center pipe handling state may be determined as an array of the individual equipment states. For some equipment, such as the slips 112 or the elevator 100, a secondary equipment state may exist that is determined by whether a tubular is present or absent.

[0084] FIG. 8 is a schematic illustration of example logic 300 that may be applied to determine the various equipment states. For example, the state 302 of the movement of the top drive 70 may be determined as being in State 1 if the top drive 70 is moving upward, State 2 if the top drive 70 is still (stationary), or State 3 if the top drive 70 is moving downward. The state 304 of the position of the top drive 70 may be determined as being in State 1 if the top drive 70 is within a predetermined distance ( e.g ., 1.5 meters (m)) from a reference point (e.g, the crown block 58 or the rig floor 30), State 2 if the top drive 70 is within a next distance range (e.g, 1.5- 10 m) relative to the reference point, State 3 if the top drive 70 is within a next distance range (e.g, 10-20 m) relative to the reference point, or State 4 if the top drive 70 is within a next distance range (e.g, 20-30 m) relative to the reference point.

[0085] The state 306 of whether the top drive elevator (“ELEV.” in FIG. 8) 100 is open or closed may be determined as being in State 0 if the elevator 100 is closed or State 1 if the elevator 100 is open. The state 308 of whether a pipe exists in the top drive elevator 100 may be determined as being in State 0 if there is no pipe in the elevator 100 or State 1 if there is a pipe in the elevator 100. The state 310 of the position of the elevator 100 may be determined as being in State 0 if the elevator 100 is horizontal (“HOR.” in FIG. 8) or State 1 if the elevator 100 is not horizontal (i.e., inclined). The state 312 of the links 108 that orient the elevator 100 relative to the top drive 70 may be determined as being in State 0 if the links 108 are vertical (“VERT” in FIG. 8) or State 1 if the links 108 are not vertical (i.e., inclined).

[0086] The state 314 of whether the slips 112 are engaged (“ENG.” in FIG. 8) may be determined as being in State 0 if the slips 112 are not engaged (open) or State 1 if the slips 112 are engaged (closed). The state 316 of whether a pipe exists in the slips 112 may be determined as being in State 0 if there is no pipe in the slips 112 or State 1 if there is a pipe in the slips 112.

[0087] The state 318 of whether make-up torque (“M-U TORQ.” in FIG. 8) is being applied by the iron roughneck 120 may be determined as State 0 if no make-up torque is being applied or State 1 if make-up torque is being applied. The state 320 of whether break-out torque (“B-0 TORQ.” in FIG. 8) is being applied by the iron roughneck 120 may be determined as State 0 if no break-out torque is being applied or State 1 if break-out torque is being applied.

[0088] The state 322 of whether a pipe exists in the mousehole (“M-HOLE” in FIG. 8) 132 may be determined as being in State 0 if there is no pipe in the mousehole 132 or State 1 if there is a pipe in the mousehole 132. The state 324 of whether the catwalk 144 is raised may be determined as State 0 if the catwalk 144 is not raised or State 1 if the catwalk 144 is raised. The state 326 of whether a pipe exists in the catwalk (“CW”) 144 may be determined as being in State 0 if there is no pipe in the catwalk 144 or State 1 if there is a pipe in the catwalk 144.

[0089] The state determinations depicted in FIG. 8 may utilize data acquired by the various equipment sensors and sensor devices described above. The logic 300 depicted in FIG. 8 may pertain to a drilling or tripping operation. Although not illustrated in FIG. 8, the logic 300 may also take into account similar states of the fingerboard 124, the setback 128, the pipe rack 140, and/or other tubular handling components of the drilling rig 18. For example, the logic 300 may consider states describing whether tubulars exist in the fingerboard 124, and the positions thereof, such as based on sensor data associated with the indexers 127. Similarly, the logic 300 may consider states described whether tubulars exist on the setback 128 and/or the pipe rack 140, such as based on sensor data described above.

[0090] By using equipment states as described above, a table may be generated that describes each equipment state. An example is set forth below in Table 2.

Table 2 [0091] The state of the pipe handling equipment that handles tubulars over well center 136, also referred to herein as the mast center pipe handler equipment state, such as during drilling and/or tripping operations, may be represented as set forth below in Equation (6).

(MCPH)t = (Ax Bx Cxy Dx Ex Fxy Gx Hx lx Jxy) (6) where (MCPH)t represents the mast center pipe handler equipment state at time t; Ax, Bx, Dx, Ex, Gx, Hx, and lx represent values of one-dimensional equipment states; Cxy, Fxy, and Jxy represent values of two-dimensional equipment states, where“x” denotes a primary state and“y” denotes a secondary state; Ax represents the value of the top drive movement state 302; Bx represents the value of the top drive position state 304; Cxy represents the values of the elevator engagement state 306 and the elevator pipe presence state 308; Dx represents the value of the elevator position state 310; Ex represents the value of the elevator links position state 312; Fxy represents the values of the slips engagement state 314 and the slips pipe presence state 316; Gx represents the value of the make-up torque state 318; Hx represents the value of the break-out torque state 320; lx represents the value of the mousehole pipe presence state 322; Jxy represents the values of the catwalk orientation state 324 and the catwalk pipe presence state 326; and (Ax Bx Cxy Dx Ex Fxy Gx Hx lx Jxy) represents an array of the equipment states, depicted in FIG. 8 by reference number 301.

[0092] The equipment states array may indicate additional states or actions. Examples corresponding to the examples set forth above in Table 2 are provided in Table 3 set forth below.

Table 3 [0093] FIG. 9 is a schematic illustration of example logic 350 that may be applied to determine the various equipment states during stand building and/or disassembly and/or other offline pipe handling operations. For example, offline stand building may involve a secondary hoist besides the top drive 70, the stands of pipe may be built in the mousehole 132 instead of the slips 112, and an intermediate or secondary constraint apparatus (“APP” in FIG. 9) may be used to secure the tubulars instead of the slips 112.

[0094] For example, the state 352 of the movement of a secondary hoist may be determined as being in State 1 if the secondary hoist is moving upward, State 2 if the secondary hoist is still (stationary), or State 3 if the secondary hoist is moving downward. The state 354 of the position of the secondary hoist may be determined as being in State 1 if the secondary hoist is within a predetermined distance ( e.g ., 1.5 meters (m)) from a reference point (e.g, the rig floor 30), State 2 if the secondary hoist is within a next distance range (e.g, 1.5-10 m) relative to the reference point, State 3 if the secondary hoist is within a next distance range (e.g, 10-20 m) relative to the reference point, or State 4 if the secondary hoist is within a next distance range (e.g, 20-30 m) relative to the reference point.

[0095] The state 356 of whether a secondary elevator operable in conjunction with the secondary hoist is open or closed may be determined as being in State 0 if the secondary elevator is closed or State 1 if the secondary elevator is open. The state 358 of whether a pipe exists in the secondary elevator may be determined as being in State 0 if there is no pipe in the secondary elevator or State 1 if there is a pipe in the secondary elevator. The state 360 of the position of the secondary elevator may be determined as being in State 0 if the secondary elevator is horizontal or State 1 if the secondary elevator is not horizontal (i.e., inclined). The state 362 of links that orient the secondary elevator relative to the secondary hoist may be determined as being in State 0 if the links are vertical or State 1 if the links are not vertical (i.e., inclined).

[0096] The state 364 of whether a secondary pipe constraint is engaged may be determined as being in State 0 if the secondary pipe constraint is not engaged (open) or State 1 if the secondary pipe constraint is engaged (closed). The state 366 of whether a pipe exists in the secondary pipe constraint may be determined as being in State 0 if there is no pipe in the secondary pipe constraint or State 1 if there is a pipe in the secondary pipe constraint.

[0097] The state 368 of whether make-up torque is being applied (e.g, by the iron roughneck 120) may be determined as State 0 if no make-up torque is being applied or State 1 if make-up torque is being applied. The state 370 of whether break-out torque is being applied may be determined as State 0 if no break-out torque is being applied or State 1 if break-out torque is being applied.

[0098] The state 372 of whether a pipe exists in the mousehole 132 may be determined as being in State 0 if there is no pipe in the mousehole 132 or State 1 if there is a pipe in the mousehole 132. The state 374 of whether the catwalk 144 is raised may be determined as State 0 if the catwalk 144 is not raised or State 1 if the catwalk 144 is raised. The state 376 of whether a pipe exists in the catwalk 144 may be determined as being in State 0 if there is no pipe in the catwalk 144 or State 1 if there is a pipe in the catwalk 144.

[0099] The state of the offline pipe handling equipment, also referred to herein as the mast offline pipe handler equipment, may be expressed as set forth below in Equation (7).

(MOPH)t = (A’x B’x C’xy D’x E’x F’xy G’x H’x Ex J’xy) (7) where (MOPH)t represents the mast offline pipe handler equipment state at time t; A’x, B’x,

D’x, E’x, G’x, H’x, and Ex represent values of one-dimensional equipment states; C’xy, F’xy, and J’xy represent values of two-dimensional equipment states, where“x” denotes a primary state and“y” denotes a secondary state; A’x represents the value of the secondary hoist movement state 352; B’x represents the value of the secondary hoist position state 354; C’xy represents the values of the secondary elevator engagement state 356 and the secondary elevator pipe presence state 358; D’x represents the value of the secondary elevator position state 360;

E’x represents the value of the secondary elevator links position state 362; F’xy represents the values of the secondary constraint engagement state 364 and the secondary constraint pipe presence state 366; G’x represents the value of the make-up torque state 368; H’x represents the value of the break-out torque state 370; Fx represents the value of the mousehole pipe presence state 372; J’xy represents the values of the catwalk orientation state 374 and the catwalk pipe presence state 376; and (A’x B’x C’xy D’x E’x F’xy G’x H’x I’x J’xy) represents an array of the equipment states, depicted in FIG. 9 by reference number 351.

[00100] The MCPH equipment state 301 and the MOPH equipment state 351 may be simultaneously used when the rig is equipped with an offline stand building system and the pipe tallies are managed simultaneously. For example, the tallies may show when tubulars may be updated to the number of tubulars in the borehole 22 and at the same time tubulars further added by the offline stand building system to the fingerboard 124 or setback 128. The presence of tubulars 104/160 on the setback 128 may be detected by sensing the movement of the indexers 127 interposing the tubular stands in the fingerboard 124, load and/or other sensors disposed on or otherwise associated with the finger board 124, and/or load and/or other sensors disposed on or otherwise associated with the setback 128. The tubulars in the setback 128 may be removed sequentially and one at a time. Thus, the operation of the indexers 127 may indicate the movement of tubular stands into/from the setback 128 as well as the number of stands that are added or removed.

[00101] The automated pipe tally system and other systems within the scope of the present disclosure may be implemented on a computing system. A combination of mobile, desktop, server, router, switch, embedded device, and/or other types of hardware may be used. For example, as shown in FIG. 10, a computing system 600 may include one or more computer processors 602, non-persistent storage 604 ( e.g ., volatile memory, such as random access memory (RAM), cache memory), persistent storage 606 (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface 612 (e.g, Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functionalities.

[00102] The computer processor(s) 602 may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores or micro-cores of a processor. The computing system 600 may also include one or more input devices 610, such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or other types of input devices.

[00103] The communication interface 612 may include an integrated circuit for connecting the computing system 600 to a network (not shown) (e.g, a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or another type of network) and/or to another device, such as another computing device.

[00104] Further, the computing system 600 may include one or more output devices 608, such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or other types of output devices. One or more of the output devices 608 may be the same as or different from one or more of the input devices 610. The input and output devices may be locally or remotely connected to the computer processor(s) 602, non-persistent storage 604, and persistent storage 606. [00105] Software instructions in the form of computer readable program instructions or code to perform implementations of the disclosure may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or other computer readable storage medium. Specifically, the software instructions may correspond to computer readable program code that, when executed by one or more processors 602, is configured to perform one or more

implementations of the disclosure.

[00106] The computing system 600 may be connected to or be a part of a network. For example, as shown in FIG. 11, the network 620 may include multiple nodes ( e.g ., node X 622 and node Y 624). Each node may correspond to a computing system, such as the computing system shown 600 in FIG. 10, or a group of nodes combined may correspond to the computing system 600 shown in FIG. 10. Implementations of automated pipe tally systems according to one or more aspects of the present disclosure may be implemented on a node of the distributed system 620 that is connected to other nodes. By way of another example, implementations within the scope of the present disclosure may be implemented on a distributed computing system having multiple nodes, where each system, assembly, subassembly, or drilling rig equipment component described in or otherwise within the scope of the disclosure may be located on a different node within the distributed computing system. Further, one or more elements of the computing system 600 may be located at a remote location and connected to the other elements over the network 620 and/or other networks.

[00107] Although not shown in FIG. 11, each node may correspond to a blade in a server chassis that is connected to other nodes via a backplane. By way of another example, one or more nodes may correspond to a server in a data center. By way of another example, one or more nodes may correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.

[00108] The nodes 622, 624in the network 620 may be configured to provide services for a client device 626. For example, the nodes may be part of a cloud computing system. The nodes may include functionality to receive requests from the client device 626 and transmit responses to the client device 626. The client device 626 may be a computing system, such as the computing system 600 shown in FIG. 10. Further, the client device 626 may include and/or perform all or a portion of one or more embodiments of the disclosure. [00109] The computing system or group of computing systems described above may include functionality to perform a variety of operations disclosed herein. For example, the computing system(s) may perform communication between processes on the same or different systems. A variety of mechanisms, employing some form of active or passive communication, may facilitate the exchange of data between processes on the same device. Examples representative of these inter-process communications include, but are not limited to, the implementation of a file, a signal, a socket, a message queue, a pipeline, a semaphore, shared memory, message passing, and a memory-mapped file. Further details pertaining to a couple of these non-limiting examples are provided below.

[00110] Based on the client-server networking model, sockets may serve as interfaces or communication channel endpoints facilitating bidirectional data transfer between processes on the same device. Foremost, following the client-server networking model, a server process ( e.g ., a process that provides data) may create a first socket object. Next, the server process binds the first socket object, thereby associating the first socket object with a unique name and/or address. After creating and binding the first socket object, the server process then waits and listens for incoming connection requests from one or more client processes (e.g., processes that seek data). At this point, when a client process wishes to obtain data from a server process, the client process starts by creating a second socket object. The client process then proceeds to generate a connection request that includes at least the second socket object and the unique name and/or address associated with the first socket object. The client process then transmits the connection request to the server process. Depending on availability, the server process may accept the connection request, establishing a communication channel with the client process, or the server process, busy in handling other operations, may queue the connection request in a buffer until the server process is ready. An established connection informs the client process that

communications may commence. In response, the client process may generate a data request specifying the data that the client process wishes to obtain. The data request is subsequently transmitted to the server process. Upon receiving the data request, the server process analyzes the request and gathers the requested data. The server process then generates a reply including at least the requested data and transmits the reply to the client process. The data may be transferred, more commonly, as datagrams or a stream of characters (e.g, bytes).

[00111] Shared memory refers to the allocation of virtual memory space in order to substantiate a mechanism for which data may be communicated and/or accessed by multiple processes. In implementing shared memory, an initializing process first creates a shareable segment in persistent or non-persistent storage. Post creation, the initializing process then mounts the shareable segment, subsequently mapping the shareable segment into the address space associated with the initializing process. Following the mounting, the initializing process proceeds to identify and grant access permission to one or more authorized processes that may also write and read data to and from the shareable segment. Changes made to the data in the shareable segment by one process may immediately affect other processes, which are also linked to the shareable segment. Further, when one of the authorized processes accesses the shareable segment, the shareable segment maps to the address space of that authorized process. One authorized process may mount the shareable segment, other than the initializing process, at a given time.

[00112] Other techniques may be used to share data, such as the various data described in the present disclosure, between processes without departing from the scope of the disclosure. The processes may be part of the same or different application and may execute on the same or different computing system.

[00113] Rather than or in addition to sharing data between processes, the computing system performing one or more implementations of the disclosure may include functionality to receive data from a user. For example, a user may submit data via a graphical user interface (GUI) and/or HMI on the user device. Data may be submitted via the GUI/HMI by a user selecting one or more widgets or inserting text and other data into widgets using a touchpad, a keyboard, a mouse, or other input device. In response to selecting a particular item, information regarding the particular item may be obtained from persistent or non-persistent storage by the computer processor. Upon selection of the item by the user, the contents of the obtained data regarding the particular item may be displayed on the user device in response to the user’s selection.

[00114] By way of another example, a request to obtain data regarding the particular item may be sent to a server operatively connected to the user device through a network. For example, the user may select a uniform resource locator (URL) link within a web client of the user device, thereby initiating a Hypertext Transfer Protocol (HTTP) or other protocol request being sent to the network host associated with the URL. In response to the request, the server may extract the data regarding the particular selected item and send the data to the device that initiated the request. After the user device has received the data regarding the particular item, the contents of the received data regarding the particular item may be displayed on the user device in response to the user’s selection. Further to the above example, the data received from the server after selecting the URL link may provide a web page in Hyper Text Markup Language (HTML) that may be rendered by the web client and displayed on the user device.

[00115] After data is obtained, such as by using techniques described above or from storage, the computing system, in performing one or more implementations of the disclosure, may extract one or more data items from the obtained data. For example, the extraction may be performed as follows by the computing system 600 in FIG. 10. First, the organizing pattern ( e.g ., grammar, schema, layout) of the data is determined, which may be based on one or more of the following: position (e.g., bit or column position, N th token in a data stream, etc.), attribute (where the attribute is associated with one or more values), or a hierarchical/tree structure (consisting of layers of nodes at different levels of detail, such as in nested packet headers or nested document sections). Then, the raw, unprocessed stream of data symbols is parsed, in the context of the organizing pattern, into a stream (or layered structure) of tokens (where each token may have an associated token“type”).

[00116] Next, extraction criteria are used to extract one or more data items from the token stream or structure, where the extraction criteria are processed according to the organizing pattern to extract one or more tokens (or nodes from a layered structure). For position-based data, the token(s) at the position(s) identified by the extraction criteria are extracted. For attribute/value-based data, the token(s) and/or node(s) associated with the attribute(s) satisfying the extraction criteria are extracted. For hierarchical/layered data, the token(s) associated with the node(s) matching the extraction criteria are extracted. The extraction criteria may be as simple as an identifier string or may be a query presented to a structured data repository (where the data repository may be organized according to a database schema or data format, such as XML).

[00117] The extracted data may be used for further processing by the computing system. For example, the computing system 600 of FIG. 10, while performing one or more implementations of the disclosure, may perform data comparison. Data comparison may be used to compare two or more data values (e.g, A, B). For example, one or more implementations may determine whether A > B, A = B, A ! = B, A < B, etc. The comparison may be performed by submitting A, B, and an opcode specifying an operation related to the comparison into an arithmetic logic unit (ALU) (i.e., circuitry that performs arithmetic and/or bitwise logical operations on the two data values). The ALU outputs the numerical result of the operation and/or one or more status flags related to the numerical result. For example, the status flags may indicate whether the numerical result is a positive number, a negative number, zero, etc. By selecting the proper opcode and then reading the numerical results and/or status flags, the comparison may be executed. For example, in order to determine if A > B, B may be subtracted from A (i.e., A - B), and the status flags may be read to determine if the result is positive (i.e., if A > B, then A - B > 0). B may be considered a threshold, and A may be deemed to satisfy the threshold if A = B or if A > B, as determined using the ALU. A and B may be vectors, and comparing A with B may include comparing the first element of vector A with the first element of vector B, the second element of vector A with the second element of vector B, etc. If A and B are strings, the binary values of the strings may be compared.

[00118] The computing system 600 in FIG. 10 may implement and/or be connected to a data repository. For example, one type of data repository is a database. A database is a collection of information configured for ease of data retrieval, modification, re-organization, and deletion. Database Management System (DBMS) is a software application that provides an interface for users to define, create, query, update, or administer databases.

[00119] The user, or software application, may submit a statement or query into the DBMS. Then the DBMS interprets the statement. The statement may be a select statement to request information, update statement, create statement, delete statement, etc. Moreover, the statement may include parameters that specify data, or data container (database, table, record, column, view, etc), identified s), conditions (comparison operators), functions (e.g, join, full join, count, average, etc), sort (e.g, ascending, descending), or others. The DBMS may execute the statement. For example, the DBMS may access a memory buffer, a reference or index a file for read, write, deletion, or a combination thereof, for responding to the statement. The DBMS may load the data from persistent or non-persistent storage and perform computations to respond to the query. The DBMS may return the result(s) to the user or software application.

[00120] The computing system 600 of FIG. 10 may include functionality to present raw and/or processed data, such as results of comparisons and other processing. For example, presenting data may be accomplished through various presenting methods. Specifically, data may be presented through a user interface provided by a computing device. The user interface may include a GUI that displays information on a display device, such as a computer monitor or a touchscreen on a handheld computer device. The GUI may include various GUI widgets that organize what data is shown as well as how data is presented to a user. Furthermore, the GUI may present data directly to the user, e.g, data presented as actual data values through text, or rendered by the computing device into a visual representation of the data, such as through visualizing a data model.

[00121] For example, a GUI may first obtain a notification from a software application requesting that a particular data object be presented within the GUI. Next, the GUI may determine a data object type associated with the particular data object, e.g. , by obtaining data from a data attribute within the data object that identifies the data object type. Then, the GUI may determine any rules designated for displaying that data object type, e.g. , rules specified by a software framework for a data object class or according to any local parameters defined by the GUI for presenting that data object type. Finally, the GUI may obtain data values from the particular data object and render a visual representation of the data values within a display device according to the designated rules for that data object type.

[00122] Data may also be presented through various audio methods. In particular, data may be rendered into an audio format and presented as sound through one or more speakers operably connected to a computing device.

[00123] Data may also be presented to a user through haptic methods, such as vibrations or other physical signals generated by the computing system. For example, data may be presented to a user using a vibration generated by a handheld computer device with a predefined duration and intensity of the vibration to communicate the data.

[00124] The above description of functions presents just a few examples of functions performed by the computing system 600 of FIG. 10 and the nodes 622, 624 and/or client device 626 in FIG. 11. Other functions may be performed using one or more implementations of the present disclosure.

[00125] FIG. 12 is a schematic view of at least a portion of an example implementation of a processing system 700 according to one or more aspects of the present disclosure. The processing system 700 may execute machine-readable instructions to implement at least a portion of one or more of the methods and/or processes described herein, and/or to implement a portion of one or more of the example surface equipment described herein. The processing system 700 may be or comprise, for example, one or more processors, controllers, special- purpose computing devices, servers, personal computers, personal digital assistant (PDA) devices, smartphones, internet appliances, and/or other types of computing devices. The entirety of the processing system 700 may be implemented within surface apparatus described above, perhaps including the surface equipment 65/96 depicted in FIG. 1, the control system 200 shown in FIG. 2, and/or other surface equipment, and may execute and/or otherwise utilize the logic 300, 350 and/or arrays 300, 301 represented in FIGS. 8 and 9.

[00126] The processing system 700 may comprise a processor 712, such as a general-purpose programmable processor, among other examples. The processor 712 may comprise a local memory 714 and may execute program code instructions 732 present in the local memory 714 and/or another memory device. The processor 712 may execute, among other things, machine- readable instructions or programs to implement the methods and/or processes described herein. The programs stored in the local memory 714 may include program instructions or computer program code that, when executed by an associated processor, cause a controller and/or control system implemented in surface equipment and/or a downhole tool to perform tasks as described herein. The processor 712 may be, comprise, or be implemented by one or more processors of various types operable in the local application environment, and may include one or more general-purpose processors, special-purpose processors, microprocessors, DSPs, FPGAs, ASICs, processors based on a multi-core processor architecture, and/or other processors.

[00127] The processor 712 may be in communication with a main memory 717, such as via a bus 722 and/or other communication means. The main memory 717 may comprise a volatile memory 718 and a non-volatile memory 720. The volatile memory 718 may be, comprise, or be implemented by RAM, static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), RAMBUS DRAM (RDRAM), and/or other types of RAM devices. The non-volatile memory 720 may be, comprise, or be implemented by read-only memory, flash memory, and/or other types of memory devices. One or more memory controllers (not shown) may control access to the volatile memory 718 and/or the non-volatile memory 720.

[00128] The processing system 700 may also comprise an interface circuit 724. The interface circuit 724 may be, comprise, or be implemented by various types of standard interfaces, such as an Ethernet interface, a universal serial bus (USB), a wireless interface, and/or a cellular interface, among other examples. The interface circuit 724 may also comprise a graphics driver card. The interface circuit 724 may also comprise a communication device, such as a modem or network interface card, to facilitate exchange of data with external computing devices via a network, such as via Ethernet connection, digital subscriber line (DSL), telephone line, coaxial cable, cellular telephone system, and/or satellite, among other examples. [00129] One or more input devices 726 may be connected to the interface circuit 724. One or more of the input devices 726 may permit a user to enter data and/or commands for utilization by the processor 712. Each input device 726 may be, comprise, or be implemented by a keyboard, a mouse, a touchscreen, a trackpad, a trackball, an image/code scanner, and/or a voice recognition system, among other examples.

[00130] One or more output devices 728 may also be connected to the interface circuit 724. One or more of the output devices 728 may be, comprise, or be implemented by a display device, such as an LCD, a light-emitting diode (LED) display, and/or a CRT display, among other examples. One or more of the output devices 728 may also or instead be, comprise, or be implemented by a printer, speaker, and/or other examples.

[00131] The processing system 700 may also comprise a mass storage device 730 for storing machine-readable instructions and data. The mass storage device 730 may be connected to the interface circuit 724, such as via the bus 722. The mass storage device 730 may be or comprise a floppy disk drive, a hard disk drive, a CD drive, and/or a DVD drive, among other examples.

The program code instructions 732 may be stored in the mass storage device 730, the volatile memory 718, the non-volatile memory 720, the local memory 714, and/or on a removable storage medium 734, such as a CD or DVD.

[00132] The mass storage device 730, the volatile memory 718, the non-volatile memory 720, the local memory 714, and/or the removable storage medium 734 may each be a tangible, non- transitory storage medium. The modules and/or other components of the processing system 700 may be implemented in accordance with hardware (such as in one or more integrated circuit chips, such as an ASIC), or may be implemented as software or firmware for execution by a processor. In the case of firmware or software, the implementation can be provided as a computer program product including a computer readable medium or storage structure containing computer program code (i.e., software or firmware) for execution by the processor.

[00133] In view of the entirety of the present disclosure, including the figures and the claims, a person having ordinary skill in the art will readily recognize that the present disclosure introduces a method comprising causing a drilling rig to perform an operation, wherein: (A) the drilling rig comprises a plurality of tubular handling components; and (B) causing the drilling rig to perform the operation causes: (i) the tubular handling components to collectively handle different numbers of tubulars at different times during the operation; and (ii) the different numbers of tubulars to be automatically determined at the different times based on sensor data acquired during the operation via a plurality of sensor devices each associated with a corresponding one of the tubular handling components.

[00134] The tubular handling components may include: a top drive operable to move a string of the tubulars in a borehole; an elevator attached to the top drive via links, wherein the elevator is operable to open and close to, respectively, disengage and engage one of the tubulars not in the tubular string, and wherein the links are operable to tilt the elevator away from the top drive; slips operable to open and close to, respectively, disengage and engage the tubular string; and an iron roughneck operable to apply make-up and break-out torque to: an uppermost one of the tubulars in the tubular string of tubulars when the uppermost tubular is engaged in the slips; and another one of the tubulars being made-up or broken-out from the uppermost tubular.

[00135] The automatically determined, different numbers of tubulars may be tallies of the number of tubulars in the tubular string at the different times.

[00136] The sensor data may be indicative of: whether the top drive is moving upward, stationary, or moving downward; a position of the top drive relative to a reference point; whether the elevator is open or closed; whether one of the tubulars exists in the elevator; whether or not the elevator is horizontal; whether or not the links are vertical; whether or not the slips are engaged; whether one of the tubulars exists in the slips; whether or not the iron roughneck is applying make-up torque; and whether or not the iron roughneck is applying break-out torque.

[00137] The sensor data may be indicative of: which one of a plurality of top drive movement (TDM) states is occupied by the top drive, wherein the plurality of TDM states consists of a first TDM state in which the top drive is moving upward, a second TDM state in which the top drive is stationary, and a third TDM state in which the top drive is moving downward; which one of a plurality of top drive position (TDP) states is occupied by the top drive, wherein the plurality of TDP states consists of a first TDP state in which the top drive is within a first range of distances from a reference point, a second TDP state in which the top drive is within a second range of distances further from the reference point than the first range of distances, a third TDP state in which the top drive is within a third range of distances further from the reference point than the second range of distances, and a fourth TDP state in which the top drive is within a fourth range of distances further from the reference point than the third range of distances; which one of a plurality of elevator engagement (EE) states is occupied by the elevator, wherein the plurality of EE states consists of a first EE state in which the elevator is closed and a second EE state in which the elevator is open; which one of a plurality of elevator tubular existence (ETE) states is occupied by the elevator, wherein the plurality of ETE states consists of a first ETE state in which one of the tubulars exists in the elevator and a second ETE state in which none of the tubulars exist in the elevator; which one of a plurality of elevator position (EP) states is occupied by the elevator, wherein the plurality of EP states consists of a first EP state in which the elevator is horizontal and a second EP state in which the elevator is not horizontal; which one of a plurality of links position (LP) states is occupied by the links, wherein the plurality of LP states consists of a first LP state in which the links are vertical and a second LP state in which the links are not vertical; which one of a plurality of slips engagement (SE) states is occupied by the slips, wherein the plurality of SE states consists of a first SE state in which the slips are engaged and a second SE state in which the slips are not engaged; which one of a plurality of slips tubular existence (STE) states is occupied by the slips, wherein the plurality of STE states consists of a first STE state in which one of the tubulars exists in the slips and a second STE state in which none of the tubulars exist in the slips; which one of a plurality of make-up torque (MUT) states is occupied by the iron roughneck, wherein the plurality of MUT states consists of a first MUT state in which the iron roughneck is applying MUT and a second MUT state in which the iron roughneck is not applying MUT; and which one of a plurality of break-out torque (BOT) states is occupied by the iron roughneck, wherein the plurality of BOT states consists of a first BOT state in which the iron roughneck is applying BOT and a second BOT state in which the iron roughneck is not applying BOT.

[00138] The tubular handling components may further include: a mousehole extending through a rig floor of the drilling rig, wherein the mousehole is laterally offset from a well center that is vertically aligned with an uphole end of the borehole, and wherein the mousehole is able to store one of the tubulars; and a catwalk operable to move between raised and lowered positions to transfer one or more of the tubulars from a pipe rack to the rig floor.

[00139] The automatically determined, different numbers of tubulars may include: a first tally of the number of tubulars in the tubular string at the different times; and a second tally of the number of tubulars that have been transferred from the pipe rack to the rig floor via the catwalk.

[00140] The sensor data may be indicative of: whether the top drive is moving upward, stationary, or moving downward; a position of the top drive relative to a reference point; whether the elevator is open or closed; whether one of the tubulars exists in the elevator; whether or not the elevator is horizontal; whether or not the links are vertical; whether or not the slips are engaged; whether one of the tubulars exists in the slips; whether or not the iron roughneck is applying make-up torque; whether or not the iron roughneck is applying break-out torque;

whether one of the tubulars exists in the mousehole; whether the catwalk is raised or lowered; and whether one of the tubulars exists in the catwalk.

[00141] The sensor data may be indicative of: which one of a plurality of top drive movement (TDM) states is occupied by the top drive, wherein the plurality of TDM states consists of a first TDM state in which the top drive is moving upward, a second TDM state in which the top drive is stationary, and a third TDM state in which the top drive is moving downward; which one of a plurality of top drive position (TDP) states is occupied by the top drive, wherein the plurality of TDP states consists of a first TDP state in which the top drive is within a first range of distances from a reference point, a second TDP state in which the top drive is within a second range of distances further from the reference point than the first range of distances, a third TDP state in which the top drive is within a third range of distances further from the reference point than the second range of distances, and a fourth TDP state in which the top drive is within a fourth range of distances further from the reference point than the third range of distances; which one of a plurality of elevator engagement (EE) states is occupied by the elevator, wherein the plurality of EE states consists of a first EE state in which the elevator is closed and a second EE state in which the elevator is open; which one of a plurality of elevator tubular existence (ETE) states is occupied by the elevator, wherein the plurality of ETE states consists of a first ETE state in which one of the tubulars exists in the elevator and a second ETE state in which none of the tubulars exist in the elevator; which one of a plurality of elevator position (EP) states is occupied by the elevator, wherein the plurality of EP states consists of a first EP state in which the elevator is horizontal and a second EP state in which the elevator is not horizontal; which one of a plurality of links position (LP) states is occupied by the links, wherein the plurality of LP states consists of a first LP state in which the links are vertical and a second LP state in which the links are not vertical; which one of a plurality of slips engagement (SE) states is occupied by the slips, wherein the plurality of SE states consists of a first SE state in which the slips are engaged and a second SE state in which the slips are not engaged; which one of a plurality of slips tubular existence (STE) states is occupied by the slips, wherein the plurality of STE states consists of a first STE state in which one of the tubulars exists in the slips and a second STE state in which none of the tubulars exist in the slips; which one of a plurality of make-up torque (MUT) states is occupied by the iron roughneck, wherein the plurality of MUT states consists of a first MUT state in which the iron roughneck is applying MUT and a second MUT state in which the iron roughneck is not applying MUT; which one of a plurality of break-out torque (BOT) states is occupied by the iron roughneck, wherein the plurality of BOT states consists of a first BOT state in which the iron roughneck is applying BOT and a second BOT state in which the iron roughneck is not applying BOT; which one of a plurality of mousehole tubular existence (MTE) states is occupied by the mousehole, wherein the plurality of MTE states consists of a first MTE state in which one of the tubulars exists in the mousehole and a second MTE state in which none of the tubulars exist in the mousehole; which one of a plurality of catwalk position (CP) states is occupied by the catwalk, wherein the plurality of CP states consists of a first CP state in which the catwalk is in the raised position and a second CP state in which the catwalk is in the lowered position; and which one of a plurality of catwalk tubular existence (CTE) states is occupied by the catwalk, wherein the plurality of CTE states consists of a first CTE state in which one of the tubulars exists in the catwalk and a second CTE state in which none of the tubulars exist in the catwalk.

[00142] The tubular handling components may further include: a setback; and a fingerboard able to retain upper ends of ones of the tubulars resting on the setback.

[00143] The sensor data may be indicative of: whether the top drive is moving upward, stationary, or moving downward; a position of the top drive relative to a reference point; whether the elevator is open or closed; whether one of the tubulars exists in the elevator; whether or not the elevator is horizontal; whether or not the links are vertical; whether or not the slips are engaged; whether one of the tubulars exists in the slips; whether or not the iron roughneck is applying make-up torque; whether or not the iron roughneck is applying break-out torque;

whether one of the tubulars exists in the mousehole; whether the catwalk is raised or lowered; whether one of the tubulars exists in the catwalk; whether one of the tubulars is resting on the setback; and where one or more of the tubulars are retained in indexed positions within the fingerboard.

[00144] The present disclosure also introduces a method comprising: (A) acquiring a plurality of sensor measurements individually and/or collectively indicative of a state of each of a plurality of components of a drilling rig, including: (i) a first state pertaining to slips operable to engage and disengage a drill string formed of a plurality of stands each comprising a plurality of tubulars; (ii) a second state pertaining to a top drive operable to move the drill string when the drill string is not engaged by the slips; (iii) a third state pertaining to an elevator operable for engaging and disengaging a tubular to the top drive; (iv) a fourth state pertaining to an iron roughneck operable to alter a connection between the tubular and the drill string; and (v) a fifth state pertaining to movement of the top drive; (B) acquiring fingerboard information pertaining to a number of additional stands indexed in a fingerboard; and (C) utilizing the acquired sensor measurements and fingerboard information to track movements of the stands and the additional stands between the fingerboard and the drill string.

[00145] The states may further comprise a sixth state pertaining to operation of a catwalk operable to transfer tubular joints from a pipe rack to a rig floor of the drilling rig, and the tracked movements may be between the pipe rack and the drill string.

[00146] The present disclosure also introduces a method comprising determining a number of tubulars collectively being handled by a plurality of tubular-handling components of a drilling rig during a given operation performed by the drilling rig, wherein the determination is based on sensor data received from a plurality of sensor devices each associated with a corresponding one of the tubular-handling components.

[00147] The tubular-handling components may include: slips operable to engage and disengage a drill string formed of a plurality of stands each comprising a plurality of the tubulars; a top drive operable to move the drill string when the drill string is not engaged by the slips; an elevator operable for engaging and disengaging one of the tubulars relative to the top drive; and an iron roughneck operable to alter a connection between the drill string and one of the tubulars engaged with the top drive.

[00148] The present disclosure also introduces a method comprising: obtaining sensor data from equipment on a drilling rig; and determining a pipe tally based on the sensor data.

[00149] The sensor data may be obtained from an indexer, a kicker device, a fingerboard, a slip, an iron roughneck, a top drive, or an elevator.

[00150] The pipe tally may be updated based on an indexer moving a tubular into a catwalk trough or a kicker device moving the tubular to a pipe rack.

[00151] The present disclosure also introduces an automated pipe tally system comprising: a plurality of sensors of a drilling rig; and a computing device in communication with the sensors and operable to determine a pipe tally based on data from the sensors.

[00152] The present disclosure also introduces a non-transitory, computer-readable medium storing instructions executable by a computer processor to: process sensor data from equipment on a drilling rig; and determine a pipe tally based on the sensor data. [00153] The foregoing outlines features of several embodiments so that a person having ordinary skill in the art may better understand the aspects of the present disclosure. A person having ordinary skill in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same functions and/or achieving the same benefits of the implementations introduced herein. A person having ordinary skill in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the present disclosure.

[00154] The Abstract at the end of this disclosure is provided to permit the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.