Recapitulation and adaptation of prior work in Schlumberger Winch Data transfer to RigWatch (SLB to RW).

Operations Rationale

Tool string depth and tension are readily consumable gauges of the progress and status of logging operations. During logging operations, JRSO convention widely distributes Schlumberger winch position data via RigWatch displays. 

System Overview

Schlumberger provides JRSO with winch position telemetry. Software systems have (repeatedly) been implemented to make that data more widely available. The present "SLB to RW system" converts Schlumberger winch position data to WITS. The WITS data is passed to RigWatch.

SLB to RW is presently hosted on a Dell laptop. The software system processes WPS telemetry through three serial devices:

This diagram accurately depicts the flow and handling of winch position telemetry through the present Dell laptop (and any subsequent system that may be put in place). The COM port numbers in the diagram are inaccurate and superseded by the text above.

Starting the Winch Telemetry Laptop

Cabling review

As-delivered, the COM-port wiring is placed as indicated

Power up

  1. A single deliberate press of the laptop power button suffices (upper-right of the built-in keyboard).
  2. Login as DAQ. The usual. Wait, up to a minute.

Because logging occurs at such wide intervals, it is best to catch the RigWatch startup before it defaults to the previously used hole. Choose "Start New Well", register to reconnect to the Master (192.168.1.7), and then continue RigWatch startup.

Notes

Glossary

WPS - Winch Positioning System. The collective hardware and software.

WPD - Winch Position Data. Core winch position data that may be retrieved from Schlumberger systems via specific communications protocols.

WITS - Wellsite Information Transfer Specification.

Configure the RigWatch Master to receive WITS telemetry from RigWatch COM1 - Remote 6

WITS setup - at Krakatoa, not at Remote 6

An "SLB WITS Setup" should already be saved in the current RW setup file. If so, skip to "Running  SLB to RW".

  1. Run RigWatch as usual.
  2. Click Menu
  3. Click the red "Setup" button
  4. Click "Device Config" and enter the setup password
  5. Click "Device Config" again
  6. Scroll to "WITS Device 1" aka "wits1.dll" and select it
    1. If there is no "WITS Device 1", click in a "(no tool)" box then click "Add +"
    2. To add "WITS Device 1" scroll to near the bottom of the list and select "wits1.dll"
  7. Set the following options
    1. Set Communications Port to "COM1 - Remote 6"
    2. Set Timeout Count to "10" (this is the default)
    3. Set speed to "9600/N/8/1" (these are the defaults)

WITS variable setup - at Krakatoa, not at Remote 6

  1. Run RigWatch as usual.
  2. Click Menu
  3. Click the red "Setup" button
  4. Click "Variables" and enter the setup password
  5. Click "Variables" again
  6. Use the "Page Down" button to scroll to the SLB Winch Variables
  7. Confirm or set the following for each SLB variable

    Variable
    Number
    NameInput DeviceInput Device Slot
    28
    29
    30
    SLB Cable Depth
    SLB Cable Tension
    SLB Cable Speed

    WITS Device1
    WITS Device1
    WITS Device1

    0921 [MWDm] <Spare 1>
    0922 [MWDm] <Spare 2>
    0923 [MWDm] <Spare 3>


  8. To change "Input Device", click on "Input Device", then scroll to and select "WITS Device 1"
  9. To change "Input Device Slot", click on "Input Device Slot" and scroll to and select the appropriate WITS tag number. The number is the important part, but if you want to edit the label portion of the tag, refer to the RigWatch Manual.

Manual startup of RigWatch, SLB2RW

RigWatch and SLB to RW software may be launched from desktop or task bar shortcuts. Look for the following.

SLB to RW

(If RigWatch is in the way, minimize it by clicking "Key Pad", then "Minimize Rigwatch".)

Find SLB2RW, click.

Reviewing the (right-click) Properties of the shortcut will indicates where the software is located on disk.

The SLB2RW main window looks like this.

The "WITS Data String" reflects the "SLB Depth Data" but with tags applied to adhere to the specification.

WITS TagVariable
0105
0106
0922
0923
0921

Date
Time
Winch Tension
Cable Speed
Depth

RigWatch

(Verify that RigWatch is not previously minimized by Alt-TABing through already opened programs.)

Find RigWatch, click.

Reviewing the (right-click) Properties of the shortcut indicates where the software is located on disk.

The RigWatch main screen will fill the entire display, e.g.


Source Code for SLB to RW

Local copy

Network copy

Theory of Operation

The Read Depth Loop

The code reads a binary data stream from the serial port, finds the WPD packets, then extracts the interesting fields from them. The WPD packets are identified by transmission pauses before and after. Complete packets are 54 bytes long; packets which do not meet this gross integrity check are thrown out. Since the protocol is time critical, it is crucial for the code to check the serial port at regular intervals. This is achieved by using a Timed Loop which has high timing reliability (much better than a "plain" software loop). In VI Info (Ctrl+I from the LabVIEW development environment), the VI's Execution property is set to the highest possible for the operating system and hardware in use. Historically "time critical" was specified; with current hardware and software "high priority" is sufficient. The loop period is tuned to 50 ms, 1/4 of the expected 200 ms pause, so the pause can be clearly identified.

Algorithm

A state machine is used which looks for these 3 conditions.

** FindBreak ** - The starting state. Attempts to synchronize with the data stream.

**FindStart **

** Read **

The code could be upset if illusory pauses in reception are seen due to delays between when characters come in to the serial port and when VISA's "Bytes at Port" function registers them. The code might then identify these as packet delimiting pauses.The 54-byt length check will almost always catch this, but there is a slim chance that 2 delays exactly 250 ms apart might create a bogus packet read. Once possible cause might be a large FIFO buffer (>54 bytes) on the serial hardware. It is recommended to turn off the FIFO on the WPD serial port (Device Manager > Serial Ports > COM4: right-click Properties, Advanced...). This change requires a restart of the host to take effect.

While this algorithm has run stably for years, it is tuned to the rate at which the Schlumberger hardware presents data. If Schlumberger equipment changes, this code will likely need to change.

Recapitulation of the Schlumberger WPD protocol specification

Depth data is transmitted from Schlumberger to our system over an RS422 serial line using the WPD protocol. The protocol is documented in Schlumberger's SSD Maintenance Manual, Appendix C. This is an old standard. The version in use on the JR is slightly different than what is documented. A summary specification of the JR WPD protocol variant is as follows.

Data packets are

The interesting parts of the data packet are

Software Dependencies

SLB to RW

SLB2RW is a compiled, 64-bit, LabVIEW 2020 executable.

The full LabVIEW development environment that is installed on this system is not required for operation of SLB2RW. The development environment is solely for the convenience of rebuilding the tool if the serial ports are changed.

RigWatch

The RigWatch installation is dependent on

RigWatch is not dependent on an external installation of Oracle's Java. It is better for RigWatch to run only with the components that its installer provides. This ensures that, for example, wits1.dll and other serial drivers will load and communicate effectively across the network with the Master station.

PuTTY

Provides the ability to communicate with serial ports. Provides an independent testing facility if operational tools are not working as expected.

Troubleshooting

Normal operational state

Windows Device Manager normally shows these devices. This view was captured with "View > Show hidden devices" checked.


These are the device configurations as of this writing and implementation. Note that a different driver supports each serial port established.

COM4 - Schlumberger winch position data - incoming

This dialog is obtained from the Advanced... button above. The settings reflect the defaults applied when the NI serial drivers were installed for the RS485 device. There is no need at this time to change them.

COM3 - SLB2RW program outputs WITS content to this serial port

This dialog is obtained from the Advanced... button above. The settings reflect the defaults applied when the drivers were applied for the Tripplite Keyspan USB-to-Serial. There is no need identified at this time to change them.

COM1 - device COM3 is physically looped back into the computer

This dialog is obtained from the Advanced... button above. The settings reflect the defaults applied by the Microsoft-provided serial driver. There is no need identified at this time to change these settings.


If there is a change in USB-to-serial equipment

Drivers must be changed. If the drivers are changed, the designated COM#'s may too. 

(As seen above) the "Advanced Settings" for COM ports allows an administrative account to change the assigned COM port number. Re-assign COM ports sparingly. Each change breaks communications for current operations, and requires a restart of the host computer. 

PuTTY serial communications

PuTTY may be used to verify transmission of WITS data to COM1.
Nota bene: while PuTTY has a lock on the serial port, RigWatch Master cannot see or use device "COM1 - Remote 6".

If the NI RS485 to USB device is unplugged

The Windows Device Manager will disable the serial driver. This will interrupt the telemetry stream to RigWatch.

These recovery methods have not been tested. TBD. Each item is one step along the communication path.

That "seen once" was corrected by a restart of RigWatch. Not a desirable activity during rig-floor operations and continuous data collection.

Change

20210804 df Smoke test. Last logging run of the expedition. TBD.

20210803 df Adapt Schlumberger Winch Data transfer to RigWatch System (SLB to RW) document to this form.

20210729 df WPS feed not working. See what can be done to make this more repeatable, stable.

20210720 df Delivered winch telemetry over the Dell 53043. Demonstrated workable for the remainder of that logging cycle.

20210718 df, nl Commit to rebuilding winch telemetry on new hardware. Selected the ruggedized Dell (53043), an NI RS4585 USB-to-serial device, and a Tripplite Keyspan USB-to-serial device.


Archived versions

Logging Winch Telemetry to Rigwatch - 27Sept2022