0% found this document useful (0 votes)
84 views

An Introduction To WITS

WITS (Wellsite Information Transfer Specification) is a specification that allows for data transmission between oil and gas digital systems. It defines straightforward data packets that are exchanged over serial to transmit real-time data, such as from downhole measurement tools to rig monitoring systems. A typical WITS packet begins with header characters "&&" and ends with "!!", containing data records identified by record and item numbers separated by delimiters like "\r\n". WITS can be implemented over either serial or TCP connections.

Uploaded by

Aniruddha Rathod
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views

An Introduction To WITS

WITS (Wellsite Information Transfer Specification) is a specification that allows for data transmission between oil and gas digital systems. It defines straightforward data packets that are exchanged over serial to transmit real-time data, such as from downhole measurement tools to rig monitoring systems. A typical WITS packet begins with header characters "&&" and ends with "!!", containing data records identified by record and item numbers separated by delimiters like "\r\n". WITS can be implemented over either serial or TCP connections.

Uploaded by

Aniruddha Rathod
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

An Introduction to WITS

What is WITS?
I get quite a few emails from people asking simple questions about WITS, so I
thought it was time to write a simple introduction. WITS stands for “Wellsite
Information Transfer Specification” and it’s a specification, however loose it may be,
that allows for data transmission between Oil and Gas digital systems. Even though
this specification has been succeeded, a lot of rigs and other oilfield equipment still
use it. I personally enjoy it for it’s simplicity.

Want to get started quick?


Erdos Miller can help. If you need to implement a WITS based system our
experienced engineers can assist you. Please call 1-888-337-0869 or email us. If
you’re looking to accelerate your current team we have WITS libraries for Python,
LabVIEW and C#. While not yet available for sale online, they are available
by request.
Can you give us an example of a real-world use of
WITS?
Most wells drilled today are directional, meaning they deviate from a vertical hole. To
achieve this multiple systems and teams are required. A rig is required to drill the
hole, an MWD tool is required to provide directional information, and an EDR system
is deployed to monitor the drilling operation. An MWD tool (Measurement While
Drilling) is a electronic down-hole tool that is capable of gathering telemetric and
formation data and transmitting it up-hole during drilling operations, this allows the rig
to steer in real-time. A modern EDR system (Electronic Data Recorder) is composed
of sensors, data acquisition, computers, and a database. It’s job is to acquire data
from a large number of rig sensors, display the data to the rig crew and other parties,
and store it in a database. The EDR is typically provided from a 3rd party vendor to
the drilling contractor for a particular rig. So the challenge is to acquire the MWD
data and then transmit it to the EDR system so that the rig crew can easily see the
real-time telemetric and formation data and make steering and drilling decisions.
WITS meets this challenge superbly by providing a very simple link for the MWD
systems to transmit data to the EDR system in real-time.
 

Don’t be afraid.
If you get ahold of the WITS specification you might be a little scared at the
complexity and all of the “levels” it mentions. So far we’ve interfaced to a dozen
different WITS systems and everyone employs some form of WITS, which is the first
level. This means the majority of the spec sometimes goes unused. At it’s simplest
WITS defines very straightforward data packets that are exchanged over serial.
Everyone does things a little different, but not different enough to worry about, and
your code will work with most vendors if you do it right.

WITS Transmission.
WITS over serial works by exchanging packets over a full-duplex serial bus. So far,
we’ve experienced two methods of transfer between systems, synchronous and
asynchronous. In the synchronous method, one system will request transmission of
a packet from another system by sending a “dummy” packet. For example, some
EDR systems require a dummy packet, or a data packet, to be received before they’ll
transmit back a packet. Sometimes a system will accept an empty dummy packet,
other times it’s best to transmit some data in the dummy packet. For your dummy
packet choose a null value or something non-volatile like the vendor string. (Rec: 19
Item: 84) With the asynchronous method both systems will exchange data (usually at
some specified interval) without any sort of request, basically just streaming. 1
packet per second is a typical rate for most systems using the time-trigger method.
With the asynchronous method it is not necessary for both systems to exchange
data, one may simply transmit to the other continuously while the other receives.

The WITS Packet.


A WITS packet is quite straightforward. It’s a series of serial characters that are sent
together representing a collection of data. Here’s a simple packet structure. 

The first line “&&” state that a packet is beginning. The following lines (zero or more)
contain data. A data line has a simple structure, it starts of with two characters that
represent the record number or the item. The next two characters represent the item
number in the record. Together the record identifier and item identifier precisely
identify a data type. The specification lists that only certain data types of certain
lengths can be transferred. This is pretty much ignored; be prepared for anything of
any length in this section. The last line “!!” ends the packet.

Delimiters.
The most common delimiter is “\r\n”, you’ll sometimes find other delimiters “\n” or
others used.

Null Values.
A lot of companies like to use null values to represent a data item that isn’t present.
A typical null value is -9999.9 or -9999.0. When you see a value like this you’re
supposed to ignore it. It is not the current reading for that item. Make sure you talk to
the vendor you’ll be interfacing with and understand what they consider to be null
values or you might end up displaying some odd values.

TCP and Serial.


While this article focuses mostly on WITS over serial, another popular option is to
transmit with WITS over TCP. This is essentially the same thing, you open a TCP
stream and simply send packets as you would over serial.

You might also like