Вы находитесь на странице: 1из 113

ANAX 500 BSD Core Manual

Version 1.0 May 2006 Written by: Mark Pickell and Todd Parsons

To be a Worldwide leader in providing drilling and geological monitoring solutions to the oil and gas industry, by utilizing innovative technologies and delivering exceptional customer service.

BSD Software Manual

Table of Contents
Foreword 0

Part I WellWizard Software Manual

1 Server Software ................................................................................................................................... Installation and Configuration 1 2 The OpenBSD................................................................................................................................... Operating System 1
So Why OpenBSD .......................................................................................................................................................... 1 BSD Differences .......................................................................................................................................................... per Hardware platform 2 EDR/UBD ......................................................................................................................................................... Servers 2 Mini-Server ......................................................................................................................................................... 2 For users of the .......................................................................................................................................................... QNX system 2 WellWizard Components .......................................................................................................................................................... 3 General BSD Commands .......................................................................................................................................................... 5 Important Commands .......................................................................................................................................................... 8 Shell ......................................................................................................................................................... 8 RAID ......................................................................................................................................................... 9 Shutdown / ......................................................................................................................................................... Boot 9 Single User ......................................................................................................................................................... Mode 10 Lost Root......................................................................................................................................................... Password 11 DMESG ......................................................................................................................................................... 11 Adding other ......................................................................................................................................................... users 11 File Attributes ......................................................................................................................................................... 11 chmod ......................................................................................................................................... 12 chown ......................................................................................................................................... 12 Apropos ......................................................................................................................................................... 12 find ......................................................................................................................................................... 13 nano ......................................................................................................................................................... 13 mount ......................................................................................................................................................... 13 Mount USB Drives ......................................................................................................................................... 13 Mount Drives for ......................................................................................................................................... KERNEL updates 13 top ......................................................................................................................................................... 14

3 The Mysql Database ................................................................................................................................... 14 4 WellWizard Control ................................................................................................................................... Panel 14


Initialization .......................................................................................................................................................... 15

5 Server Information ................................................................................................................................... 15


Server Type .......................................................................................................................................................... 16 Time Zone .......................................................................................................................................................... 16 Time & Date .......................................................................................................................................................... 17 Drill Floor Monitors .......................................................................................................................................................... 1&2 17 Horn Output .......................................................................................................................................................... 17 AC Failure Shutdown .......................................................................................................................................................... 17 Default Well template .......................................................................................................................................................... 18 Well Control Button .......................................................................................................................................................... 18 Well Configuration .......................................................................................................................................................... Password 18 Server Info Text .......................................................................................................................................................... Mode 18

6 Wells

................................................................................................................................... 19

Definitions .......................................................................................................................................................... 20 Create a New .......................................................................................................................................................... Well 21

<2006> <Datalog Technology Inc.>

Contents

II

Create a New ......................................................................................................................................................... Well - Text Mode 22 Enable Well Logging .......................................................................................................................................................... 22 Enable Well ......................................................................................................................................................... Logging - Text Mode 23 Disable Well Logging .......................................................................................................................................................... 23 Disable Well ......................................................................................................................................................... Logging - Text Mode 24 Stop Well .......................................................................................................................................................... 24 Stop Well......................................................................................................................................................... - Text Mode 24 Changing Well .......................................................................................................................................................... properties 25 TENSOR Configuration .......................................................................................................................................................... 25 TENSOR ......................................................................................................................................................... configuration - Text Mode 26 Delete Well .......................................................................................................................................................... 26 Delete Well ......................................................................................................................................................... - Text Mode 27 Rename Well .......................................................................................................................................................... 27 Well Templates .......................................................................................................................................................... 28 Modifications ......................................................................................................................................................... to Default Templates 28 Archive .......................................................................................................................................................... 29 Restore .......................................................................................................................................................... 30

7 Users

................................................................................................................................... 30

Create New User .......................................................................................................................................................... 31 Clone User .......................................................................................................................................................... 32 Delete User .......................................................................................................................................................... 33 Well Permissions .......................................................................................................................................................... 34

8 WITS

................................................................................................................................... 36

How does Wits .......................................................................................................................................................... Work 36 Advanced Wits .......................................................................................................................................................... 38 Wits via TCP/IP .......................................................................................................................................................... 39 wits_diag .......................................................................................................................................................... 42 TroubleShooting .......................................................................................................................................................... Wits 43 No WITS ......................................................................................................................................................... data is being sent or received 43 Data has ......................................................................................................................................................... the wrong values 44 How do I ......................................................................................................................................................... record the incoming data 44 I have edited ......................................................................................................................................................... the wits file but nothing is working 44

9 Lags

................................................................................................................................... 44

Basic Requirements .......................................................................................................................................................... for lags 45 Time-Based ......................................................................................................................................................... Lags 45 Stroke Based ......................................................................................................................................................... Lags 46 Air-Based......................................................................................................................................................... 47 Volume Based ......................................................................................................................................................... Lags 48 Override Lags ......................................................................................................................................................... 49 Trigger Lag .......................................................................................................................................................... 49 GasLag ......................................................................................................................................................... 50 Mudlag ......................................................................................................................................................... 52 Troubleshooting .......................................................................................................................................................... Trigger_lag 52 Everything ......................................................................................................................................................... has been overwritten with a straight line 52 My Lag is......................................................................................................................................................... Ok, but my Gas value is lower than it should be 52 I'm Not Receiving ......................................................................................................................................................... my Lags 52 Check that the .......................................................................................................................................................... lag is Working 52

10 Creating Channels ................................................................................................................................... 52


WWtext .......................................................................................................................................................... 53 Adding a new.......................................................................................................................................................... channel or editing an exiting channel 54

11 Sensor Configuration ................................................................................................................................... 57


Hardware Calibration .......................................................................................................................................................... Procedures 57 <2006> <Datalog Technology Inc.>

II

III

BSD Software Manual


Channel Calibration .......................................................................................................................................................... 58 Channel Mapping ......................................................................................................................................................... 59 Channel Calibration ......................................................................................................................................................... Analog 63 Example Calibration ......................................................................................................................................... - DeLaval Pit Volume Sensor 65 Channel Calibration ......................................................................................................................................................... Digital 66 Set Function ......................................................................................................................................................... Calibrations 67 Example Calibration ......................................................................................................................................... - Block Movement 69 Channel Configuration .......................................................................................................................................................... 69 Calibration Log .......................................................................................................................................................... 70 Depth and Weight .......................................................................................................................................................... Calibrations 70 Weight On Bit .......................................................................................................................................................... 71

12 Mirroring

................................................................................................................................... 72

What is a Mirror .......................................................................................................................................................... 72 Mirror Configuration .......................................................................................................................................................... 73 Wellsite Server .......................................................................................................................................................... Setup 73 Mirror Server .......................................................................................................................................................... Setup 74 Starting the Link .......................................................................................................................................................... 75

13 Interface

................................................................................................................................... 76

Requirements .......................................................................................................................................................... 76 Command to .......................................................................................................................................................... Start Interface 76 Mapping Channels .......................................................................................................................................................... between QLOG and WellWizard 77 Troubleshooting .......................................................................................................................................................... 78

14 WellWizard Client ................................................................................................................................... Software Installation 80


Modifying WellWizard .......................................................................................................................................................... from Default to Driller's Terminal 80 EDR Version Client .......................................................................................................................................................... 80

15 Security

................................................................................................................................... 81

Part II Advanced Commands


1 client_tcp

82

................................................................................................................................... 82

Time and Depth .......................................................................................................................................................... Queries 82 Realtime Viewing .......................................................................................................................................................... 83 Setting Variables .......................................................................................................................................................... 83

2 WWpad 3 WWsim 4 Registry

................................................................................................................................... 83 ................................................................................................................................... 84 ................................................................................................................................... 85

Example usage .......................................................................................................................................................... of Registry 86

Part III Networking

88

1 Terminology................................................................................................................................... 88 2 BSD Networking ................................................................................................................................... 90


Setting IP .......................................................................................................................................................... 90 Setting Gateway .......................................................................................................................................................... 90 netstat .......................................................................................................................................................... 90 ifconfig .......................................................................................................................................................... 91 route .......................................................................................................................................................... 92

3 Secure Telnet ................................................................................................................................... / Putty 93


SSH .ssh .......................................................................................................................................................... 95 .......................................................................................................................................................... 95

4 Secure FTP /................................................................................................................................... WinSCP 96


<2006> <Datalog Technology Inc.>

Contents
SCP .ssh

IV

.......................................................................................................................................................... 98 .......................................................................................................................................................... 98

5 Test Network ................................................................................................................................... Connections with Ping 99 6 Test to Isolate ................................................................................................................................... Network 99 7 No Network Communication ................................................................................................................................... 99

Part IV APPENDIX

101

1 Standard Units ................................................................................................................................... 101 2 Parameter Definitions ................................................................................................................................... 101 3 nano ................................................................................................................................... 103 4 Wits records ................................................................................................................................... 108

Index

<2006> <Datalog Technology Inc.>

IV

BSD Software Manual

WellWizard Software Manual


This section covers all software aspects of the WellWizard server. This includes: Software calibration of sensors Software mapping of sensors All aspects of Well and User control

1.1

Server Software Installation and Configuration


The WellWizard server software is used to support many different hardware and software variations and thus it is very important that the server is correctly configured prior to first usage. After initial configuration is complete the only requirement in configuration is Enabling and Disabling different Wells as required. Configuring the Server for first time usage is done through the WellWizard Control Panel. The Server Information should be configured first. Other consideration to be made is do you have existing templates that should be brought in to be made the defaults. The EDR template by default is fairly inclusive but every job has various items that require tweaking or configuration such as sensor calibration or software channels added or wits file configurations. If any of these items is modified and a new well is created the modifications won't be brought over from well to well. If you do have existing templates you wish to bring over or create this will need to be done on the server side and should be done prior to Enabling a new well. For instructions on how to copy out default templates please refer to Modifications to Default Templates. After you have enabled your well to logging you will want to connect to it with your client which can be obtained by following the instructions in the section WellWizard Client Software Installationand connecting using the login and password as defined in the section Users. Once connected you can follow the instructions in Software Calibration Section to add and configure your hardware sensors. Please refer to the WellWizard User manual for details on how to use the WellWizard client and its various operations.

1.2

The OpenBSD Operating System


The old manual had tons of pages describing everything under the sun about the QNX4 operating system. I have opted to not include all that information here as it is readily available from http://www.openbsd.org. I suggest reading the About OpenBSD section and the OpenBSD Resource sections. Any question you may have or plain curiosity can be answered there. Also there is a large online community with tons of posts that you can search through for specific questions or problems you may be having. And as always Datalog Head Office can be utilized as we have a long experience with the OpenBSD platform.

1.2.1

So Why OpenBSD
The OpenBSD platform has proven itself to be an extremely secure and stable operating system -both attributes required for the collection of extremely sensitive wellsite data. The Head Office has been using OpenBSD for some time now in various roles As the corporate website Corporate Email Firewall protection Chromat GasWizard Depth Processing Unit All IDS mirrors Now all wellsite ops.
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

By bringing all our operations under one Operating System all users can move from one application to the other without a learning curve and development can concentrate on one overall operating system

1.2.2
1.2.2.1

BSD Differences per Hardware platform


EDR/UBD Servers Converting a Mini-Wizard from a QNX system to OpenBSD system requires the following BIOS changes: HARD Drive 0 - should be set to auto physical LBA. Com 3 - set to IRQ 10 Com 4- set to IRQ 11 LPT - set to IRQ 7 ETHERNET - set to IRQ 9

1.2.2.2

Mini-Server Converting a Mini-Wizard from a QNX system to OpenBSD system requires the following BIOS changes: HARD Drive 0 - should be set to auto physical LBA. Com 3 - set to IRQ 10 Com 4- set to IRQ 11 LPT - set to IRQ 7 ETHERNET - set to IRQ 9

1.2.3

For users of the QNX system


The migration from QNX to BSD has been designed to be as painless as possible but not everything could stay the same. In point form some of the more major changes that you need to be aware of: pico is no longer available, use nano -- same structure dac_sw,dac_hw are all gone and all sensor configs are now stored in /ww/well/UWID/config/well.cfg databases are now stored in mysql at /ww/db/wwdata. No independent databases (no size limitation either) WWdac_rtd5408 is now WWdac qtalk is no longer available, all terminal control is now through wits_diag telnet/ftp are being phased out, now use scp,ssh,PuTTy and WinSCP chkfsys in longer required, system is self checking on startup dual drives now running in raid 1 software (mirror) /etc/hosts is now replaced by wwnet.conf /etc/netstart is now replaced by mygate wwmon is a new program monitoring for failure of the database boot -s (single user mode) giving more options on startup ps ax instead of sin (fi) pkill instead of slay wwmysql now part of shut down procedure (manual) reboot now works for reboots.

BIGGEST CHANGE -- Do not update your systems with any new


<2006> <Datalog Technology Inc.>

BSD Software Manual

updates unless instructed to do so. The BSD system uses the Kernel file (/bsd) which is paired with the software and must be updated together. Updating files without checking on the kernel can cause disastrous effects. Also please note that you can't just update /bsd as we now have two drives running raid 1 which need to be updated independently.
1.2.4 WellWizard Components
WWcpu - controls a digital I/O card. - used to control the operation of the hardware (keyswitch, power control board, heartbeat light). - controls the horn, based on commands from "engine". - controls the digital output pulses, based on commands from "WWpulser". - during shutdown, it orders the OS to stop, and then kills the CPU power. - monitors the operations of the entire WW system. - detects if a process is killed or dies and restarts that process. - must be running before attempting to start WW

WWos

WWengine WellWizard Well Data Dissemination Engine This program is used to calculate and disseminate data for the specified Well. It is actually two programs in one - the ENGINE program and the IO program. These two pieces work together to provide access to well data in an efficient, prioritized manner. - Trigger for lagging data is also handled by the WWengine program. - two copies run simultaneously. - "engine" gathers data from all sources, performs calculations. - "I/O" is the interface between the system and the mysql database server. - "engine" distributes data to requesting local processes WWtcpip WellWizard TCP/IP Server This program handles communication between Windows clients and the server. - handles communication, with remote clients, via TCPIP. - listens on port 4999 for connection requests. - handles requests from clients for configurations, realtime and database data. - provides the only data path from client to server. WWdac WellWizard DAM/DAC Driver file for Data Acquisition cards in both Merlin and EDR. - hardware data acquisition controller and processor. - splits into two copies - higher priority process communicates with the RTD5408 acquisition board, with processing occurring 1000 times per second. - lower priority process performs calculations and passes them to the "engine", with processing occurring once per second.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

WWwits

WellWizard WITS Program This program is used to send and/or receive WITS data. - WITS controller - sends data to "engine" once per second for calculations. - receives data from "engine" once per second for distribution to external systems. - one process can control several serial ports. Well Wizard Shutdown program This program is used to shutdown the logging functions on the WellWizard system. It does not stop any of the underlining OpenBSD structure or the base WellWizard system. Items such as WWreg are left running so you can continue to work with your wells. This shell script is used to boot a WW server. Starts up the wells and the appropriate programs associated with each WellWizard Channel Manager Command used to add channels, change categories, hide/unhide set alarms status etc. WellWizard ConfigThis program is the configuration server. It listens to requests from WellWizard clients that have the ability to configure the server. WellWizard DAC Simulator Simulation program used by demo wells to create a fake well Well Wizard Well Database Manager program This program is used to backup and restore entire wells in a proprietary format. The wells may then be restored in another WellWizard server stored for future usage. WellWizard HART protocol data acquisition manager. Used in UBD wells QLOG-to-WellWizard Interface Program

WWdown

WWboot

WWtext

WWconfig

WWdac_sim

WWdbm

WWhart WWinterface

WWreload

WellWizard Reload Utility Use this program to reload certain supported configuration file instead of restarting programs. Typically, this program is invoked from the command line by simply running the command specifying the file to reload as a command line argument. WW <-> WW Link Manager This program establishes connections to remote systems to perform data replication (aka Mirroring). Both batch and live updates are handled. NOTE: The WWlinkup program is used in conjunction with this program to trigger a scheduled update to/from a remote system.

WWlink

<2006> <Datalog Technology Inc.>

BSD Software Manual

WWlinkup

WellWizard Server Linkup Use to initiate connection between two WellWizard servers for data mirroring. The registry settings for a well will determine how and when this connection takes place. WellWizard Administrator Password Program This program is used to display the WellWizard administrator password that is used to calibrate, configure, and manage the system password that is required from Client to access configurations. WellWizard Registry Manager Used to edit the registry. STAY OUT OF REG. Must be running to see wells. Wellwizard to Mirror test program Used to test link status between two servers. The daemon for Tensor tools. Used in conjunction with WWtensorc to listen and accept input from tensor tools. WWtensor configuration tool. Used to setup up offsets and incoming ports for tensor data. This program monitors for the mysql database and if not present will reboot the server in an effort to repair itself. Takes the mysql server down Starts up the mysql database server

WWpassword

WWreg

WWtestlink

WWtensor

WWtensorc

wwmon wwmysql down wwmysql boot

1.2.5

General BSD Commands


To use OpenBSD commands you must open a PuTTY session to the server. (Note that Telnet still does work but as a good general practice don't use it) All OpenBSD commands are stored on the system drive in the /bin directory. BSD uses the forward slash (/) as a directory separator (opposite to the DOS (\) backslash), with / representing the root directory. BSD is case sensitive. Lower case is predominant for BSD commands with third party executables often comprised of mixed or all upper case letters. To find out how to use a BSD command, type man command where command is the executable you are seeking full usage instruction for. All usage dictates that you use spaces between the command and each of its subsequent parameters. Here are some typical examples: Listing files

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

ls ls dac* ls l ls D Copying files cp al.txt al.txt.bak cp *.txt * .txt.bak cp cvpRO (lowercase L)

List all files in the current directory List all files beginning with dac in the current dir List all files in long format Lists only directories

Copy file al.txt to al.txt.bak (al.txt still exists) Copy all files with a txt extension to files with a txt.bak extension Copy recursive directories plus links

Moving files (can use like rename) mv al.txt al.txt.bak Move al.txt to al.txt.bak (al.txt no longer exists) Move the directory dbms to dbms.old (dbms folder no longer exists) mv dbms dbms.old Make directory (actually a sub directory) mkdir dbms Make a new dbms sub directory in the current directory Make a new directory called myfiles in the current directory mkdir myfiles Using the Output Pipe (vertical bar | ) ls | less lists the output through the more utility. Use the spacebar to view each screen of output Display running tasks ps ax ps ax |grep WW ps ax |grep h ps ax |less

Display all running tasks Filter list of tasks to those starting with WW piped through grep utility Filter list of tasks to those starting with h piped through grep utility List running tasks - only so many per page

Find text string grep send wits grep recv * Redirection symbol > cat /dev/ser1 > /tmp/filetxt client_tcp -cdata_test -d"1 DMEA" > /tmp/output.txt

Find all occurrences of send in the wits file Find all occurrences of recv in any file in the current directory

Redirect output from serial port 1 to /tmp/file.txt Redirect output from the client_tcp program to /tmp/output.txt

<2006> <Datalog Technology Inc.>

BSD Software Manual

List the last "n" lines of a text file tail 50 wits List the last 50 lines of wits to the screen tail 500 dump.log List last 500 lines of dump.log to screen or. redirect to mydump.txt tail 500 dump.log > As data is written to /ww/debug/..ww.. it will update on your screen mydump.txt tail -f /ww/debug/..ww.. Permanently delete a file (very powerful - use with caution) rm al.txt Delete al.txt Delete all files in the current directory with a bak extension rm *.bak remove all files AND directories starting with letters "data" rm r data*

Stop/end running tasks pkill WWwits pkill 9 WWdac Some of the common pkill signal options; 1 HUP Hangup 2 INT Interrupt 9 KILL Non-ignorable kill

Stop the WWwits task; and restarts it Stop all running copies of the given task permanently

BSD editor (nano) nano wits nano dac_sw.txt

Edit the wits file Edit the named txt file

NOTES on the use of nano keys: Ctrl-F Moves cursor forward one character Ctrl-B Moves cursor backward one character Ctrl-N Moves cursor to the next line Ctrl-P Moves cursor to the previous line Ctrl-Backspace Backspace Ctrl-H Backspace Remember man nano for more assistance. NOTE: This editor does NOT support a mouse. The delete key works like the backspace key. BSD file compression utility (tar - zip utility) tar zcvf al.tgz * Compress (zip) the current directory into a single file - al.tgz tar zxvf al.tgz Extract the contents of /al.tgz into current directory. tar ztvf al.tgz List the contents of the file al.tgz

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

NOTES: The switches copy all files in all subdirectories while preserving symbolic links, user privileges, and file properties. The only switch parameter that varies between the compress and extract functionality is the second one in the list: c for compress and x for extract. Table of Dos Commands vs. BSD commands. DOS Command display list of files display contents of file display file with pauses copy file find string in file compare files rename file delete file delete directory change file protection create directory change working directory line editor get help display date and time display free disk space backup or winzip style print file display print queue dir/w dir type type filename | more copy find comp rename OR ren erase OR del rmdir OR rd attrib mkdir OR md chdir OR cd edit help date, time chkdsk backup print print BSD Command ls ls -l or l cat or less less cp grep fgrep diff mv rm rmdir or rm -R chmod mkdir cd nano use date df tar lpr lpq

Commands located in /bin - part of the BSD build not WellWizard specific

1.2.6

Important Commands
Beyond the General Commands that are used on a regular basis there are many commands that can be used for other purposes. These commands are not meant for the General User but for the Technical User. Please do not use any of these commands without Tech Consent. As with all commands do a "man command" in order to get a better understanding or other options available.

1.2.6.1

Shell When you login into your server you are working in the KORN shell. This shell is the default for BSD systems and has some limitations that will eventually drive you nuts. You will probably and I suggest that upon logging in type "sh" sh - the public domain Bourne Shell. This shell has the advantage of allowing you to backspace or use up/down arrows to bring up previous commands. It is also the shell that allows for most advanced commands to work.

<2006> <Datalog Technology Inc.>

BSD Software Manual

1.2.6.2

RAID The BSD system is designed to run with two drives in a raid 1 (mirror) configuration. If only one drive is present the system will disable the raid functions. If the system does have two drives they must be the same size. If the system is taken out of sync for any reasons the system will need to be rebuilt and this will occur automatically. To check the status of the raid type: raidctl -s raid0 A system that is clean (or in sync) will return:

If the parity status returns as Dirty then the system will start to rebuid itself. To view the rebuild status realtime go to a sh shell and type : while sleep 5; do raidctl -s raid0; done During the rebuild process particularly from 0-2% rebuild the system will not respond to WellWizard commands as during this time the WellWizard regsitry is being rebuilt. If a drive does fail it is recommended to backup all data from the still running drive and swap out both drives when time allows.

NOTE: Never reboot the system while the raid is rebuilding. The raid takes about 32 seconds per GB -- be patient. The system will continue to collect data and function during this time, though it may be a bit slow backside.
1.2.6.3 Shutdown / Boot When the system is started up the /etc/rc file fires up first the mysql database and then the main WellWizard system. If firing up manually the process is : 1. fire up mysql -- wwmysql boot 2. fire up WW system -- WWboot To take the system down completely 1. Take down main WW system -- WWdown 2. Take down remaining WW system -- pkill WWsys WWtdm WWtran WWuser WWreg WWcpu 3. Take down mysql -- wwmysql down Generally the system never needs to be taken down completely and a WWdown is normally all that is
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

10

required. 1.2.6.4 Single User Mode Single User Mode allows users to access the system without starting up any of the normal processes. This includes all WellWizard processes and network. This must be done with a keyboard and monitor attached. When the boot> option appears type in boot -s and hit <enter>

BSD will go through it's normal boot-up sequence and rather than issue you a login it asks you for the pathname of shell. Hit <enter> here.

Terminal Type: Choose vt220 at this point You are then given the command line and you can move around the system. At this point you are in
<2006> <Datalog Technology Inc.>

11

BSD Software Manual

read-only mode. To make any changes to the system you must first mount the system and then you are free to make changes. mount / 1.2.6.5 Lost Root Password Losing the ROOT Password is not a good thing -- as all access is via ROOT. If this occurs you must boot into single user mode. Mount the drive as instructed and then type "passwd". This will allow you to change the password for the Root user. Once finished type reboot. 1.2.6.6 DMESG dmesg displays the contents of the system message buffer. It is most commonly used to review system startup messages. dmesg | less or dmesg > file.txt dmesg is an important file that contains all the startup information that can be used to troubleshoot problems. The contents of this file are the same thing you would see if booting up with a monitor attached. It shows what network cards were found, serial devices, and harddrives. If something is amiss you can always refer to dmesg to see what happened on startup. 1.2.6.7 Adding other users You can always add other users to the system other than root by using: adduser Adduser will take you through the questions required and will setup a new user. This is similiar to what has been done on the main servers. If you make the user a part of the group wheel they can they login in as themselves and the do a "su" (superuser) to the root user. This is considered the proper method of connecting to a criticial server. Please note that if you do add other users they will not be able to login into the WellWizard system until you do the following as root: cd /etc chmod 775 ..

1.2.6.8

File Attributes All files on the BSD system are assigned an owner, a group and then general users. These are then broken down into read,write and execute. As an example /ww contains the following directories: (do an ls -l) drwxrwx--- 2 ww ww 512 Oct 2 2000 default drw-r----- 4 root ww 512 Dec 15 13:00 ll The d signifies directory. r=read w=write x=execute So for the directory default the owner is user "ww" and this user has read,write and execute. The group is group "ww" which also has read,write, and execute. All other uses have no read,write or
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

12

execute ability. The directory ll is owned by user "root" and this user can read or write to the file but not execute. Group "ww" can only read and no one else can do anything. The other contents shown by "ls -l" show number of blocks used by this directory (2), block size (512) and date of creation (no year indicates current) The command "chmod" and "chown" control these file attributes.

1.2.6.8.1 chmod

chmod - Change mode usage: chmod 777 file The value 777 in the example above would give read,write and execute to owner,group and users. To determine the value that should be used follow the table below. Each number is based on a binary value going from 0 to 7. ----x -w-wx r-r-x rwrwx (000) (001) (010) (011) (100) (101) (110) (111) 0 1 2 3 4 5 6 7 no permissions at all execute permission write permission write/execute read permission read/execute read/write read/write/execute

A value of 640 would give owner read/write, group read only and everyone else nothing.
1.2.6.8.2 chown

chown controls who is the user and/or group assigned to a file. usage: chown owner:group file usage: chown owner file You can set either the owner or both owner and group at one time. If I were to send you a file called file.txt that I created as user root and you wanted to change it's ownership to ww so it coud be run by WellWizard you would type: chown ww:ww file.txt This would change both the owner and group to ww. (chgrp can change the group independently) 1.2.6.9 Apropos apropos shows which manual pages contain instances of any of the given keyword(s) in their title line. (taken from man) usage: apropos tdm (you remember tdm, but not the command)

<2006> <Datalog Technology Inc.>

13

BSD Software Manual

This command returns all man pages containing the content tdm. Useful if you can't remember an exact command but you remember what it does. 1.2.6.10 find To find a file you must be in the sh shell. man find find . -name filename Take note that their is a period between find and -name. 1.2.6.11 nano Text Editor -- see appendix nano 1.2.6.12 mount UNIX systems require you to mount devices to a directory in order for you to access them. BSD gives us many options in this area.
1.2.6.12.1 Mount USB Drives

To mount a USB 2.0 device (memory stick)

ssh into your system Insert stick into system: You should now see several lines of code appear, the line of interest will look like: sd0: 248MB, 248 cyl, 64 head, 32 sec, 512 bytes/sec, 507904 sec total If you do not see this line then your stick will not work. "mkdir /mnt/usb" (creating mount point) "mount -t msdos /dev/sd0i /mnt/usb" Now you can "cd /mnt/usb" and copy files in and out. When finished leave the /mnt/usb directory (cd to anywhere) and type "umount /mnt/usb". It is best to umount these drives prior to pulling them out as Unix systems often will buffer data that should be written, so pulling out may give you incomplete data.
1.2.6.12.2 Mount Drives for KERNEL updates

To mount your harddrives to change BSD kernel (for update) mkdir /mnt/wd mount /dev/wd0a /mnt/wd (do your thing)
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

14

umount /mnt/wd mount /dev/wd1a /mnt/wd (do your thing) umount /mnt/wd
1.2.6.13 top The top command is used to display and update information about the current CPU processes. It is only used for troubleshooting purposes. Basic command is: top -s1 -osize the top of the list. --- this will update the list every second and show the largest users of CPU time at

Processes from time to time will use upwards of a 100% CPU but these will never last longer than a few seconds and any process using upwards of a 100% for a long period of time has essentially lost its mind and will need to be reset.

1.3

The Mysql Database


The BSD WellWizard system uses the mysql database to store all time and depth data files. Unlike the previous system which stored the files in a SyBase database in the /ww/well/UWID/data directories the database is now stored in a file called /ww/db/data/wwdata. This file contains both time and depth for all wells on the system. Unlike the previous system each well on the system is stored in the same database. This causes some difference in operation. WWdbm will be a bit slower as the data needs to be extracted and compressed whereas the old system was already independent and compressed. All wells on a system are stored together. File limitiations are removed and issues with 2GB database size or no longer relevant, so we can record at 1sec time interval if required. In order to ensure that the database is up and running prior to the rest of the system (see shutdown/boot) a process called "wwmon" monitors the status of the mysql daemon. If the mysql daemon is not present or fails the wwmon program will reboot the system in an effort to startup the auto-correction that occurs on boot-up. If this fails again the system will keep rebooting over and over again. To get out of this cycle the user must boot into single user mode and mount / the drive and nano /etc/rc and # (pound) out the wwmon references. Rebooting after this will allow the system to come up without wwmon rebooting it. If any of this occurs I would suggest contacting Datalog for help from a senior Technician. Under normal operations this should never occur but we have seen systems that the processer has failed (fans failed) and this caused an spiralling system death. Under these circumstances the database needed to be rebuilt and fired up manually before it was functional again. On my test server I have improperly pulled the AC well over a 100 times during the writing of this manual and not once did I have a database failure. So I only raise this issue as it has occurred, though I doubt we will see it very often. To backup your database the WWdbm command is still the best choice.

1.4

WellWizard Control Panel


The WellWizard Control Panel is the Datalog GUI (Graphical User Interface) to assist wellsite users in the configuration of their Datalog system without having to access OpenBSD command lines. Many of the functions are now available in the WWCP but many are still in the process of being ported over.

<2006> <Datalog Technology Inc.>

15

BSD Software Manual

As the process are ported over I will update this manual for that particular section.

1.4.1

Initialization
Install WellWizard Server software version 5.1 or newer into the system. This can be done by either installing a hard disk drive supplied by Datalog that contains the software or by a software patch as required. Power up the server using the power button or key switch, as appropriate. For EDR/UBD Systems or Mini-Servers, wait for the external LED (heart beat) to start flashing before proceeding. Double click Internet Explorer icon. If you are accessing the WellWizard Control Panel interface from the default Datalog wellsite network, in the web browser type: http://207.216.230.180 and hit enter. The Datalog page will open. If you are using the WellWizard Control Panel for the first time and you do not have a Java 2 Runtime installed on your system, click on the Download Java 2 Runtime hyperlink in the web browser, save the file to your local hard drive then, once the file is downloaded, click on Open and follow the installation instructions. After you have installed the Java 2 Runtime on your system, go back to the web page. Click on the WWCP hyperlink. The first time you enter you will be asked to trust the software, to continue, Click start. In the user box type admin. In the password box type admin. Click OK. The system will prompt you to change the password. Type your new password. Confirm the new password. Click OK. The system currently can only support English. If your system is not setup as English default or does not include English in your browser settings it will fail.

1.5

Server Information
To setup up the Server parameters please use the WellWizard Control Panel where possible. This operation can also be accomplished on the server side in text mode and the instructions and definitions for each choice remain the same but method is slightly different. Please refer to the section - Server Info Text Mode for detailed instructions. A Server Information display panel is displayed, under this panel is a series of server parameters are designed to setup your server for your unique well.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

16

After configuring each of the following parameters click Apply. Server Type Time Zone Time & Date Drill Floor Monitors 1 & 2 Horn Output AC Failure Shutdown Default Well template Well Control Button Well Configuration Password

1.5.1

Server Type
Click the down arrow to the right, a drop down list of server types will appear. Select the server type you are using. WW Server System - This option is for all EDR/UBD systems WW Mini-Wizard System this is the blue box systems, or the suitcase style Mini-Server. Other (PC/Desktop/Laptop/...) this option is for any system you install WellWizard into that does not have Datalog's proprietary power-control hardware.

1.5.2

Time Zone
Choose the server's Time Zone by clicking on the down arrow on the right, scrolling through the list, and making the appropriate selection. Once the server information has been applied, the selected Time Zone will be used by the server and all wells create after the Time Zone was set. Note that each well has its own Time Zone setting which is inherited from the server at the time that the well is created. To change the Time Zone setting for an existing well, the change must be done in the well's

<2006> <Datalog Technology Inc.>

17

BSD Software Manual

properties page. &Note: Changing the time zone will have no effect on server operation. Any WITS data being sent out by the server, however, will have its timestamp updated accordingly. IMPORTANT: Any WellWizard Clients connected to the server when the time zone is changed will need to be restarted to get the new time zone information.

1.5.3

Time & Date


The date and time should be set to the correct information for the selected time zone. Selecting each time field with the mouse and clicking on the up/down arrows will adjust each value accordingly. Additionally, once a field is selected, the up, down, right, and left arrow keys can be used to adjust values and switch fields. WARNING: The WellWizard Server stores time-based records using the current date and time. Consequently, if the server's time is adjusted forward, large gaps will appear in the time-based data records. Conversely, if the server's time is adjusted backwards, time-based records may be overwritten thus causing data-loss. To help prevent these types of problems, the time and date may only be modified if there are no wells currently logging data. It is also recommended that the date and time be checked and any corrections made prior to commencing well logging.

1.5.4

Drill Floor Monitors 1 & 2


If the WellWizard Server is supplying power for Drill Floor Monitors, enter the numeric IP address of each monitor into the respective edit box. The server will use this information to coordinate the shutdown of the Drill Floor Monitor(s) in the event that the rig losses power. For the default Datalog wellsite network, the default IP address of Drill Floor Monitor 1 is 207.216.230.78. Drill Floor Monitor 2 is at IP address 207.216.230.179 by default. If not using Drill Floor Monitors or if the Drill Floor Monitors are not powered by the WellWizard Server, the IP addresses should be cleared. PLEASE NOTE: The EDR/UBD server is capable of powering up one DFM only at this time. It is recommended that any secondary Drill Floor Monitors be AC models or DC models with an external power supply.

1.5.5

Horn Output
Click the down arrow to the right, and choose a horn output. None indicates the alarm horn WILL NOT sound a WellWizard External Alarm. Default Horn indicates the alarm horn WILL sound on the WW Server System or WW Mini-Wizard system. In addition to the above, there are also Serial Port and Parallel Port horn output selections. These selection required that special hardware be connected to the server and typically only used by the ANAX systems. Anax systems use the serial port to tie to the ANAX DAU to fire the external horn. IMPORTANT: The horn will only sound when the following conditions are met: a) the horn output is not 'None', b) there is a Drill Floor Monitor connected to the server and, c) an alarm threshold on the Drill Floor Monitor is triggered.

1.5.6

AC Failure Shutdown
Click the down arrow to the right and select normal or immediate shut down. Normal shutdown is the default and should be used in most cases. Normal refers to the process

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

18

that the system will go through when AC power is lost. In Normal mode, the server will continue running until the battery starts to run out of power. At that point, the server will automatically shutdown to prevent database corruption. Immediate shutdown will cause the server to begin shutdown immediately if AC power is lost. This was implemented for offshore areas where the server was deemed non-critical to remain powered up during AC power cutoff for safety reasons. This option only makes any difference to systems with battery backup such as the EDR/UBD systems. The shuttles and ANAX 500 systems should have UPS's connected to them to ensure continuous operation.

1.5.7

Default Well template


Click the down arrow to the right, scroll down the drop down list and select the well template that will be used to create new wells. All wells created using either the control panel or the Well Control button in a connected WellWizard Client will be created using the specified template. See the Well Templates for further details.

1.5.8

Well Control Button


Click the button to the right to enable or disable well control. When enabled, a button will appear in the WellWizard client software which will do the following when pressed by the user: Shutdown the currently active well. Create a new well using the default well template. Start the new well logging data. &Note: The button is primarily intended for use in GEOLOGGER mode. IMPORTANT: Any WellWizard clients connected to the server will have to be restarted to get the new setting.

1.5.9

Well Configuration Password


This password is to used to control access to the channel mappings and sensor calibrations of a well when using the WellWizard Client software. Note: Selecting WellWizard -> Configure in the WellWizard Client menu bar and using this password will allow access to the channel mappings and calibrations

1.5.10 Server Info Text Mode


ssh into the server and issue the following command: [1]root@server(/) # WWsetup Select Command - use arrow keys and ENTER to select. Press 'X' to exit. Command: Server Setup The right/left arrow keys work here and allow you to choose Server Setup; which is the first option always given. Press <enter> to go into to Server Setup. If Server Setup hasn't been run before it will automatically take you to the options. Note that "x" will exit you at any point. The options presented are scrolled through using the right/left arrow keys followed by <enter> when you are happy with your choice.

<2006> <Datalog Technology Inc.>

19

BSD Software Manual

Some changes and Shortcuts in the WWsetup - Server Setup screen. Timezone: Use the "d" character to move ahead 24 entries or "u" to move back 24 entries to bring you closer to your desired region. Time & Date: Use the left/right arrow keys to change from year, month, day, hour, minute, and then second. The use the up/down arrow key to adjust the time. Note if your unsure on the setup you may run it again to verify.

1.6

Wells
The WellWizard Control Panel should be used whenever possible for working with wells. Please refer to each sub-section for information on how to perform the same task from within Text Mode. From the Well menu you can Create a New Well. After the well is created right mouse click on the well or click on the Well menu to: Enable well logging Disable well logging Stop Well Changing well properties Tensor Configuration Delete Well Rename Well The functions may also be accessed by left-clicking on the desired well and selecting the appropriate icon in the toolbar.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

20

1.6.1

Definitions
Delete well: remove the entire well, including all data and configuration files, from the server. Rename well: change the name of the well. Enable well logging: change the well state to 'logging' and start server acquiring data for the well. The server will continue to acquire data for the well until such time as logging is specifically disabled. Even if the server is shutdown or rebooted, it will start acquiring data for the well again once the system is restarted. To permanently stop a well from acquiring data the 'Disable Well Logging' button should be used. WARNING: If logging is enabled on two or more wells that require the same acquisition hardware like a serial port or analog card, only the first well so enabled will have access. The remaining well(s) will be marked logging but will fail to acquire the hardware and hence the data. Typically, there should only be one well logging although it is possible for the server to acquire data for several wells simultaneously if properly configured. If in doubt, disable logging on all wells except for the one of interest. Disable well logging: stops the server acquiring data for the specified well. Stop well: shutdown the specified well. Wells that are 'logging' when stopped will start logging again if the server is rebooted. To permanently stop a well from acquiring data the 'Disable Well Logging' button should be chosen. UWID - Unique Well Identifier : Each well you create will have a UWID or Unique Well Identifier. This UWID allows for every well in the world to be unique. This UWID is based upon your computer's network card MAC address and a time stamp. So no two wells will ever be the same. This UWID

<2006> <Datalog Technology Inc.>

21

BSD Software Manual

becomes very important when you have multiple wells on a server as it helps keep things organized. LWID - Logical Well Identifier : The Logical Well Identifier is also assigned to any wells on the system in numerical order with one being the lowest possible value. This information is used along with the UWID to keep wells seperated on the system and to allow for ease in adminstration. The LWID is assigned to every well using the lowest value, ie. If well 1 is created and then well 2 is created, well 1 is deleted the next well created will be well 1. Then the next well will be three, four, five, and so on.

1.6.2

Create a New Well


The Well tab displays the all the wells on the server and their operational state. To create a new well there are three methods: Method 1: Click on Well on the top menu bar. Select Create Well from the drop down list. Enter well name (must be 4 or more characters in length). Click OK Method 2: Click Create New Well Icon. Enter the well name (must be 4 or more characters in length). Click OK Method 3: Right click anywhere in the well display to bring up a context menu Select Create Well in the context menu Enter well name (must be 4 or more characters in length). Click OK Your newly created well will be listed in the well info panel. Under the info panel you can see Type, Status and Well Name. Well Types: There are two types of wells: Local and Remote. Local wells are wells that have either been created on the local server or have been restored from an archive on to the local server. Remote wells are wells that are or have been mirrored from another WellWizard server. Remote wells can not have well logging enabled nor can their properties be changed. Well Statuses: Five different statuses indicate the operational state of a well:

WARNING: NEVER create a EDR, UBD or Mudlog well on system unless a Data Acquisition board has been connected to it.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

22

By default, only a full-size WellWizard Server has a Data Acquisition board (DAC). If a well is created from a template that requires a DAC and that well is started, the well will fail to function correctly. See the Well Templates section for further details on well templates and their requirements. 1.6.2.1 Create a New Well - Text Mode ssh into the server and issue the following command: WWsetup Using the right/left arrow keys scroll to the right until you see "Well Management" <enter>. This is where we can create or delete or modify a well's status. In order to create a well you must scroll through the existing wells to the right until you see "Well: Create New Well Entry" <enter>. Select Well Template - use arrow keys to change and ENTER when done. Please refer to Well Templates for assistance in choosing the correct template. Enter New Well Name: Give your well its name, this is the default name given to the client. Successfully created well 'mark1': Well Template: Demo Well Logical Well Identifier: 2 Unique Well Identifier: W0004BF0003B2GIEE7H As you can see my well is named mark1, it's a demo well, it's the second well on my system and its Unique well identifier is W0004BF0003B2GIEE7H . Now at this point your well is created, but its not activated. If you have a previous well on this server and it already has special configurations, or channels, or wits changes, you will want to copy those changes into your well, but only if you need them. Remember that each well is unique from each other so these changes don't automatically happen. You will want to exit (remembering the "x" will always back you out to the previous step) and copy the proper /config directory files to the newly created well. See section below "SAVING CHANGES" for information on which files to copy and to where. Use the 'x' twice to back out to a command line. Once to get back to sub-menu. Use the 'i' for more information.

1.6.3

Enable Well Logging


There are three ways to enable well logging: Method 1: Right click on the desired well to bring up a context menu. Select Enable Well Logging in the context menu. Method 2: Click on desired well in the well list to select it. Then click the Enable Well Logging icon.

Method 3: Click on desired well in well list to select it. Click on Well on the top menu bar. Select Enable Well Logging from the Well menu.

<2006> <Datalog Technology Inc.>

23

BSD Software Manual

Your well will now display Logging which means the new well is active and collecting data. WARNING: If logging is enabled on two or more wells that require the same acquisition hardware like a serial port or analog card, only the first well so enabled will have access. The remaining well(s) will be marked logging but will fail to acquire the hardware and hence the data. Typically, there should only be one well logging although it is possible for the server to acquire data for several wells simultaneously if properly configured. If in doubt, disable logging on all wells except for the one of interest. 1.6.3.1 Enable Well Logging - Text Mode If your still in WWsetup from creating the well then jumped down skip the next few lines regarding getting back to your well. ssh into the server and issue the following command: WWsetup Using the right/left arrow keys scroll to the right until you see "Well Management" <enter>. Use the arrow keys to find the well you wish to Enable well logging on. When the name of the well you wish to Enable is listed hit <enter>. This will bring up the options for your well with the first one being "Enable Well Logging". If you hit <enter> at this point the well will change states from active or inactive to Logging. Use the 'x' twice to back out to a command line. Once to get back to sub-menu. Use the 'i' for more information.

1.6.4

Disable Well Logging


Three methods exist to disable well logging: Method 1: Right click on the desired well to bring up a context menu. Select Disable Well Logging in the context menu. Method 2: Click on desired well in well list to select it. Then click the Disable Well Logging icon.

Method 3: Click on desired well in the well list to select it. Click on Well on the top menu bar. Select Disable Well Logging from the Well menu. The well will now display Active indicating that the well is still running but is not acquiring data. Once logging has been disabled on a well, the well will continue to remain active to allow users currently connected to the well to continue to view the historical well data. After the last user disconnects from the well, the server will wait for 5 minutes of inactivity before automatically stopping the well. The well may also be stopped by performing a Well Stop.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

24

1.6.4.1

Disable Well Logging - Text Mode ssh into the server and issue the following command: WWsetup Using the right/left arrow keys scroll to the right until you see "Well Management" <enter>. Use the arrow keys to find the well you wish to Disable well logging on. When the name of the well you wish to Disable is listed hit <enter>. This will bring up the options for your well with the first one being "Disable Well Logging" -- this is assuming the well is currently Enabled for Well Logging. If you hit <enter> at this point the well will change states from Logging to active or inactive. Use the 'x' twice to back out to a command line. Once to get back to sub-menu. Use the 'i' for more information.

1.6.5

Stop Well
There are three methods of stopping a well: Method 1: Right click on the desired well to bring up a context menu. Select Stop Well in the context menu. Method 2: Click on desired well in well list to select it. Then click the Stop Well icon.

Method 3: Click on desired well in the well list to select it. Click on Well on the top menu bar. Select Stop Well from the Well menu. The well will change status to Stopping for roughly 10 seconds then finally show Inactive indicating that the well has shutdown completely. IMPORTANT: Stopping a well will cause all programs running on the server associated with the specified well to shutdown. If the well was Logging, however, those programs will restart if the server is restarted or rebooted. To permanently disabling logging on a well, use Disable Well Logging instead. 1.6.5.1 Stop Well - Text Mode ssh into the server and issue the following command: WWsetup Using the right/left arrow keys scroll to the right until you see "Well Management" <enter>. Use the arrow keys to find the well you wish to Stop well logging on. When the name of the well you wish to Stop is listed hit <enter>. This will bring up the options for your well with the first one being "Disable Well Logging" -- this is assuming the well is currently Enabled for Well Logging. Scrolling further to the right you will see two more options; stop and kill. These both do essentially the same task but Stop is the nice one of the two. It will wait until all users finish up before

<2006> <Datalog Technology Inc.>

25

BSD Software Manual

stopping the well; kill doesn't care and will kick all users off the system now. Use the 'x' twice to back out to a command line. Once to get back to sub-menu. Use the 'i' for more information. Important: Stopping a well will cause all programs running on the server associated with the specified well to shutdown. If the well was Logging, however, those programs will restart if the server is restarted or rebooted. To permanently disabling logging on a well, use Disable Well Logging instead.

1.6.6

Changing Well properties


Bringing up the Well properties can be accomplished by using one of the following three methods: Method 1: Right click on the desired well to bring up a context menu. Select Well Properties in the context menu. Method 2: Click on desired well in well list to select it. Then click the Well Properties icon.

Method 3: Click on desired well in the well list to select it. Click on Well on the top menu bar. Select Well Properties from the Well menu. Note that the Well Properties are currently limited to the TENSOR configuration. See TENSOR Configuration for further details.

1.6.7

TENSOR Configuration
The Tensor Configuration panel will allow you view/change your well properties accordingly. Auto Survey Enable: Check the box on the right to enable automatic survey entry. As information is received either via the TENSOR tool or via WITS, survey records will automatically be created in the database. Ream Lag Enable: Check the box on the right to enable lagging while reaming. This will allow a section of the hole to be re-logged for various information like gamma. Note that the rig status for the well must be reaming and ream lagging enabled for relogging of the data to occur. Reaming is enabled through the Rig Status gauge in the WellWizard client software. WARNING: Ream Lag Enable should ONLY be enabled if a section of the hole needs to be re-logged and ONLY while Reaming. After reaming is complete, be sure to disable the Ream Lag Enable; otherwise, data will be overwritten. Also, be careful not to run with Ream Lag Enabled while drilling new hole as it will not create any new depth records. Serial Port: Click on the down arrow on the right to bring up a list and select the serial port on the WellWizard server which is to receive data from the TENSOR tool. The default is serial port 4. Gamma Scaling Factor: Correction factor applied to gamma value coming in from the TENSOR tool. The default value is 1. The factor is applied using the following formula:

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

26

Gamma Scaling Offset: Correction offset applied to gamma value coming in from the TENSOR tool. The default value is 0. The offset is applied using the following formula:

Survey Method: Click the down arrow on the right and select the survey method to use for auto surveys. The possible selections are to use either the TENSOR Survey Depth for the survey depth or use the current Bit Depth for the survey depth. The Survey Offset is applied to the selected survey depth to determine the depth that the WellWizard will use to generate automatic survey records. Survey Offset: Correction offset applied to the incoming survey depth information to obtain the actual survey depth. The value entered should be a positive offset in meters and the Survey Depth is determined as follows:

Tool Offset: Correction offset applied to the bit depth to determine the actual depth of the MWD tool. The value entered should be a positive offset in meters and the Tool Depth is determined as follows:

WITS template: Left click on the down arrow and select the desired WITS configuration file. Once all the necessary modifications have been made to the configuration, click Apply to inform the server of the changes. Click the Cancel button at any time to exit from the Well Properties dialog. This will discard any changes that were made to the Well Properties. For more detailed information which template you should be using if unsure contact your local Operations department. 1.6.7.1 TENSOR configuration - Text Mode The command from the text line is WWtensorc. The command will bring up a wells option list; scroll through until you find the well you wish to configure the TENSOR options on and hit <enter>. The options presented are the same as those presented in the GUI TENSOR Configuration. Use the arrow keys to scroll through the options and then use the <enter> key to make changes to any of the values. When your finished hit the 's' key to save and then 'x' to exit.

1.6.8

Delete Well
To delete a well use one of the following three methods: Method 1: Right click to desired well to highlight it and bring up a context menu. Click Delete in the context menu. System will ask you if you are sure you want to delete this well? Click OK. Method 2: Click on desired well to select it. Click on Well In the top menu bar to bring up the Well menu.

<2006> <Datalog Technology Inc.>

27

BSD Software Manual

Select Delete Well from the well menu. System will ask you if you are sure you want to delete this well? Click OK. Final Method: Click on desired well to select it. Click on the Delete Well icon. System will ask you if you are sure you want to delete this well? Click OK. WARNING: Deleting a well will permanently remove it and all its associated data from the server. There is no way to recover a well after it has been deleted.

1.6.8.1

Delete Well - Text Mode ssh into the server and issue the following command: WWsetup Using the right/left arrow keys scroll to the right until you see "Well Management" <enter>. Use the arrow keys to find the well you wish to Delete. When the name of the well you wish to Delete is listed hit <del>. This will ask you if your sure you want to delete this well if the well is already in a inactive state. If it tells you it can't delete the well then hit <enter> and kill the well (see Stop Well - Text Mode). Once the well is killed you can then scroll once more to the right to highlight Delete and hit <enter>. Use the 'x' twice to back out to a command line. Once to get back to sub-menu. Use the 'i' for more information.

1.6.9

Rename Well
Use one of the following three methods to rename a well: Method 1: Right click on the desired well to select it and bring up a content menu. Select Rename Well from the context menu. A pop up dialog will appear prompting for the new well name. Enter new well name. Click OK. Method 2: Click on desired well to select it. Click on Well in the top menu bar to bring up the Well menu. Select Rename Well in the Well menu. A pop up dialog will appear prompting for the new well name. Enter new well name. Click OK. Method 3: Click on desired well to select it.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

28

Click on the Rename Well icon. Enter new well name. Click OK.

1.6.10 Well Templates


The following table lists some of the primary well templates:

Template Name Electronic Drilling Recorder

/ww/well/def Programs Notes ault EDR WWdac_rtd5 Used for all full-size EDR functions 408 WWpulser WWwits Geologger GEOLOGG WWwits Used for all Geological and basic IDS jobs. Not to be used ER for MWD IDS Under-Balance UBD WWwits Used on all Under-Balanced jobs. Has the calculations d WWhart and Hart sensor configs. WWpulser Tensor TENSOR WWtensor Used when only Tensor is bring brought in - no EDR data Tensor + Wits TENSOR_ WWtensor Used on Tensor jobs with EDR data WITS WWwits Maerk Well MAERSK WWinterface Configurations specific to the Maersk Work (QLOG-WW) Petrobras Well PETROBR WWinterface Configured for usage on Petrobras rigs AS WWpb PHS Well PHS WWwits Used in conjunctions with standalone ph/ps jobs WWdac_rtd5 408 QLOG-WW INTERFAC WWinterface Standard for all QLOG interface work. Interface E QLOG-WW QLOG_BAT none Used in Batchup jobs on main servers. Batch CH Demo Well DEMO WWdac_sim Simulation Wells Demo DEMO_MU WWdac_sim Mudlogging Simulation Well. Mudlogging DLOG Well Mudlog MUDLOG WWwits Main well template for ANAX systems WWdac_rtd5 408 Northland UBD NORTHLA WWwits Northland Specific Configurations ND WWhart WWpulser 1.6.10.1 Modifications to Default Templates It may be necessary to modify the default templates under the following circumstances and/or have a backup of the important configuration files in case of failure:

<2006> <Datalog Technology Inc.>

29

BSD Software Manual

Changes were made to an existing well and you wish them to also appear in newer wells You have a file from you wish to have in case of server failure as a backup You have a file you wish to restore In order to copy out the files you will need to tar the necessary files only. Copying out the entire directory will cause many issues and should never be done. The files you wish to copy are: /ww/well/UWID/config/ programs -- alerts the system as to which processes to start for this template realtime.map -- this holds all the available channels (modified by WWtext) realtime.txt -- used alongside realtime.map translations -- holds the translated data, must be matched with the realtime.map wits -- holds the current wits configuration files (note copy out any other wits files used) triggers -- configuration for the lags calculations/resources/zeros -- special files used to hold calculations used. well.cfg -- these are the dac calibration used in EDR/UBD/Mudlogging/Anax Once the tar file is created copy it to the /tmp directory where you can WinSCP it onto your windows box for safe keeping or copy it to the defaults. "cp filename.tgz /tmp". To copy the file to the default you must do the following: 1. 2. 3. 4. cp filename.tgz /ww/well/default/(template)/config -- in the case of EDR type: /ww/well/default/EDR/config cd /ww/well/default/(template)/config gtar -zcvf original.tgz * -- this creates a backup file with the original default configs gtar -zxvf filename.tgz -- this will extract your modified files into the default template.

Now that the defaults are extracted you can create any number of new wells and maintain the previous configurations.

1.6.11 Archive
The archive command is not yet available from the WellWizard Control Panel and must be preformed on the server itself. Use ssh to gain access to the server and then follow the instructions on how to archive your well. Command Usage: WWdbm Type WWdbm and your presented with the following options: Select Command (use arrow keys): Archive Using the arrow keys you have a choice of Archive, Restore or Exit Archiving a Database When you wish to archive your database simply type WWdbm, and choose Archive. Choose the desired well and whether you wish to archive time, depth or both time and depth. Finally your asked to give the archive a name, please choose something relevant like well name. The command will then process the database and store it along with all necessary config files to the requested file name this can take a while, so please be patient. Once completed you can WinSCPthis file out to be stored or restored on another server. The Archived file will be in the current directory using the name you gave it with the extension of .dbm. The well is not removed at this time and can continue to be used as normal, the archive is simply a copy of it. The WWdbm archive command can be run with the system
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

30

logging and as many times as felt is necessary. It's a good idea to run the Archive feature when at a sidetrack point, as routine data maintenance and whenever changes are going to be made. The option for archiving depth and time should always be used regardless if you only need depth or just time. By grabbing both you ensure that you have a complete record of your well and if you only grab one or the other restoring into an existing database will be difficult.

1.6.12 Restore
The restore command is not yet available from the WellWizard Control Panel and must be preformed on the server itself. Use ssh to gain access to the server and then follow the instructions on how to archive your well. Command Usage: WWdbm Type WWdbm and your presented with the following options: Select Command (use arrow keys): Restore Using the arrow keys you have a choice of Archive, Restore or Exit The file is restored back into a well that it creates based on the original UWID. If you restore back to the original server it will recreate the well with the original UWID unless that well is still active, then it will ask to overwrite, or to create a new well with a new UWID. Make your choice and press enter. Now the file is extracted and created.

1.7

Users
The Users tab can be used to perform user management including creating and deleting users as well as modifying their well access permissions. The major operations are as follows: Create New User Clone User Delete User Edit User Well Access Permissions

<2006> <Datalog Technology Inc.>

31

BSD Software Manual

1.7.1

Create New User


Creating a new user is a simple procedure and is outlined below. One primary aspect of user creation, however, is configuring a user's well access permissions. In many cases, several users often have the same well access privileges. If this is the case, the easiest way to create new users is to create a single user entry with the desired permissions, then clone that user multiple times to create the remaining users. See Clone User for more information. To create a new user, use one of the following methods while in the User tab: Method 1: Click User on the top menu bar to bring up the User menu. Select Create User in the User menu. A pop up dialog will appear prompting for the new user name. Enter the new user name. Click OK. Method 2: In the User List on the left-hand side, right-click to bring up a context menu. Select Create User in the context menu. A pop up dialog will appear prompt for the new user name. Enter the new user name. Click OK. Method 3: Click on the Create User icon in the tool bar.
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

32

A pop up dialog will appear prompt for the new user name. Enter the new user name. Click OK. After the one of above has been completed, the User Info will show the new user information. Fill in the missing information and click Apply to finish creating the user. A unique password should be entered for the user and must meet the following requirements: Must be 5 or more characters in length, but less then 100 characters Characters must be alphanumeric or punctuation characters. The password may NOT be 'admin'. The password may NOT be the same as the user name. The Comment field, while not required, should also be completed. The user's full name, company, and job title are suggested. UserType should be set as: Normal - these users are normal users who do not need access to Control Panel, WW Tour Sheet or configuring Trip Monitoring. Administrator - these users will have access to Control panel, Tour Sheet and to configure Trip Monitoring Administrator (locked) - this user cannot be deleted by other administrator users accounts. This should be the primary admin account Well Access is the last, but also the most important, user information to configure. If no well access is granted, the user will be able to connect to the server, but won't be able to get any data. Simply check or uncheck the box next to the desired wells to enable and disable access. Click on the 'Default Permissions' field for a well to customize a user's access to the selected well. Note that the permissions can only be accessed if access to the well has been enabled: that is, there is a check next to the well. See Well Permissions for further details on how to customize well accesses.

1.7.2

Clone User
Cloning a user is essentially a copy operation: an existing user entry is duplicated, renamed, and given a new password to create a new user entry in the system. Using cloning, adding several users with the same well access permissions is greatly simplified. To clone a user, perform one of the following: Method 1: Click User on the top menu bar to bring up the User menu. Select Clone User in the User menu. A pop up dialog will appear prompting for the new user name. Enter the new user name. Click OK. Method 2: In the User List on the left-hand side, right-click on desired user entry to clone to bring up a context menu. Select Clone User in the context menu. A pop up dialog will appear prompting for the new user name. Enter the new user name. Click OK. Method 3:

<2006> <Datalog Technology Inc.>

33

BSD Software Manual

Click on the Clone User icon in the tool bar. A pop up dialog will appear prompting for the new user name. Enter the new user name. Click OK.

After the one of above has been completed, the User Info will show the new user information. Cloning, while it does preserve well access permissions, does not preserve the password or comment information from the original user entry. That information, which should be different from the original user entry, must be manually entered. Fill in the missing information. A unique password should be entered for the cloned user and must meet the following requirements: Must be 5 or more characters in length, but less then 100 characters Characters must be alphanumeric or punctuation characters. The password may NOT be 'admin'. The password may NOT be the same as the user name. The Comment field, while not required, should also be completed. The user's full name, company, and job title are suggested. The Well Permissions may also be modified, if necessary. Click on the Apply button to finish the operation. The newly created user, cloned from the original user, is added to the User List.

1.7.3

Delete User
Use this operation to completely remove a user from the system. If only access to a particular well or well is required, simply modify the user's well access permissions. To delete a user, use one of the following: Method 1: Select the user to delete in the User List by scrolling through the list and left-clicking on the user name. Click User on the top menu bar to bring up the User menu. Select Delete User in the User menu. A pop up dialog will appear prompting for confirmation. Click OK. Method 2: In the User List on the left-hand side, right-click on user entry to delete to bring up a context menu. Select Delete User in the context menu. A pop up dialog will appear prompt for confirmation. Click OK. Method 3: Select the user to delete in the User List by scrolling through the list and left-clicking on the user name. Click on the Delete User icon in the tool bar. A pop up dialog will appear prompting for confirmation. Click OK.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

34

1.7.4

Well Permissions
A User's access to a well can be controlled in a number of ways. Database editing can be disabled, access to real-time data denied, and a number of other options. Currently, the selections are as follows: Allow Realtime Data: User can see the real-time data a well is generating. Note that only a well that is Logging will have realtime data. Allow Database Editing: User is able to edit data in the time and depth database tables using the WellWizard Client Software (WWC). Note that certain locked fields cannot be edited. This includes the key fields of Time and Depth, Memos, and certain other parameters. Allow Resource Editing: If enabled, the user is allowed to access the Set context menu option of certain parameters of the well when using the WellWizard Client software. For example, being able to set the Hole Depth and Bit Depth - rightclicking on these gauges in the WellWizard Client will bring up the menu. Allow Comment Picklist Editing: If allowed, the user can edit the comment pick list for the well using the WellWizard Client software. Allow Lithology Bitmap Editing: The user is able to specify the bitmaps used to render the lithology in the WellWizard Client software if this option is enabled. Lithology bitmaps are accessed in the WellWizard client by choosing Edit- >Lithlogy Bitmaps from the main menu bar. Allow Well Info Editing: As expected, this option grants the user the ability to modify the Well Info like Well Operator, Well Name, Personnel Information, etcetera using in the WellWizard Client. Allow Pipe Tally Editing, Allow Pipe Type Editing, & Allow Survey Editing permit the user to edit the Pipe Tally, the Pipe Types, and the Survey Table, respectively, using the WellWizard Client. Allow Well Grant: This option permits the user to grant access to a well to other users. This option is primarily intended for use with Wellhub to allow Wellhub to create user entries in a secure fashion on mirror servers. Use Wellhub Permissions: This option is actually a combination of several of the other permissions and essentially disables all of the user's editing capabilities. Enabling this option will cause several other options to be automatically disabled and unconfigurable. This option is primarily intended for use by Wellhub and should not need to be utilized. A Non-Wellhub User has the following access by default:

<2006> <Datalog Technology Inc.>

35

BSD Software Manual

A Wellhub User, by contrast, has the following default permissions:

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

36

1.8

WITS
WITS (Wellsite Information Transfer Specification) is the standard method of communication for all oil and gas companies. It allows for the quick and easy transfer of data between all companies. Type "man WWwits" for detailed flags and options. Also see the appendix for the standard wits codes.

1.8.1

How does Wits Work


WITS is sent from system to system using the following format. && 0140123.45 !! && signifies start of record 0140 denotes Total Gas 123.45 is the Total Gas value !! signifies end of record segment. So, if this is sent to the EDR or IDS, it would show 123.45 in it's Total Gas gauge. The 0140 is a standard that all companies use and allows for quick and easy communication between us and others and even ourselves. So, how do I send 0140? The file that controls WITS is simply called "wits" and is found in /ww/well/UWID/config directory. If you do a "more" command on this file, you will see something similar to this: # # Specify Default Timeout # TIMEOUT=5 # PORT=1,serial,/dev/ser1,9600,N,8,1 PORT=2,serial,/dev/ser2,9600,N,8,1 # # SEND identifies the start of the parameters to be sent. # SEND=Options # # Options conditions: # port=IO port Port to Send/Receive data on # receive=WITS record WITS Record to receive before sending data # receive=WITS item WITS Item to receiving before sending data # time=second Time between data transmissions # depth=depth(m) Depth Interval in meters between data transmissions # timeout=seconds Time in seconds before data is invalidated # # NOTE: receive and time options are conditions which trigger when # a record is sent and are mutually exclusive. The last trigger option # specified will take precedence on when data is sent.

<2006> <Datalog Technology Inc.>

37

BSD Software Manual

SEND=port=1,time=5 # # Data parameters are described as follows: # # rree,mnemonic,unit,options comment # rr = WITS record number (must have leading '0' if < 10 # ee = WITS element number (must have leading '0' if < 10 # mnemonic = WellWizard Channel Mnemonic # unit = WellWizard Unit Conversion for specified data # options = optional parameters that specify special handling # comment = Description of the WellWizard channel. Not required. # # supported options: # Iinterval - data is rounded to nearest interval (eg. I0.2) # Cfactor - correction factor is applied to data (eg. C1.07) # 0108,DBTM,0 Bit Depth 0110,DMEA,0 Hole Depth 0112,BPOS,0 Block Position # # RECV identifies the start of the parameters to be received. # RECV,Options # # Options conditions: # port=IO Port Port to Receive data on. # timeout=seconds Time in seconds before data is invalidated. # RECV=port=1,timeout=300 # # 0123,SPM1,0 Pump Stroke Rate#1 0124,SPM2,0 Pump Stroke Rate#2 0125,SPM3,0 Pump Stroke Rate#3 0140,GASS,0 Total Gas ## This isn't, of course, how every file looks! The default has several sections to it, but they do all follow the same pattern, a send or receive followed by the desired data. 1. Timeout=5 This is the default timeout. If you don't specify a timeout for send or receive it will use this default 2. Port Definitions PORT=1,serial,/dev/ser1,9600,N,8,1 Set Port 1 to serial comm. (don't change) /dev/ser1 means mounted to serial port 1, baud=9600, parity=none, bits=8 and stopbits=1. Set for all relevant ports 3. SEND or RECV Can be either, depending on your requirements. Following the example above, we have SEND=port=1,time=5. So, everything below this value will be sent on port 1 every 5 seconds. 4. SEND (SEND=port=1,time=5). Note RECV data follows same pattern - the WITS value you are looking for, where to store it, what unit is it in and then a short description for your usage. So 0108,DBTM,0 means look for WITS record 0108, and get this data from DBTM using the unit of
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

38

meters. If your sending Gas, you would include a line that reads 0140,GASS,0 this would send Total Gas, in percentage, on record 0140. (Note, the basic WITS records, that show you where these values of 0108 and 0140 come from, are included in Appendix 1). So, following the example, I will send bit depth, hole depth and block position, every five seconds out of port 1. 5. RECV (RECV=port=1,timeout=300) Receive on port 1 and hold the last data sent for 300 seconds. The timeout allows for incoming data to be missed but not indicated on any gauge for 300s. You don't want this value set too high, as you would not recognize a problem until after the timeout period, but, at the same time, you don't want the value set too low or you will often see 9999 on your gauges.

1.8.2

Advanced Wits
1. Multiple mapping of records The same WITS record can be received and placed into more than one record. For instance, you could take 0110 (Hole Depth) and map it to both Hole Depth and Bit Depth. 0110,DBTM,0 Bit Depth (really hole depth) 0110,DMEA,0 Hole Depth 2. 2. Units conversions Metric is the default unit for all channels. You will see a "0" (denoting metric) after 90% of all default WITS values. This unit can be changed, if necessary, in order to send/receive the correct unit or to/from other parties. For instance, in the United States, feet are typically used, rather than meters. So, if we were to include the line in the RECV section: 0110,DMEA,0 Hole Depth

....we would actually receive the Hole Depth value in meters, obviously a problem! To ensure we receive the value correctly, in feet, we should change to line to read "0110,DMEA,1" the value would be received in feet, and then converted to our metric database. If we were sending Total Gas in US Gas Units, the line should be written 0140,GASS,4 four being the fifth default unit, signifying US gas units. The WITS unit code can be determined from the WW client drop down lists. For example, look at properties on hole depth, and click on the down arrow for units. "m" is the first listed unit, equating to WITS zero; feet is listed second, equating to WITS one, etc, etc. The first unit in every list will equate to the WITS unit code "zero". 3. Multiplication You can add a multiplication factor on to the end of a WITS line. For example, with the line "0140,GASS,4,c10", Total Gas on 0140, is sent out in US Units and then multiplied by 10. You can use any value including decimal values here. 4. Offsetting Data

<2006> <Datalog Technology Inc.>

39

BSD Software Manual

An offset factor can also be added on to the end of a WITS line. For example, with the line "0110,DGRT,0,O-5", Hole Depth is received, on record 0110, and placed into a depth holder that has been created for lagged Gamma. The depth would be the Hole Depth minus 5 meters (Datalog Canada has used this, for example, to receive the toolface depth from Schlumberger). 5. RECV= Sometimes it is desirable to only SEND some information once we receive specific information. An example of this being simulating Pason wits protocol. To use this option use the following syntax: SEND=port=1,receive=0140,timeout=180. This line means to Send out port 1 all the configured channels only when we receive a valid 0140 (gas). Until the system sees the 0140, nothing will be sent out. 6. LOG= The LOG= option allows us to LOG all incoming and outgoing wits data via serial on any port to a file for later viewing. This is very handy when trying to troubleshoot issues with WITS as often when a WITS problem occurs the data that caused it is already through the system. To use the LOG function, in your port definitions include the line LOG=/root/file.txt. This file will start to record everything coming and going until you remove the line and WWreload the wits file. Please don't forget about this file once you start recording as it can grow to be very large. ie. PORT=1,serial,/dev/ser1,9600,n,8,1,LOG=/root/file.txt The /tmp directory is also a good place to store temporary data like these log files but keep in mind that the /tmp folder is cleared whenever the system is rebooted.

1.8.3

Wits via TCP/IP The WellWizard server has been enhanced to support WITS communication via TCP/IP network
communications. OVERVIEW: While similar in many respects to serial WITS, TCP/IP WITS drastically alters the scope of WITS data transfer and careful thought should be given when utilizing it: both data security and data integrity must be maintained at all times. IMPORTANT TERMS: Before getting into the thick of it, it is very important to be clear on the meaning of 'originate' and 'answer' modes. The first thing to keep in mind is that these terms are in regard to the system you are currently working on. To 'originate' a connection request means that the local system you are currently on initiates the connection. To 'answer' a connection request means that a remote system is initiating a connection to the local system. Actually, this terminology is not difficult in an of itself, but it does tend to become more muddled when adding the system references (local and remote) and the data references (send and receive) on top of it. To prevent confusion, please do NOT use the terms client and server because they are applied too liberally in most cases. As a good example of a bad example, if WellWizard originates a connection to send depth data to a remote system, it could be said that the WellWizard is a client of the remote system even though the WellWizard is the one that is actually serving data. Confusing, eh? Once again, be sure everyone is clear before proceeding with any system modifications prior to using this functionality.
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

40

AUTHENTICATION AND SECURITY: Simply put, TCP/IP WITS has no authentication and no security. There is no encryption of data, no username and passwords, no nothing. The only check is that the connecting IP address is the one that is allowed to connect as specified in the 'allow=' part of the virtual port definition. If they're equal, you're in; if not, you're out. RECEIVED DATA: An important consideration when configuring WITS to receive data via TCP/IP is that there should only be one source of incoming data. Multiple systems, typically, should NOT be allowed to connect to a port that is receiving data. To prevent problems and ensure that everyone plays nice, the recommended practice is to use a system-centric approach to WITS configuration. While there are other acceptable approaches, they are not easily understood (nor explained for that matter!) so we'll concentrate exclusively on the system-centric approach. A system-centric approach is very similar to serial WITS communications. A virtual port is defined for each system then each record to be sent and/or received to and/or from that system is defined. In the case of multiple remote systems connecting to the local system, there may be similar data records that will be sent and/or received. This will make for a larger configuration file as each record definition is copied to each port that want to receive it; however, it has several benefits as follows: - Easy to tailor the data shared with any given system. - Easy to tailor unit conversions between systems. - Easy to control on a channel basis which ones are sent and received. - Easy to add special data processing options like offsets and factors. - Easy to enable/disable individual systems. - Lastly, as this is the only way to configure serial WITS communication, it is more consistent to handle TCP/IP WITS configuration similarly. Sometimes it may be tempting to take what appears to be the easy road and configure one TCP/IP port that can do everything. DON'T!!! You'll save everyone a lot of hassle if you take the couple extra seconds to make a new port definition for the new system and setup the data items to it. CONFIGURATION FILE FORMAT The configuration file format remains largely unchanged from previous versions of WITS. The sole difference is the addition of a new virtual port type. To add a TCP/IP port, the format is as follows: PORT=<n>,tcp,<port_id>,[[<allow=<hostname>>,...]|<host=<hostname>>] where: n is an arbitrarily assigned virtual port id number. port_id is the TCP port for data allow=hostname allow remote connection from specified host. host=hostname connect to specified host hostname an IP address in the format n.n.n.n. Names are NOT supported. Sample Configuration Files: Sample configuration file to receive gas data for incoming TCP/IP WITS on port 6000 from host 10.10.10.10: PORT=1,tcp,6000,allow=10.10.10.10 RECV=port=1,timeout=300

<2006> <Datalog Technology Inc.>

41

BSD Software Manual

0140,GASS,0 Sample configuration file to send depth data via TCPIP to host 10.10.10.10 on port 6002 with us initiating or originating the connection: PORT=1,tcp,6002,host=10.10.10.10 SEND=port=1,time=5 0108,DBTM,0 0110,DMEA,0 Sample configuration file to send depth data via TCPIP to host 10.10.10.1 port 6001 where the remote host has initiated the connection and receive gas data from 10.10.10.2 on port 6002 with us connecting to the remote host would be as follows: PORT=1,tcp,6001,allow=10.10.10.1 PORT=2,tcp,6002,host=10.10.10.2 SEND=port=1,time=5 0108,DBTM,0 0110,DMEA,0 RECV=port=2,timeout=300 0140,GASS,0

DIAGNOSTICS The wits_diag program has also been enhanced to support TCP/IP WITS in both answer and originate modes. As such, any number of checks can be performed to make sure that all communications are working correctly. It may also be used to verify the proper operation of the WWwits program itself and could even be used for doing basic system data overrides and data simulation. It is important to note, however, that in some cases the wits_diag program conflicts with the WWwits program. For example, it is NOT possible for both programs to be set to answer incoming requests on the same port. Security Note: The WITS program will answer all WITS connection requests initiated on the same computer so it is not necessary to specifically allow it in the WITS configuration file. WITS TESTING PROCEDURE To verify the proper operation of WITS in WellWizard, create a new Demo Well with WWdac_sim disabled and WWwits enabled. Create the following WITS configuration file in the well's config directory: PORT=1,tcp,6001,allow=localhost PORT=2,tcp,6002,host=localhost RECV=port=1,timeout=10 0140,GASS,0 SEND=port=1,time=5 0101,TIME,0 RECV=port=2,timeout=10 0140,SPPI,0 SEND=port=2,time=5 0101,TIME,0 Open two consoles under OpenBSD. On the first console, issue the following command:

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

42

wits_diag -mo -p6001 On the second console, issue the command: wits_diag -ma -p6002 On the first console, the wits_diag program is originating a connection to the well sending data of 0.0 on WITS channel 0140. You should see 0.0 in the Total Gas gauge in the WellWizard client. You should also see the TIME data of the WellWizard coming out on the console. On the second console, the wits_diag program is answering incoming connections on port 6002. You should see the WellWizard connect to the wits_diag program and see TIME data of the WellWizard coming out on the console. The wits_diag program, once the WellWizard connects to it, starts sending WITS channel 0140 a value of 0.0 which is mapped to Standpipe Pressure. Looking in the WellWizard client, you should see 0.0 in the Standpipe Pressure gauge. Assuming that both these cases are true, this verifies that data can be both sent and received and that the WellWizard server is both answering and originating connection requests.

1.8.4

wits_diag
The wits_diag command is used now for all our troubleshooting and wits verification. For those who have used the QNX4 system we used qtalk, but there is no such option in BSD so it was not brought over. "man wits_diag" for details. Normal usage: To enter a terminal mode which will allow you to send data down the line and to see what is coming back: wits_diag -p/dev/ser1 -X Please note that you can now do the following: !! 01405.00 && The wits_diag command will automatically include the carriage return/line feed that is required to make this a valid wits packet. (Xod,Xoa) wits_diag -p /dev/ser1 View the incoming wits feed using line feeds. wits_diag -p /dev/ser1 -T The way we are used to seeing wits_diag; in binary. (this is no longer default) wits_diag -p /dev/ser1 -f /tmp/wits.txt Plays back the file /tmp/wits.txt into the system -- great way to troubleshoot a recorded problem.

<2006> <Datalog Technology Inc.>

43

BSD Software Manual

1.8.5
1.8.5.1

TroubleShooting Wits
This section covers most of the known problems that occur often with wits. No WITS data is being sent or received 1. Verify that you have "wits" running on the WellWizard system on your active well. Run the "qr" command and verify that "wits" is on the list; It will appear as /1/WITS indicating WITS is active on well 1. If it isn't you will want to verify why it isn't running. Try running wits from the command line by typing "WWwits W1" (to start WITS on well #1) then doing the "qr" again. If it still doesn't show up, this indicates that someone has edited the wits file and has caused an error in the file. If there are any problems with the WITS file, it won't start. Possible problems to check, are: Check the very top of the file for any characters. This is easily done if you type something without noticing that the editor has started. A Send or Recv without anything to send or recv. A # sign inadvertently removed from an explanation line. 2. Do you actually have a physical connection between the systems? You should check the following:

Between RS-232 connections you need to null pins 2/3. If connecting over 50', you should use RS-485. This also needs to be nulled. If using current-loop, do you have an active or passive connection and are all LED indicators activated?

3. Perform a loopback on our system to verify that WITS is working. If using a RS-232 port you will want to short out pins 2 and 3. Then do a "wits_diag -p/dev/ser1 -X" (/ser1 refers to port 1) and type yourself a message. If your typing appears on the screen, your port is good. If nothing appears, check your ports connections inside the box. If using the RS-485 ports you will want to null these connections as follows: Jump pins 1-2 and pins 3-4.. Then do a "wits_diag -p/dev/ser1 -X " (again ser1 is referring to port1). As with the RS-232 what you type should loop back. If using the Current loop port you will null by making an active connection to the port. This requires an external power source. Take two 9V batteries and connect them in series. Connect the combined positive to pin A, and the negative to Pin E. This creates the active loopback, as above what you type should return.

All of these loopback tests can be performed up the line, and not just at the physical port. So you can test the entire cable run by looping the opposite end. If all WITS methods show a proper returning signal, than the other party should also test their ports. We have seen third party ports that are non-functioning. We can't do anything about that, but at least we can prove our ports are functioning. With all loopbacks, it is best to do this as close to their system as possible. Eliminate as many connections as possible.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

44

1.8.5.2

Data has the wrong values 1. Did you remember to include the proper unit conversion? If they are expecting hole depth in feet we have sent a metric unit, then, of course, the value will be wrong. Verify all unit conversions. This is also a good time to do a loop-back to yourself or to a windows box using HyperTerminal. Using HyperTerminal will show you the incoming raw data without the third party applying any rules to it. If the data comes out wrong in HyperTerminal, it is because of the WellWizard system. 2. Are you sending data using the right mnemonic? Use the "WWtext" command to verify that you are really using the right value.

1.8.5.3

How do I record the incoming data Often, there is a lot of data screaming across your screen and you can't pick out what you are looking for, or, you are receiving bad data and you want to make a hard copy to prove it. Use the new LOG function for this operation. The old method would have required turning off WITS and use cat to collect the port information. Using the LOG function you can continue to collect the WITS data uninterrupted.

1.8.5.4

I have edited the wits file but nothing is working You must Reload the "wits" command first, before it will accept any new changes. Simply make your changes to wits and then type the command "WWreload wits", followed by "qr", to see wits running on the proper well. You should see WWwits listed. If you have turned off Wits for whatever reason a WWreload won't restart it. You will need to manually start as demonstrated below. Alternatively you can "pkill -2 WWwits" and then restart it by "WWwits -Wx" with x being the well number.

1.9

Lags
Lags in WellWizard are a fundamental part of displaying data in the correct locations. The term LAG refers to the delay in reading your data and thusly the delay in displaying it. Gas is the most common item that gets lagged. The concept here is that as we are drilling the Gas that is being liberated at the current depth must travel up the hole and will be read at some later time; and we must know at which depth to place the Gas readings. We can't put the Gas readings at the current hole depth as this would be wrong but we must have some way of knowing when to put the readings in. Other forms of Lag may be that of MWD. The MWD tool sits behind the bit generally from 10-20m behind. Lag in this case then refers to taking the data recorded now and putting it "hole depth tooldepth"; a simple form of lag. Lag values are determined using one of several different methods. Basic Lag is time based lag; where you take a known lag time and you increase it by x amount of time as your drill deeper. The more complicated version and the standard for Mudlogging operations will be Volume Based lags which takes into account the hole size, pipe sizes, volumes, pumps, and velocity to determine a very precise lag depth. Refer to the subsections for details on the different lag types and their usages.

<2006> <Datalog Technology Inc.>

45

BSD Software Manual

1.9.1

Basic Requirements for lags


All the different lag methods use the basic set of rules to determine whether to process the lag information or not. You must be circulating for the lags to function. This is determined by: 1. SPM channel with a value equal to or greater than 6 strokes per minute or 2. Mud Flow in with a value greater than 0, and StandPipe pressure with a value equal to or greater than 500 kpa or 3. A physcial circulation switch connected to channel MC (mud circulating).

1.9.1.1

Time-Based Lags Time-based lags is the simpliest form of lag in the system. Time-based is at is says - based on time, rather than pump rates or volumes. As long as a basic set of conditions are met (see conditions) the lag will advance. This lag method is used primarily for stand-alone or IDS jobs. Channels of interest to pull up on your WellWizard screen: Lag Depth - current lag depth and set function to set lag Lag Time - current lag time Time to Lag - counter to show how long at present conditions to next lag up To set the lag time you must right click on the Lag Depth gauge:

The lag method you need to choose is the Time-based Method (other methods will be covered in their

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

46

respective sections) Reference Lag depth refers to the lag depth at which all calculations will be done from. Normally this is the current hole depth but it can be any depth at which a known lag can be calculated from. Initial Lag time - At the reference lag depth what was the lag time Lag Time Increment - over a 100m interval how much should the lag time increase. As you drill ahead the lag time will increase as you go. Gas in/Out Delays -- is their any delays added to the system to account for sample readings. This would be used for Chromat systems that are connected to the mud system via poly-tubing with an increase delay of getting the sample from the shaker to the chromat ie. 180seconds. Another use would be for Tracer systems that can take up to 40seconds to sample a reading. *** A very important channel to watch while doing Time-based lags is the Time to Lag channel under Drilling Parameters. It is basically a countdown that when reaches zero will update the lag depth. If this value is decreasing than things are at least working but doesn't rule out improper calibration. 1.9.1.2 Stroke Based Lags Stroke based lags are based on actual Strokes. Once the basic conditions are met the system will determine how many strokes are required to increment the lag depth. This method is more precise than time based as it takes into effect the speed at which the pumps are moving. Channels of Interest: Lag Depth - set function and current lag depth Lag Strokes- current value of strokes required for next lag up To set the Stroke-based lags right click on the Lag Depth channel and choose set.

<2006> <Datalog Technology Inc.>

47

BSD Software Manual

Using the drop down box choose Stroke based method The reference lag depth is a depth at which the lag strokes is known and is the starting point for future lag stroke increases. The Initial lag strokes is the number of strokes required to circulate a lag up based on the reference lag depth The lag strokes increment is how many strokes to increase over the next 100m The Gas In/Out sample delays add extra time to the lag processing for both the in/out channels to account for processing delays.

1.9.1.3

Air-Based Air-based lags are different from the other types of lags in that no circulation condition is required. Therefore you don't need SPM's, StandPipe, Flow in order to process Air lags. The only requirement is setting the air-based lag parameters. Channels of Interest Lag Depth - shows current lag depth and set function to configure parameters Lag Time - current lag time based on hole depth Time to Lag - current time remaining until next lag depth up

Configuration of Air-based is similar to time based. Choose Air Based from the drop down menu. Reference Lag depth refers to the lag depth at which all calculations will be done from. Normally this is the current hole depth but it can be any depth at which a known lag can be calculated from. Initial Lag time - At the reference lag depth what was the lag time

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

48

Lag Time Increment - over a 100m interval how much should the lag time increase. As you drill ahead the lag time will increase as you go. Gas in/Out Delays -- is their any delays added to the system to account for sample readings. This would be used for Chromat systems that are connected to the mud system via poly-tubing with an increase delay of getting the sample from the shaker to the chromat ie. 180seconds. Another use would be for Tracer systems that can take up to 40seconds to sample a reading. *** A very important channel to watch while doing Time-based lags is the Time to Lag channel under Drilling Parameters. It is basically a countdown that when reaches zero will update the lag depth. If this value is decreasing than things are at least working but doesn't rule out improper calibration. 1.9.1.4 Volume Based Lags **note - the Mudlogging template must be used for Volume based lags. Volume based lags are the most precise lags that can be used, but at the same time the most complicated to configure. Unlike the previous methods where it was either time based or stroke based, this method calculates the volume of fluid in the hole and how long it will take to circulate to the surface. This method is quite involved Basic conditions must be met and then the following conditions are also required: 1. Configuring a hole and pipe profile in the Add pipe section under the Edit menu. Pipe types can be added through the edit pipe type section under Edit. All information on the hole and pipe should be entered in here. Alternatively you can use the Jet Velocity channel and set the bit diameter on it. This will create a hole profile for you. 3. Pump efficiences must be configured in the Pump Output channels 4. StandPipe pressure must be greater or equal to 500kpa. ALTERNATIVELY Bring in Mud Flow In and Standpipe to fit our basic circulating requirements and then bring in externally Annular Volume (TVA) and Pipe Volume (TVP). Channels of Interest: Lag Depth - current lag depth and set function to set lag Lag Time - current lag time Time to Lag - counter to show how long at present conditions to next lag up Lag Volume Left -- like the Time to lag channel shows the decreasing volume left to be circulated before lags up. Lag Volume Adjust - this shows the current value of Lag Volume Adjust as set by Lag Depth

<2006> <Datalog Technology Inc.>

49

BSD Software Manual

Choose Volume Based from the drop down menu Lag Volume Adjust -- sometimes there is a volume of mud in the system that the normal lags can't calculate and you don't want to modify profiles to account for it. By putting in a value here all new lags will add this to the volume of mud to be moved. Gas in/Out Delays -- is their any delays added to the system to account for sample readings. This would be used for Chromat systems that are connected to the mud system via poly-tubing with an increase delay of getting the sample from the shaker to the chromat ie. 180seconds. Another use would be for Tracer systems that can take up to 40seconds to sample a reading. 1.9.1.5 Override Lags Override lag method though it is an option isn't one that will be used. It's set automatically by the server whenever a 3rd party brings their Lag Depth into the WellWizard system. This then removes all calculation and processing down to calculate the lag depth. If the system is in override and it shouldn't be check your incoming wits files for Lag Depth (DRTM)

1.9.2

Trigger Lag
Trigger Lag is a program that is used alongside the WITS program and the internal Lag parameter within WellWizard itself. It allows incoming data to be placed in the depth database at the appropriate value. If you receive Hookload by WITS, it will be databased into the time database at the current time and in the depth database at the current depth. But what about items such as gases (drilled depth continues to increase while gas is being circulated up the hole), or gamma/resistivity (data is being recorded by the tool which is set some distance behind the bit) which are received by WITS now, but actually correspond to a depth 5 meters previous or 50 meters previous to the current drilled depth. Trigger lag, when executed, will take the data and place it back based on the following criteria:

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

50

a. a depth parameter (not hole depth) b. a real-time value c. max or avg value received over interval. So what is required to make the program work? You need to have the lags defined in the file "triggers", which is located in /ww/well/UWID/config. You will need two channels for each lag: The realtime value as received through WITS and an associated depth - this can either be WITS over as well, or be an offset value from the current depth. The following is an example "Triggers" file: # # This trigger.cfg is configured for the Geologger III # # Store Maximum Gas for the interval MUDLAG GASS:GASS> GASS:GASA= DGM MG:MG> This trigger file performs the following commands: Take the value of GASS and store the maximum value received at the MUDLAG depth (which is lag depth calculated by WW) and stores it to the depth database item GASS. Take the same value and store it to GASA (Gas Average) and store the average value into the depth database. The next line shows Depth Gamma Ray as the depth trigger and to store real-time Gamma ray max value into the depth database. You can have as many items as you like, being triggered by the same depth. You can also have as many different triggers as you want. But all have to follow the same pattern, and all have to be legitimate channels. If you include a channel that doesn't exist, the triggers file will fail. Remember that most third party companies will send you both required values, so we simply need to organize them into the system. Like the WITS file, we also have different options that can be included with each line. DGM MG:MG> The "-" flag signifies not to trigger this item unless the system is on bottom.

+DGM MG:MG> The "+" option refers to the Newsco Ream lag option. This flag allows the item to be re-lagged for a whole section when the reamlag button is enabled. This button is currently only defaulted to the Newsco template. Trigger_lag was previously controlled by the file "WWtrigger_lag". This has been modified recently and the process is now controlled directly by the WWengine program. Therefore, if you make any changes to the Triggers file, you need to reload them into the engine program by using the command "WWreload triggers". Simply type the command in and all trigger changes will be loaded. 1.9.2.1 GasLag GASLAG should be used for all channels that are Gasses. There is extra logic applied to any GASLAG triggered values to account for trips, connections and gas sample delays. Also associated with GASLAG channels is a "Maximum Trigger" channel that must accompany all gasses. The common example would be chromat gasses. The chromat gasses would all be grouped together and a snapshot taken and databased whenever 'Total Hydrocarbons Out' reached a new
<2006> <Datalog Technology Inc.>

51

BSD Software Manual

maximum over the gas interval. This is part of the recalculations to keep all the gasses properly adding up. An example of how this would look like in trigger lag is as follows: GASLAG:HYDC1 HYDC1 METH1 ETH1 PRP1 IBUT1 NBUT1 IPEN1 NPEN1 CO2_1 GASA1 From this example the trigger here is GASLAG which is determined from the DRTM channel (internal Lag Depth). Whenever HYDC1 reaches a new maximum all the channels are then applied to the database. You can have multiple GASLAG configurations in the same triggers file. Another example would be: GASLAG:GASS1 GASS1 This would write GASS1 to the database whenever it reached a maximum value. (example of GasWizard) A clearer example of why GASLAG is used. In the above example we mentioned Hydrocarbons as being the trigger. Previous to this change your database would look like the following: Depth 1000 1000.2 1000.4 1000.6 Hydrocarb ons 10 9 10 12 Methane 5 6 7 7 Ethane 3 2 1 2 Propane IsoButane IsoPentan N-Butane N-Pentane e 0.5 0.3 0.2 0.2 0.1 0.3 0.2 0.1 0.1 0 0.3 0.3 0.2 0.1 0.1 1 0.5 0.4 0.2 0.2 Table Gaslag 1 -- old method of databasing Gas

Notice how the data presented doesn't add up to the Hydrocarbons total. Hydrocarbons is supposed to be a total of all the gasses together -- yet often in your database you will see that this doesn't hold true. The reason is that during the same depth interval you recorded the maximum value for each of the different gasses and each gas may have reached a maximum interval at different points over the recorded interval. For instance at 1000m above we have a hydrocarbons with a value of 10%. This value is added from Methane, ethane ....but it is also the max Hydrocarbons over the 1000m interval. The highest Hydrocarbons may not have been the value of Methane max + ethane max + propane max..... it is simply the highest calculated Hydrocarbons over the run. So Gaslag now says, when you record the Max Hydrocarbon take the gasses for Methane, Ethane, propane and so on as well. So now in reality your database records the Hydrocarbon Max and the associated gasses at the time, and not the max gas over the interval. By doing so all the gasses will add up and appear proper. From the table "Gaslag 2" below you can see that the gasses all add up now. Depth 1000 1000.2 1000.4 Hydrocarb ons 10 9 10 Methane 5 6 6 Ethane 4 2 2 Propane IsoButane IsoPentan N-Butane e 0.5 0.3 0.1 0.1 0.4 0.3 0.2 0.1 0.7 0.4 0.3 0.4 Table Gaslag 2 -- Gaslag method N-Pentane 0.1 0 0.2

The GASLAG will take into consideration the gas out sample delay which may make it a better choice to keep

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

52

1.9.2.2

Mudlag MUDLAG refers to all parameters that are based on the "Lag Depth" channel directly. This is the equivalent of DRTM. Processed as a regular triggered-lag channel. The proper usage would be: MUDLAG MCIA>

1.9.3
1.9.3.1

Troubleshooting Trigger_lag
Everything has been overwritten with a straight line This is an inherent flaw in WITS level O the fact that there is no error checking. Let's imagine you are receiving lagged data, Gamma, and the trigger is coming from the 3rd party. If they send a bogus lag, our system will accept it and update the charts with that bogus data. For example, let's say that from 100m to 200m you have an active Gamma curve. The 3rd party then sends 120m instead of 201m. The WellWizard system will take this data and connect the last two known points, in this case 200m to 140m, together, giving you the straight line. Unfortunately, there is no simple way of recovering lost WITS data, all you can really do is import the data again.

1.9.3.2

My Lag is Ok, but my Gas value is lower than it should be You are victim to the long lag period and the average setting. If the trigger lag is set to use average and you are at the depth in question for a long time, you can average 500 with many lower values, giving you a lower than expected value. Use Max values where possible.

1.9.3.3

I'm Not Receiving my Lags In this situation, more than likely, the triggers file has not been setup properly. Confirm that all mnemonics exist and that they are the ones you intended to use. Also, if you are using the Client Lag as provided by WW, then check to make sure that you are circulating and that your time to lag is progressing to zero.

1.9.4

Check that the lag is Working


On the server side you can check the incoming lag status via a couple of methods: 1. WWtestlag -Wxxxx. This option will show you current settings for the Lag processing. By hitting the "2" key you can watch the actual lag processing occuring. (-Wxxxx, with x being the LWID) 2. client_tcp -cdata_test -d"1 DMEA DRTM GASS" -- this command will allow you to login to the system as a client would (you will need a unique login/password). Whenever a lag event comes up you should see a depth notify occur for your channels. The example line given shows well 1 and will display hole depth, lag depth and Gas reading.

1.10

Creating Channels
The WellWizard system comes pre-configured with a basic set of channels which is used in most cases. There is often though a need to add a new channel or hide some existing channels. The command "WWtext" is used to add, modify or hide channels. You can never delete a channel once it

<2006> <Datalog Technology Inc.>

53

BSD Software Manual

is created but you can hide it from view.

1.10.1 WWtext
Along with WITS and triggers you need to know how to add channels. It's not enough to simply use what is already in place, because the pre-programmed channels will not cover all circumstances and events. There will be occasions where you will be asked to add channels that don't already exist, such as new gamma tools, different well parameters or, perhaps, even multiple items a channel that already exists. Every channel must have an mnemonic. So how do we get these mnemonics and how do we create them? Type WWtext [1]root@server(/) # WWtext Select Well to Modifiy Use arrow keys to select and ENTER to view. Press 'X' to exit Select Well 1: testv4 (LOCAL) Use the right/left arrow keys to select the correct well. Remember that it doesn't help you to create new channels in a well you are not using. When the right well is showing hit <enter>. Successfully loaded text file '/ww/well/W0004BF0003B2GI6K6W/config/realtime.txt' Successfully loaded text file '/ww/well/W0004BF0003B2GI6K6W/config/category.txt' Use Arrow Keys and ENTER to select channel. Press '?' for Help Channel AAFV : 'Accumulated Actual Fill' Unit: VOLUME, 'Pit Parameters' The channels for my wells UWID are now successfully loaded, and the first channel appears. The channel is AAFV which is the mnemonic for Accumulated Actual Fill. The unit of this channel is Volume and can be found in the client under Pit Parameters. All channels will display this information. Pressing the "?" button the following appears. Arrow Keys select channel. Press ENTER to modify. A : Add channel C : Copy channel (adds a copy of the currently selected channel) L : Select Locale T : Change Category text c : count channels g : goto channel e : position selector at last channel h : position selector at first channel n : advance selector to next channel p : advance selector to prev channel R : reload S : save x : exit well ? : help These are the hot buttons that allow us do our jobs, so go ahead and try them. e,h,n,p movement keys g Goto command - it will ask you for the mnemonic that you wish to goto (of course, you have to know this!). So, by pressing "g", then entering "MG", I will be moved automatically to Gamma Ray or the closest
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

54

found channel with the mnemonic MG.

1.10.2 Adding a new channel or editing an exiting channel


Sometimes it becomes necessary to add a new channel because no existing channel fills the requirement. It's good practice, though, to scroll through WWtext, just to make sure that there really isn't any channel that fits the bill. Another usage for WWtext is to modify an existing channel to fit your need. Whenever you add a new channel you also increase the overall size of the database, so keep this in mind. To add a new channel you first need to know some things: What will the new channel be called? i.e. Gamma2, What will the new channel mnenomic be? i.e. MG2 Does any other channel fit the bill? Is the mnemonic unique? Can't have two the same. What units will the new channel have? What style of channel will it be? Will it be alarmed? Where will it appear in the client? Is it trigger_lagged? Is it realtime, depth/time based? Is it a calculated channel? Will it be a editable channel?

Let's consider two different situations: A) B) where you're required to add the channel Gamma2 and where you are editing channel UD2 to create Gamma 2

In situation A), you would want to run WWtext and hit the "A" button to add a new channel. In situation B) you would want to scroll to UD2 and hit enter. Situation B) would not show the "Add new channel" or "Enter channel mnemonic" as below, in this case you already have an existing mnemonic (UD2). Add new channel Enter new channel mnemonic: Gamma2 Enter new channel text: MG2 -- this shows up in both situations, for b) you would change the channel from User Defined to MG2. Everything else that follows is the same for both situations. If you are editing an existing channel, the pattern is slightly different than shown here. First it will ask you for the channel text, then the Unit Class, then Set Data Flags. It will not ask you Data Type. Please see the Unit Class section after the Data Flags for instructions. Data Type (use arrow keys): Double Precision Floating-Point Number (Double) This section asks us what our Data Type is, your options are Double Precision Floating-Point Number (Double), String (ASC) , Binary/Bulk Data (BULK), Signed 32-Bit Integer (S32), or an Unsigned 32-Bit Integer (U32). Unless otherwise instructed to do so, always use the default value, Double Precision Floating-Point Number. Select Data Flags
<2006> <Datalog Technology Inc.>

- use arrow keys to scroll through list of flags

55

BSD Software Manual

setting and clearing the appropriate flags by pressing ENTER to toggle. Select 'EXIT' and press ENTER to exit data flags selection. Data Flag : Realtime a. Realtime -- always say yes b. Depth (Realtime-Depth) realtime? -- always say yes c. Time (Realtime-Time) realtime? d. Depth-based (stored in Depth Database) e. Time-based (stored in Time Database) f. Depth-Lagged (need Triggered-Lag entry) g. Calculated (need Calculation entry) automatically allow you before using h. Editable (Set-able - need Resource entry) i. Boolean (only two values True/False) j. Counter (data only increase - eg. pump strokes) k. Lock (parameter may not be edited) l. Alarm High (High Alarm may be set on channel) m. Alarm Low (Low Alarm may be set on channel) n. Disable Error (channel won't be set to -9999) incoming data"? o. Hide Channel (channel won't appear in list) p. EXIT Some notes on this section: You can use the right/left keys to move back and forth until your satisfied with your selections. The word set should appear next to each selection you have set. If you are editing an existing channel, this list would start with Triggered Lag or not; skips the time/realtime section which we always turn on anyway. For our examples: A) B) Set items a-f and item p only. Will only give the option of choosing f through p. does the channel appear in realtime gauges? does the channel show up in depth database does the channel show up in time database is it stored in the depth database? is it stored in the time database? is this a triggered value? is this a calculated value ** doesn't to add calculated parameters seek advice unsure at time of this document is this channel boolean controlled? as it says no user can edit this data will you allow a high alarm? will you allow a low alarm? should the channel show "No should the user be able to see it? exit this channel section

Next it will ask what category this new channel or existing channel should be in. Category (use arrow keys): Drilling Parameters All pre-existing categories will appear, plus the ability to create a new category. If you wish to add a new category it will ask you for the category mnemonic plus the category name. Once created you can assign channels to it at anytime and they will appear in the client. Next step for adding channels, but second step for editing channels is the Unit class. Unit Class (use arrow keys): CONDUCTIVITY . Here you choose one of the existing pre-determined units. There are several to choose from, so scroll through until an appropriate unit is chosen. If you are unsure, leave it as none and come back and edit
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

56

it later. Situation A) and B) would both be none for gamma Now, if editing a channel, you are finished and you can either edit more channels or skip to the Save section at the end. !!!WARNING!!! You are about to add a channel. It is very important that you choose the correct settings for the Time-Based and Depth-Based data flags. You will NOT be given another chance to change these again, as to do so later would corrupt any pre-existing database! BE SURE!! Are you sure you wish to add channel 'DFDS' (Y/N)? abandon them. Choosing yes will save your changes, no will

OK, at this stage, you should have either successfully added a channel or successfully edited a pre-existing channel. Now you can continue making changes as you wish, but when done and after creating every new channel , you must Save the channels. Press "S" to save if all goes well, it will say: Successfully saved channel text!!! Successfully saved channel table!!! Do this many times while in WWtext to ensure your changes get saved. When finished: hit "x" to exit Restart your client and you should see your new channels and categories. Now you can use these new channels to WITS data in, or trigger on. An example: Let's go through an entire example from beginning to end. The MWD company has a channel called Resitivity Medium. This data is being sent to you on WITS record 0843. The depth record is also being sent to you on WITS record 0855. Step 1. Does the channel exist in WW? Use the WWtext command to verify.

Step 2. Create the channel if it doesn't exist. You will need to add in two channels, and in this example I am going to use RMRT (Resistivity Medium Realtime) and RMDP (Resistivity Medium Depth). Step 3. Step 4. Edit the WITS program to include 0843,RMRT,0 and 0855,RMDP,0 Edit triggers to read RMDP RMRT:RMRT>

This is now complete. Remember to do the following: WWreload the triggers file WWreload WWwits the WITS file Now let's take this example further. The MWD is now sending over another channel, called Sonic, on WITS record 0844. It's based on the same depth as Resistivity Medium.

<2006> <Datalog Technology Inc.>

57

BSD Software Manual

Step 1. Step 2. Step 3. Step 4.

Check for channel Sonic. Create the channel Sonic if it doesn't exist. (SONI) Edit the WITS file to bring in 0844,SONI,0 Edit the triggers file to now show: RMDP RMRT:RMRT> SONI:SONI>

As you can see, everything follows a pattern. You just need to put in the variables. Do keep in mind that if you are adding 10 channels, for example, that you will want to keep track of your progress and what changes you have made, to date. Remember that the next technician to work on the system or who is trying to fix a problem, will have to determine what you have done, and your progress, before diagnosing the problem.

1.11

Sensor Configuration
All sensor calibration and controls are done through the client software. There are two primary ways this is accomplished: either through the calibration screens which control the physical sensor mapping and the high and low counts through set functions on each particular channel such as in/out slips or WOB. This section will break down these connections into two main parts 1. 2. Physical channel calibration and mappings Set(able) channels

IMPORTANT BSD UPDATE:


For those who are familiar with the older system you were used to the calibrations being saved in /ww/well/UWID/config/dac_sw,dac_hw.... files. The new system stores all the files now in the /ww/well/UWID/config/well.cfg file. This file is of XML format and can be modified directly but it is best to use the Client configuration or the WWCP when it becomes available. Please make note of this for default well configs, etc. All prior templates from older system will not work when bringing these configs over.

1.11.1 Hardware Calibration Procedures


The following channels should ALWAYS be calibrated: Hookload Standpipe Pressure Casing Pressure Flowout Percent Pit Tanks 116 Table RPM SPM13 Slip Status Ticks per 100m (HKLI) (SPPI) (CHKP) (if used) (MFOP) (if used) (TV1TV16) (if used) (RPMI) (SPM1SPM3) (if used) (do through WellWizard under Slip Status) (do through WellWizard under Hook Position)

The following information should be obtained and entered through WellWizard:


<2006> <Datalog Technology Inc.>

WellWizard Software Manual

58

Weight of blocks enter under "hookload" Weight of Kelly enter under "hookload" Pump efficiency and pump volume enter under "pump output" N.B. the geologist will set the appropriate lag time and lag time increments.

1.11.2 Channel Calibration


Before a channel can be calibrated please ensure that it has been connected and take note on which barrier the channel is connected. The channel calibration and mapping screens are accessible by clicking on WellWizard on the main menu and choosing Configure.

It will now prompt you for a password. This password is generated by the server and is user configurable. Refer to Well Configuration Password for the password or how to change it.

Once successfully entered you will be given the Channel Mapping and Calibration screen.

<2006> <Datalog Technology Inc.>

59

BSD Software Manual

Please refer to the sections Channel Mapping and Channel Calibration Analog,Channel Calibration Digital for further instruction.

1.11.2.1 Channel Mapping Before a sensor can be calibrated it needs to be mapped from the physical barrier connection to the software. When you click on Channel Mapping it presents you with this screen.

From this screen you can either add a new channel to be mapped, delete an existing mapped channel, view the Real-time data feed to the server (hex values) or print out the current mappings. ADDING A CHANNEL Clicking on Add presents you with this screen asking you what type of channel do you wish to add. Analog -- any sensor that outputs a 4-20mA signal into one of the Analog barriers (ie. hookload,pit sensor) Pulse Counter -- these are essentially digital channels that count 1 by 1 that can be zeroed. (ie.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

60

Strokes 1,2,3) Digital -- any variable digital sensor (ie. SPM) Depth - this is reserved for the depth sensor.

When you click ok it presents you with a list of potential channels that can be matched to the chosen criteria. Pick the appropriate channel. In my example I am going to pick Analog and choose Mud Temperature Out sensor.

<2006> <Datalog Technology Inc.>

61

BSD Software Manual

When I hit OK it shows the channel now existing on Analog 13. If I wished to move this to another channel I would simply input the correct barrier value into the Channel section. If there is any channel mapping errors it will present it to you at this time telling you the problem (such as another channel is already assigned to this value....). If you highlight any channel and click on Change Parameter it will give you the same list as the Add function and the channel you choose will replace the highlighted channel. DELETING A CHANNEL Deleting a mapped channel is as simple as highlighting the channel you wish to delete and then hitting delete. You will be asked if your sure and if you answer yes the channel is removed from the mapping. VIEW RT DATA The real-time data viewed is the HEX values of each channel displayed in a GRID format. This view is useful when troubleshooting channels that are reading incorrectly or to determine where a channel you have just added has shown up if your unsure. Clicking on the View RT Data button presents you with

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

62

All the channels are listed from left to right starting at the value indicated to the left. The first row covers Digital D0 - D7 and will be shown as either 0's or 1's. The Analog channels go from A0 to A64 (64 is available only on a extended DAC) with each row representing 8 channels. In this example all the values are 0 indicating no physical channel is connected except for A13 which is reading roughly 4mA in Hex. Please note that the data represented here is not high-speed data and should only be used for reference. High-speed data should be viewed using dac_test from the command line. PRINT The print function will make a printout of your mapped channels for your records and for easier viewing. When you click on Print it will ask you which printer to use and then will proceed to print out a page such as the following:

<2006> <Datalog Technology Inc.>

63

BSD Software Manual

1.11.2.2 Channel Calibration Analog Calibrating an ANALOG channel requires you to know the low and high values to calibrate the channel to. Generally you only configure one point at 4ma which is usually low but you can calibrate this as the high value, and 20ma which is normally your high point. Using a low and high point you create a linear calibration for all readings regardless of their current value. You may also wish to calibrate more than two points and can add as many points as necessary. Multiple points can come in handy when calibrations aren't so linear, such as when calibrating a Pit sensor and the tank isn't square or cylindrical. To illustrate how to calibrate a Analog sensor I'm going calibrate Pit 1. Choose Calibration from the Sensor Configuration menu

Highlight Pit1 and then click on Calibrate -- if you don't have the channel necessary to calibrate refer to Channel Mapping on how to add it.

When you click on Calibrate you can now set the low and high points and up to 8 mid points.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

64

1. 2. 3.

4. 5. 6.

New Point -- click on this will allow you to create another new point up to a total of 10. Delete Point - highlight any point and click on delete to remove that calibration point Take Sample -- when you highlight the calibration point you wish to calibrate the Realtime counts and Rolling Average will display the current and average values for this particular channel. If you click on Take Sample for either this value will populate into the counts field allowing you to calibrate that point. Decimal Drop down box -- you can view your counts in either decimal values, hex values or mA values. Unit drop down box -- depending on the channel the available units you can use to calibrate with are shown. Calibrate --- once you are happy with you calibrations you can apply them by clicking on Calibrate.

PIT 1 Example

This example shows me changing Calibration point 2 (normally high) using 20mA and giving it a value of 5m3. If I were to take the rolling counts I would be calibrating 0.018mA to be some value. The
<2006> <Datalog Technology Inc.>

65

BSD Software Manual

boxes above the unit and conversion value are the calibrated points. In this diagram 0mA is 0m3 and 20mA is 5m3.

In this example I have three calibration points for my Pit Sensor all in Hex. My low point is 332B (roughly 4mA) and equals 0m3. I have a mid point calibration at 544F with a value of 3m3 and my high value of FF2B (roughly 4ma) at 5m3. All Analog sensor calibrations are identical in form to these examples. The usage of rolling average is generally a good idea when calibrating as it eliminates spikes in either direction from your calibration. This isn't always a good idea though as rolling average can take a few seconds to catch up to fast moving signals. Another suggestion here is to create a third point for the zero readings. If you create a zero reading at 4.34mA and your sensor drops below that you will show negative numbers. To eliminate this problem create another point with 0mA being 0.
1.11.2.2.1 Example Calibration - DeLaval Pit Volume Sensor

Run Channel Calibration Analog and select the Pit sensor in order to see the counts being generated Move the float to the lower extent of the probe. Determine the volume of the tank to which this number equates, either by calculation or by some other volumetric indicator. For example, the dimensions of the tank are 1.3m wide x 2.0m long x 1.5m deep. With the float in the lower position, the height from the bottom of the tank to mid-float = 20cm. Realtime counts shows = 3308 , hit take sample to move this count to the calibration window. Volume to mid-float = 1.3m x 2.0m x 0.20m (note the unit conversion from cm to m) V1 = 0.52m3, enter this value into the calibration screen. Next, move the float to the top of the probe, as high as it will go (typically stopped by the grating). Height from the bottom of the tank to the mid-point of the float = 1.41m
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

66

Highlight the high count calibration and hit Take sample on the realtime counts. Volume to mid-float = 1.3m x 2.0m x 1.41m V2 = 3.66m3, enter this value alongside the high realtime counts. 1.11.2.3 Channel Calibration Digital Digital Calibration is really quite simple. Going into the Sensor Configuration choose Calibrate and then highlight the digital sensor you wish to calibrate and hit calibrate.

When you hit calibrate you are presented with a simple ration screen such as

<2006> <Datalog Technology Inc.>

67

BSD Software Manual

What this refers to is it takes physically 2 pulses to equal one tick. In this case the Pump Stroke sensor would need to change state twice before we would register it as a signal pulse. For instance the example given to me was a pump stroke sensor on the tri-plex pump located near the bottom of the shaft was set to a ratio of 1.6:1, as it was roughly 1.6 pulses to for complete stroke. This shows that the value is not necessarily a whole number and must be determined. 1.11.2.4 Set Function Calibrations Many of the channels along with the physical calibration of high and low points also have various set points that can be applied. A good example of this would be Hookload. You calibrate the Hookload sensor for it's high and low counts, but you also wish to use this same sensor for determining in and out of slip status. For these particular channels you have two options to set these variables. Either in the Set Screen or by clicking on the gauge in question and hitting set. Channels which can be set are: Hookload -- to set Block, Hook and Kelly Weight Slip Status -- set in/out of slips ranges Time Increment/Depth Increment -- how often should the time/depth database record data. Please note here that a 1s time database will grow 30x more than average and will cause the system to eventually crash. Bit Depth - set current Bit depth Hole Depth - set current Hole depth Lag Depth - setup the lag depth Weight on Bit (WOB) - set current WOB value, or ZERO Torque - set current Torque value. Active PVT -- setup the pits to include in active PVT VIEW/SET method The View/Set method lists many of these channels above in a list that you can pick from. On the menu list choose View and then Sets. Highlight the item you wish to set and click on SET. In the picture below I have chosen to set InSlip threshold which brings up the in/out slips screen.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

68

Gauge SET Option Right-click on the gauge you wish to set. In the picture below I am setting the in/out slips by right clicking on the Slip Status-Out of slips gauge.

<2006> <Datalog Technology Inc.>

69

BSD Software Manual

You can change your slip status and then click on SET. You can also create a shortcut key and choose one of the function keys to jump quickly to this screen.
1.11.2.4.1 Example Calibration - Block Movement

Hook Position sets the ticks per hundred meters. This can be done through the Well Wizard Client under the Hook Position channel.

1.11.3 Channel Configuration


A typical channel configuration is as follows: Analog Channel 1 2 3 4 5 Channel Mnemonic Actual Channel Name HKLI Hookload SPPI Standpipe Pressure CHKP Casing Pressure MFOP Flowout Percent TV1 Pit Tank 1
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

70

6 7 8 9 10 11 12 13 14 15 16 Digital Channel 1 2 3(1) 4(2) 5(3) 6(4)

TV2 TV3 TV4 TV5 TV6 TV7

Pit Tank 2 Pit Tank 3 Pit Tank 4 Pit Tank 5 Pit Tank 6 Pit Tank 7

FUELF TQI

Fuel Flow Torque

Channel Mnemonic Actual Channel Name BMT Block Movement (Depth Channel 1) BDIR Block Direction (Depth Channel 1) RPM1 Table RPM SPM1 Pump Strokes 1 SPM2 Pump Strokes 2 SPM3 Pump Strokes 3

Channels may not always be exactly as shown above. To view your particular channel configuration you can check the dac_sw file (note: this is a binary file). NOTE: All analog channels have a one to one correspondence with the hardware connector on the junction box and the analog channel. I.e. junction box channel number = analog channel number. Digital channels on the other hand, due to the two default depth channels, have a two-channel offset between the hardware channel and the junction box. I.e, channel 1 on the digital junction box is actually channel 3; similarly, channel 2 on the junction box is channel 4, etc.

1.11.4 Calibration Log


Before commencing, it is a good idea to create a DAC Calibration Log in order to record individual calibrations. Example Calibration Log Sensor Low Value HKLD SPPI MFOP TV1 TV2 TV3 TV4 Low Hex High Value High Hex

1.11.5 Depth and Weight Calibrations


Ticks per 100m Calibration:

Ticks per 100m = [100 x (#of lines on both sides) x (#of targets)] / [(diameter of sheave in m) X p ] For example, on a 4ft sheave with 10 lines and 12 targets, the calculation is as follows:
<2006> <Datalog Technology Inc.>

71

BSD Software Manual

4ft X 0.3048 m/ft = 1.2192 meters (100 X 10 X 12) / (1.2192 X 3.1415927) = 3133 ticks per 100m NOTE: measuring the sheave from the middle of cable to the middle of cable works very well; using the number stamped on outside does not work so well.

Hookload Calibration:

The full, correct procedure is shown below, but in reality, calibrate the hookload sensor so that our weight matches the weight shown on the rig's indicator. 25,000 lbs / 224.809lbs/ton = 50,000 lbs / 224.809lbs/ton = Table of values for high point Sensor Limit: 25000lbs 50000lbs 8-lines 889.64 1779.29 10-lines 12-lines 111.2055 KN 222.41 KN

1112.2055 1334.466 2224.11 2668.93

Low point = Hookload with no weight = 0.0 (counts should be around 3300) High point = Maximum weight of hookload sensor and number of lines from above table (counts should be around ff00). Set the calibration to be the number from the above table using the number of lines on the blocks and the sensor limit. For a sensor with a limit of 25000lbs, and for a ten-line rig, the calibration should be: 3300 counts = 0.0 KN FF2B counts = 1112.2055KN NOTE: The 4mA and 20mA points should already be calibrated before the unit leaves the shop, so the counts for the Hookload channels shouldn't need to be changed - only the value.

1.11.6 Weight On Bit


You should set this value in WW through WOB settings. Zero setting When the bit is just offbottom with slow rotation, set WOB to zero. This should be done every few connections to make sure the weight is kept accurate. The driller's will perform this step routinely so it's not a problem

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

72

Clicking on the Shortcut Key will bring up the Function key shortcut menu allowing you to assign one of the Function keys to this set function.

1.12

Mirroring
Mirroring is the term given to any remote WellWizard servers which hosts a duplicate database. The process of mirroring allows users who are not on location to view the same data without having to connect through the generally slow connections to location. It saves bandwidth and provides the end user with a much greater sense of the daily operations at wellsite. Basic outline :

1.12.1 What is a Mirror


The mirror server is a mirror or a reflection of the wellsite server. It behaves much like a mirror and that every detail is perfectly reflected, but unlike a mirror, everything is in the same order. The mirror refers to any OpenBSD server that is connected to another OpenBSD server and contains a real-time working copy of the connected database. So you now have two servers showing exactly the same
<2006> <Datalog Technology Inc.>

73

BSD Software Manual

thing.

1.12.2 Mirror Configuration


First we need to establish a connection between the two servers. They can only maintain a connection if they have a dedicated connection between the two. This can be by satellite or landline. However you do it, it needs to be there. Secondly we need to determine the mirror configuration. Which well is going to be mirrored and where are we going to mirror it to, and who is going to initiate the mirror? Before you begin, be sure to have the IP's of both wells, and be sure each well can ping each other to ensure a connection. This may not always be possible when going across remote networks as some administrators block ping requests. In order to make the process clear I am going to go through a hypothetical mirror configuration. Wellsite Server is at IP 192.168.10.1 and contains a well called demo. I wish to mirror this well to another server located at the main office. The server, which will show the mirror, is at IP 64.201.174.36. They are connected via satellite. One thing to keep in mind before going through the setups for each server is to know which server is going to initiate the connection. Default method is to have the wellsite system initiate the connection to the mirror sitee; thus pushing the data out. The process can be reversed in situations where the mirror system has full control of the wellsite system (remote administration).

1.12.3 Wellsite Server Setup


Assumption at this point is that you have a Logging Well on your wellsite server. ssh into your server. WWsetup choose system management System: Create New Remote System Entry Choose to create a new remote system entry. You can create as many as you need but you must keep track of which is setup to mirror which wells. Best to keep this list to as minimum as possible. If you make a mistake, finish creating the entry and then press delete to erase it entirely. Enter System Name: This is where you enter a unique system name. This isn't used for anything else other than for the users reference to keep things straight, so for my example I am going to call this "junior". Enter System Username (used for login): This is used to ensure that the correct well is being mirrored by requiring both sides to know each other's login. This login must be unique to the mirror. Don't use root. Use something relevant. In my case I am using "Bigbrother". Enter System Password (used for login): What password will these systems use? I will use the password of "watching" Will local system initiate connection? (y/N) : Now this is very important, which system will initiate the connection, only one side is allowed to do so. As a rule the wellsite system will initiate so say Y(es) to this option. Use PROXY Server (y/N)? Is there a Proxy server involved. Tunnel over HTTP (y/N?) Do we wish to tunnel(SSL) over port 80 (www) Use SSL (Y/n?) This is the preferred connection over port 5001 Enter IP of remote site: (this is the IP of the mirror system)
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

74

Enter Port to use: (hit enter for default port given) Select Well(s) to Mirror to this system Well Select - use arrow keys and ENTER to select. Select 'Exit' when done Well 4: demo (W0004BF0003B2GIT75S) MIRRORED This section allows you to choose which wells you want to mirror. When you have chosen the well you want press enter and the word Mirrored will appear next to it. If you make a mistake here, it is best to finish the process and then delete the entry by hitting the delete key. You can set as many wells here as necessary, but generally you will only mirror the active well. Other wells you will wish to archive and restore with WWdbm. Now that were done creating the entry, the WWsetup program will show your newly created entry. Press "i" to show details. System Name: junior LSID: 1 USID: Username: Bigbrother Password: watching Connection Data: Type=LAN;Host=64.201.174.36 Connection Rate: <connection rate currently not supported> Mirror Data: W0004BF0003B2GIT75S I created system management entry junior, with logical system entry of 1. Username and password as shown, mirroring well W0004BF0003B2GIT75S, going to HOST 64.201.174.36

1.12.4 Mirror Server Setup


ssh into the server. WWsetup choose system management System: Create New Remote System Entry Choose to create a new remote system entry. You can create as many as you need but you must keep track of which is setup to mirror which wells. Best to keep this list to as minimum as possible. If you make a mistake, finish creating the entry and then press delete to erase it entirely. Enter System Name: This can be whatever you wish. I am calling mine Senior Enter System Username (used for login): This must match the wellsite login. So "Bigbrother" Enter System Password (used for login): Again, this must match the wellsite. "watching" Will local system initiate connection? (y/N): As the standard for all mirrored wells, the mirror should not initiate the connection so choose no. Next it will ask you which well you wish to mirror. Usually the mirror server only receives data, but if you wished to share a local well with the wellsite server, choose your well UWID here. In the example of the junior/senior geologist, the junior could send his well to the senior, and the senior using the same LSID could send his well to the junior. System Name: Senior LSID: 1 USID: Username: Bigbrother Password: watching Connection Data: Connection Rate: <connection rate currently not supported>
<2006> <Datalog Technology Inc.>

75

BSD Software Manual

Mirror Data: As you can see this is slightly different than the well server. Different system name, but same username/password. If I had chosen to mirror a well back it would be listed here.

1.12.5 Starting the Link


Now that both systems have been setup you will want to do the following: 1. pkill WWlink on both servers 2. On the server to initiate the connection "WWlinkup ?" where ? is the LSID of the system entry. You can have multiple ones setup so make sure you take note of which one is correct and use this one for all restarts. If all is setup up properly you should almost instantly see the creation of a new well called Remote on the mirror server. Do a "qw" and you should see the following style of entry. Remote Inactive W0050C202A6E8GGQ9NJ Demo The creation of a well that isn't local will be Remote (meaning the data wasn't collected locally) and contain the UWID of the sending server well and its name. Note that the UWID's are the same even though on different servers. Now to see what it is actually doing type the following command: WWtestlink If no connection is made, it will say Link inactive. In this case, try slaying WWlink and restarting WWlinkup again. If this doesn't help, verify connection by pinging the opposite server and checking that passwords match. If connection is good, the well is created and you will see: Mirror#1 Status: System 2: mirror Well 4: demo Initiated LAN Link to 192.168.10.1:4999 State:Authenticated Update State: S100.00% T100.00% D100.00% F100.00% TX100.00% Last Realtime Received : Wed Aug 29 18:48:04 2001(999132484) Last Transaction Received: Wed Aug 29 18:47:55 2001(999132475) This will repeat over and over again. What it tells you is that Link was initiated on the following IP and port and that it was authenticated meaning login/password accepted. Update Status references several items: S(chema) config and registry from the wellsite system. 100% means it has come over completely T(ime) D(epth) F(iles) TX(transaction total) Last Realtime Recieved: like it says, when is the last time you received a real-time record. Last Transaction Received: transaction record received when. Good for troubleshooting when mirror fails, as to when it failed. Once the connection is made, the two wells will be identical in all ways. If connection is lost, either by network going down, or a hiccup in the system you will not need to restart the link as a rule, as it will pick up when the connection is re-established. The mirror will also completely resync itself after
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

76

having been down for a period of eight hours.,so if your server is not mirroring;and then picks up eight hours later, expect to see it resyncing the schema and starting over. If the mirror refuses to start I would suspect that the username and password are not equal on both sides. This is a common mistake. If these are equal check that the proper ports are opened or that the IP's you are trying to use are correct and accessible. Please contact your IT department to verify the ports and IP's. Many times this takes some back and forth calls to get the proper ports opened up and configured correctly. I have seen firewalls that will allow incoming but not outgoing; so our servers can see each other one way but not the other. The same issue affects the clients to when going outside of networks. When doing a mirror be sure to provide and or ask for the following: 1. 2. 3. 4. What is the IP of the wellsite server? What is the IP of the mirror server -- firewalls are often restricted to certain IP's and ports. Port to be used is 5001 for SSL or 4999 for non-SSL unless Proxy is required. At least 16 KB/s of bandwidth. We can do with less but ask for this as a minimum.

1.13

Interface
One of the original uses for the WellWizard software outside of EDR is the use of the QLOG WellWizard Interface. This is the means where the QLOG database is replicated to WellWizard, where several clients can connect, view data and use the power of the WW interface rather then the QLOG interface.

1.13.1 Requirements
- A server of some fashion can be a Mini-Wizard, EDR, and Desktop. - a well created with the QLOG-WW Interface - A qlog database - a null connection from QLOG to WW box serial to serial - both sides set to 38400 baud, no parity, 1 stop bit, 8 bits - QLOG port cleared of all options no etab, ers, edel, igate, oflow, and hflow..... *** NOTE *** Port 4 is the default. If using a Mini-Wizard you will have to modify the registry to use port 1. See the registry note on how to make this specific change.

1.13.2 Command to Start Interface


Once the hardware and software are setup, you need to issue the following commands to QLOG: 1. Start QLOG as normal, starting all admins including database admin 2. Start "hotback +i &" - beings hotbacking the database to the interface 3. Start "WWInterface p=port &" - starts the actual interface process from defined port Command to use to sync over time: WWTSync & - use only under advisement. Log into the WellWizard server, type the following command "WWtestint -Wx" (where x is LWID). You should see the message "cooked data ............." repeating every second and once a minute "time.....". If you see this than the physical connection is made and your data is being ported across. If not, check baud rates, options off, and restart the Interface up.

<2006> <Datalog Technology Inc.>

77

BSD Software Manual

1.13.3 Mapping Channels between QLOG and WellWizard


Ok so now your data is streaming across, but where is item xxxxx that I just added into QLOG, where is this other data, why does this data not add up. How do I add in new channels to WW that I have created in QLOG? The art of mapping comes into play now. I suggest reviewing the notes on WWtext as this applies heavily to this section. First let's discuss the QLOG side of the Interface. MAPPING QLOG SIDE OF INTERFACE The QLOG side of the database controls the entire Interface operation. Whatever is done to QLOG automatically happens to the WellWizard server. Keeping this in mind, any problems you see on the WellWizard screens should be checked first in QLOG to make sure that the problem doesn't exist first at the source. If QLOG is wrong, WellWizard is wrong. Ok so what files control the Interface. /datalog/text/display.txt This is the only file we need to be concerned with when mapping over to WellWizard. Take a look at the file and you'll notice the following structure: QLOG database Number 0117 Unit Indicator 01 Item Name Hydrocarbons

This repeats all the way through from item 0000 to item 0350. When you add a channel to QLOG you must edit this file and include that channel, so we use this file to help WellWizard to determine what data belongs to what item. I strongly suggest having this file displayed at all times when you actually perform the mapping, or at least a printout of the file. MAPPING WELLWIZARD SIDE OF INTERFACE WellWizard receives from QLOG a string of data, and we need to tell WellWizard what is what in this single data stream. This is not unlike Wits, where we assign each incoming channel to a mnemonic, but in this case we assign a portion of a stream to each mnemonic. The file that this takes place in and again the only file of consequence is the qlog.map file located in /ww/well/UWID/config. By editing this file we can take any part of the incoming stream and place it wherever we wish. Excerpt from the qlog.map file: # QLOG to Well Wizard Data Mapping # Format: # Well Wizard Mnemonic, QLOG Cooked Index, QLOG Data Offset, QLOG Data Type, # QLOG Data Size, QLOG Data Class, QLOG Data Unit, QLOG Decimals # # NOTE: Decimals are loaded into the structure from the decimals file if # the Decimals is value is -1 # RPMI,0,0,S32,4,1,0,-1 SPM1,1,4,S32,4,1,0,-1 SPM2,2,8,S32,4,1,0,-1 SPM3,3,12,S32,4,1,0,-1 SPM4,4,16,S32,4,1,0,-1 STK1,5,20,S32,4,0,0,-1 TQI,46,184,S32,4,9,1,-1 So what does all this mean? Take the first line: RPMI (rpm) is the channel for data to be mapped to or WW mnemonic,
<2006> <Datalog Technology Inc.>

WellWizard Software Manual

78

0 is the QLOG cooked index -- basically this value means the first data item sent in the stream, remember datalog.txt 0 is the offset, each data unit is 4 bits in length, so take the first number x 4 and you get the offset value S32 32-bit integer, QLOG data type, all data we map will be this format 4 is the data size, again all will be this size 1 is the data class as taken from datalog.txt in qlog 0 means, place into the default units for this channel -1 is the indicator to take decimal places from QLOG standard is 3 for all All the channels we add will be copycats of the RPM, SPM's, etc, with the exception of Torque, which you see is located at index 48, offset 184 (48x4), unit class of 9 but take the data in as being in ft/lb instead of amps. You can change this if necessary for running mappings. MAPPING BRINGING IT ALL TOGETHER So I now I can follow the qlog.map file and I have my datalog.txt file from QLOG. If you take a look at the datalog.txt file you will see the first item in it is RPM at item 0, you will see in qlog.map that rpmi has an cooked index of 0, datalog.txt rpm is 0, cooked index of 0, datalog.txt 0, cooked 0, see the point I'm trying to make. Each and every item in qlog.map has a cooked index that matches with datalog.txt file locators. So let's say you add a channel into QLOG called Gamma2 into datalog.txt at item 280. In datalog.txt line 280 would read, 0280 00 Gamma2. You would then input the data into this new channel. But you will notice, no WW channel called Gamma2 and your data is going into Gamma Ray. How is this possible? Take a look at qlog.map and follow the cooked indexes down until you find 280, it reads MR,280,1120...... -- which means Gamma Ray is the 280th item in the data stream at bit 1120 for four bits. The qlog.map isn't smart enough to know that you changed the QLOG side so we need to take care of the mapping for WW. Obviously we would need a channel called Gamma2, for this demonstration let's give it a mnemonic of MR2 (making sure that you had a channel already existing or created the channel using WWtext) we would proceed to edit qlog.map to show MR2,280,1120.... Restart the Interface and there it is, Gamma2 with Gamma2 data from QLOG. This is how it works for all channels. Now keep in mind that the basic default mappings are already taken care of for you, so as long as you don't modify QLOG you don't need to worry about mappings, but if you do modify any part of the datalog.txt file, you do need to worry about modification. Let's do another example to help clarify things. The example would be a GasWizard connected to QLOG being wits'd into channel 88. You edit the datalog.txt file to show 0088 08 GasWizard. You start up the Interface and there is no channel called GasWizard, so you create one. Still no data in GasWizard. Look at the channel CO in gas parameters, there you'll find your data. Why? In qlog.map the line shows CO1,88,.... which means take item 88 from datalog.txt and place into CO. So you either edit the qlog.map to show GW,88 (GW being the mnemonic created for GasWizard) or you could add the line: CO1,88,352,S32,4,8,0,-1 GW,88,352,S32,4,8,0,-1 -- which would map the GasWizard data from QLOG to WellWizard in both locations of CO and GW.

1.13.4 Troubleshooting
1. Where is the Triggers file, don't I need to edit it to lag my data. No, when using the Interface the WellWizard system does absolutely no data manipulation. All data manipulation is done on the QLOG side. No triggers, no wits, no nothing other then WWInterface. 2. I am trying to Wits some data into another port, but my data won't show?
<2006> <Datalog Technology Inc.>

79

BSD Software Manual

When using the Interface, everything else is invalid. First WWwits wouldn't be normally running, and even if you did start it, remember that the WW is set to Interface which mirrors the QLOG database completely, so any changes introduced by Wits would be ignored. Wits all data in QLOG. 3. OK, I edited the qlog.map but my data is not showing up? Did you restart the Interface command on QLOG? Also check in the qlog.map for conflicting lines where a mnemonic is assigned to more than one channel. The higher index value will overwrite the lower value. i.e. MR,280.... should be the data you think your receiving but further along in the qlog.map file is MR,328... which means the value from channel 280 will be replaced with the data from channel 328. 4. I start the Interface but nothing seems to be happening? Almost a guarantee that in QLOG you have the options on, if so remove them, or better yet remove them permanently in /config under init.cti.8. If this isn't your problem, I suggest starting a qterm on the QLOG side and qtalk on the WW side and try to send data back and forth. If you can, your comm. line is ok, if not, check to make sure line is nulled. If garbage comes across check your stty settings as they should be 38400,n,8, and 1. Once confirmed cabling is good, restart the interface and run the command on WW "WWtestint -Wx". You can also keep the qtalk open and you should see "8uxx" coming through every second. 5. My data in WellWizard just disappeared? First remember that WellWizard mirrors the QLOG database. Is the QLOG database there? If you remove the QLOG database, make sure to shut off the interface, or else the QLOG says I have no database, and WW will remove its own database in response. 6. My readings in WW are wrong? Again, first check that they are correct in QLOG. If so, check qlog.map to make sure that they are coming across in the right units and no special code has been applied to them such as the TQI example in the notes above. Did you remember to restart the interface? 7. Ok, lost the QLOG database, had to recover and now I am starting a new well. Restarted the Interface and depth is there, but where is my time database? In this case, the time database isn't being sent over, because it's historical and Interface is more concerned about having the depth database in place. I would suggest letting the Interface sync over until all depth records are caught up and then issue the command WWTSync & from QLOG. This will start at record 1 of the QLOG database and start to transfer it across. Remember this can take a long time depending on the size of the time database, and you will have to have the time database handy and unzipped. WWTSync r=xxxx & will start the time sync from the specified database record number. Use to fill in blanks. Once the Time is synced up be sure to slay it on the QLOG side as it will continue to run and chew up resources. 8. OK, everything is setup, everything is coming across, still no data in WW. Ok, check the registry to make sure the interface is using the same port as your using. By default this is port four, so all if using a system other than a Micro-Wizard check that your connected to port four, and the registry is set to port four. May be that the previous job someone reset the registry to default to another port. See notes on the registry for instructions on how to check. 9. My time in the Wellwizard is wrong, QLOG is ok though. The time is taken from QLOG so in reality the QLOG time is wrong. You may have issued the date command to correct your time but your timezone is wrong causing the WW to pick up the wrong time. Fix your /config/timezone file and then adjust your date(time) and then 'rtc at +s". Restart the interface and your time will be correct now.

<2006> <Datalog Technology Inc.>

WellWizard Software Manual

80

1.14

WellWizard Client Software Installation


The first step is to download the software from the WellWizard server to the client's computer using the clients Browser (IE,Netscape,Mozilla) and connecting to the IP of the server which is generally 192.168.10.10. This will bring up the servers apache webserver page and allow for direct download of the latest client installed on the system. 1. Enter in IP of the server (default is 192.168.10.10). If you have proper networking setup you will be presented with the main webpage.

2. Click on Download WellWizard Client. The next page will ask you if you are using Internet Explorer or Netscape. If you wish to keep a copy of the installation file choose Netscape as this will allow you to specify the location of the setup file to be saved. IE install will automatically start the installation. For further details refer to the User manual of the WellWizard client.

1.14.1 Modifying WellWizard from Default to Driller's Terminal


The WellWizard client installs as either a Desktop or Touchscreen mode. The Touchscreen mode removes many of the menu options and installs several controls optimized for Touchscreens and the Drillers requirements. To change an installation it is easier to modify the windows registry. Please take all precaution when working in the registry. HKEY_CURRENT_USER\Software\Datalog there is a key called DrillersTerminal. By default this key value is 0. To make it a touch screen modify this key and remove the first 00 and replace with 10. Save and exit and restart your client. It will now be in Drillers Mode.

1.14.2 EDR Version Client


The EDR version of the client to be turned on must have the following key added to the registry.

<2006> <Datalog Technology Inc.>

81

BSD Software Manual

[/System/Config/] "SystemMode",ASC,NONE,"EDR"

1.15

Security
The Server is protected by passwords. Not every user needs to know these passwords. Remember by giving access to an user you are giving them access to the very core of your well. So please restrict these following passwords to need to know only. Server Password default is root/root. Type passwd to change the password. I recommend all passwords be changed for all servers. Use the same password for all and rotate them on a regular basis. If a password is forgotten then you will not gain access, to correc this refer to Lost Root Password. Sensor Config Password - this is defaulted to some different gibberish value on server initialization. To set this password ssh into the server and type "WWpassword". This password will then be used in the client software in the configuration page to gain access. User login password - User logins are controlled either by the WellWizard Control Panel or the backside (WWsetup). Each user must have a unique login and password to access the wells. The servers enforce one-shot passwords which means no two users may connect with the same login.

<2006> <Datalog Technology Inc.>

Advanced Commands

82

2
2.1

Advanced Commands
client_tcp
The client_tcp command is basically a version of the WellWizard client that runs command line on the server side. It is often used for troubleshooting the system or for setting variables that the official client hasn't yet implemented. Be sure to do a "man client_tcp" for further examples and other optional flags not covered here. One of the most powerful features of client_tcp is that in fact it does behave like a WellWizard client would and will connect via the same process to the server. This is useful is you are having issues with the clients connecting as you can make a direct connection yourself and eliminate the server from being the issue. Also using it's get_set option we are able to set functions that are not yet released into the client. This is often the case with special request items or bug workarounds. Refer to the examples for more ideas on how you could use this program. Please note that you do need an available user to use client_tcp.

2.1.1

Time and Depth Queries


Time & Depth Database queries: client_tcp -cdb_query -d"lwid type start end channel_mnemonic_1 ..." where: lwid is the logical well id type is table type ( 0 for depth, 1 for time) start is the start of the query (-1 for start of dbase) end is the end of the query (-1 for end of dbase) channel_mnemonic_N are the mnemonics of the desired channels NOTE that start and end times are specified the same way the 'date' command is used. Namely: [[[[CC]YY]MM]DD]HHMM[.SS] Time database query to well 2 on the local system: client_tcp -cdb_query -d"2 1 -1 -1 TIME SPPI" Time database query from 10am to 1pm today on well 7 on 207.153.34.111: client_tcp -cdb_query -d"7 1 1000 1300 TIME DMEA" 207.153.34.111 Depth database query from 1000 to 2000 meters on well 1 of localhost: client_tcp -cdb_query -d"1 0 1000.0 2000.0 DMEA MG" Time Queries using both local time and GMT time: GMT using the -g option client_tcp -cdb_query -d"33 1 0000 -1 TIME" 192.168.3.34 (get all time database entries for current day) client_tcp -cdb_query -d"33 1 0000 -1 TIME" -g 192.168.3.34 (get all time database entries for current day in UTC). When exporting data using the above examples you can also dictate the unit that the channel is presented in. For example, to get Methane in ppm you would specify "METH:1" as the mnemonic. The unit ids are the same as is used for WITS configuration.

<2006> <Datalog Technology Inc.>

83

BSD Software Manual

2.1.2

Realtime Viewing
Realtime data of a well: client_tcp -cdata_test -d"lwid channel_mnemonic_1 channel_mnemonic_2 ..." where: lwid is the logical well id channel_mnemonic_N are the mnemonics of the desired channels eg. client_tcp -cdata_test -d"3 TIME DMEA DGM MG" When viewing data using the above examples you can also dictate the unit that the channel is presented in. For example, to get Methane in ppm you would specify "METH:1" as the mnemonic. The unit ids are the same as is used for WITS configuration.

2.1.3

Setting Variables
This function of client_tcp is used to set variables for channels. client_tcp -cget_set -d"lwid mnemonicI" where: lwid is the logical well id channel_mnemonic_N are the mnemonics of the desired channels Example below is showing the setting of Hookload (HKLI) on well #2. Answer the questions as they are presented for the particular channel to set the variables. # client_tcp -cget_set -d"2 HKLI" Hostname:localhost, Port:4999 Username: xxxxxx Password: ******* Server's version: 5.1.7 Mon Mar 13 09:43:20 MST 2006 wid:2 cmd:'GET HKLI' msgw.get_reply.result: -1 Command 'GET HKLI' SUCCEEDED got resource id#30 (size: 28) Hookload resource for 'GET HKLI' Block Weight: 0.000000 Hook Weight: -9999.000000 Kelly Weight: 0.000000 Enter New Block Weight(press Enter to skip):

2.2

WWpad
The WWpad command is useful for creating or removing time or depth entries from the database. This command should be used with caution as incorrect usage could cause you to lose all data points. The idea behind it is that if a section of data is missed either by the system not being present during that time or some sort of trouble on site causing depth or time data points to be missing you can't import the missing data into the system as no records exist. WWpad helps in creating the missing records to allow a full log to be presented. It also has the option to remove records for sidetrack purposes or any other reason required. CREATING RECORDS:

<2006> <Datalog Technology Inc.>

Advanced Commands

84

command: WWpad This will present you with a list of available wells. Pick the correct well to insert records into. It will then ask you if you wish to pad depth or time. If you pick depth you will then be asked if padding in meters or feet. Then you pick your range. For time use the right/left arrow keys to switch between year,day,month, hour.... and up/down to make changes. Hit enter to enter the second point. \ Interval point - for depth this value is normally the interval of the existing data. For time it is normally 30seconds. Any chosen variable though can be entered. The system will then tell you what it will do, padding the records from point X to Y using interval Z. Do you agree? If you say yes it will generate the records. The system is smart enough that if a records already exists it will skip over it. But with depth be warned that real intervals are never 100,101 they are 100.03228 and 101.334 and if you pad over this interval you will have records at both 100 and 100.03228 which will look very spiky on the client. REMOVING RECORDS: WWpad -P This function will do the opposite of WWpad, it completely removes all records from point x to y. It is used the same as WWpad, you pick your well, prune depth or time and the upper/lower boudaries. Unlike WWpad though there is no interval - everything between the two points will be removed. This feature is quite useful for sidetracks in that you can remove a previously recorded section and replace with a new one. This feature is permanent so be sure to have a WWdbm backup of the well prior to proceeding.

2.3

WWsim
WWsim is a useful command used to simulate desired data. I highly suggest reading the man pages on this command for detailed explanation. Basic usage: WWsim -Wlwid -dmnenomic:variable with lwid being the logical well id of the well you wish to simulate data to mnenmoic being the server side mnenomic for the desired channel to simulate (SPM1 for pump stroke 1) variable being the variable that you wish the value to present. This command does not allow for a range of variable but only static values to be simulated. For a range please contact your local Datalog Tech support line for information on using WWdac_sim. WWsim -W1 -dSPM1:100 This command would simulate SPM1 to show 100 on well 1 rather than no incoming data. WWsim -W1 -dSPM1:100 -dSPM2:10 This command would simulate SPM1 to 100 and SPM2 to 10 on one command line.

<2006> <Datalog Technology Inc.>

85

BSD Software Manual

2.4

Registry
The WellWizard registry holds all the relevant data on your system and must be protected at all costs. If your registry is lost you will lose easy access to your data. Your wells will appear to not even exist, even though the directories and files remain on the Harddrives. The registry system backs itself up every night at 12:01am to a file called /ww/backup/backup.reg. This happens every night at midnight, so be sure to have your system turned off at midnight if you have just lost your reg, because it will overwrite the previous backup with the corrupted copy. The registry now is partially self-healing and will fix itself automatically if powered off incorrectly. If you find that you have no data available on a reboot be sure to type WWboot and verify that WWreg is running. If so and under advisement type the following command: reg c import /ww/backup/backup.reg, followed by WWboot Now if you do need to do any work in the registry type the following command first: reg c export /root//filename. You then have a current backup of your system settings. You can then also do a less on this filename and browse through the settings without actually going into the registry. A SAFETY PRECAUTION. Command: reg Important usages: ls will list the directory of the current position, ls l will list the attached keys, cd will change directory in the reg, once executed use the up/down keys to navigate up/down the current thread, use the left/right arrow keys to jump across threads. Registry Commands: cd dir [sub] cp src dst export filename import filename ln src link md dir mk key [options] rd dir rm entry ls [options] [entry ...] find entry ... pwd event [event] ... ? or help exit or x Change Directory Copy Entry Export current directory to specified file Import from specified file Create Symbolic Link Make Directory (mkdir also works) Make Key Remove Directory (rmdir also works) Remove Entry List Directory Find Entry Print Working Directory Generate Registry Event(s) This Help Exit

The Make Key command options are as follows: mk name [type] [class] [value] Output may be redirected to a file. The List Directory options are as follows: -R Recurse -L Resolve symbolic links rather than showing them -a List entries whose name begins with a period -o same as -l -l List with data information Go ahead and type this command (but only on a non-used server, so if you screw up, no one is going to care) Once in you will see
<2006> <Datalog Technology Inc.>

Advanced Commands

86

/> ---- this is the root of the registry, type ls here and you will see the following list drop down: /Wells/ /System/ /Systems/ When in the reg command, x will always back you out to the command line. Now the reg system is controlled by WWsetup. You will notice that the reg follows the WWsetup structure so if you have read your notes and understand the setup of the server and the mirror section this will all make good sense to you. /Wells/ are the wells you create. /System/ is the Server Setup section of WWsetup. /Systems/ is the system management section, which of course is the mirror handling section.

2.4.1

Example usage of Registry


An example usage of the Registry system would be modifying the registry to go into EDR mode from normal mode. This can be accomplished two different ways. Example 1. enter the registry by typing "reg" 1. #reg 2. />cd --- type cd to change directory (we are going for the System directory)

At this point you need to envision the directory structure as a tree. The up/down arrows will take you up and down through the directory levels. The right/left arrow keys will take you back and forth through the file level. 3. Using the up/down keys navigate until you get to "CD: //System". 4. Use the right/left keys to now navigate to the next directory level "CD: /System/." (one right arrow to .) 5. Use the down keys to now navigate to "CD: /System/Config 6. Now one more right arrow to navigate into the Config directory "CD: /System/Config/." 7. Hit <enter> to exit cd mode 8. type "ls -l" to see the current directories and files at this point in the registry 9. Let's make the SystemMode entry if it doesn't exist --"mk SystemMode" If you make any typos you can't correct them. Finish through and then simply "rm typo" and remove the typo and repeat. 10. 11. 12. 13. Following the prompts, we wish to use "string" <enter> Value should be "EDR" Type "ls -l" and you should see /System/Config/SystemMode(string): EDR Exit out of the registry by typing "x"

Example 2. Doing the same option via a file given to you. This example is used to demonstrate the use of the export/import function of the registry. As we mentioned earlier we do not want users messing around in the registry system as you could potentially lose all the data if you weren't sure on what you were doing. This registry system is no different than the Windows Registry - it holds all the keys. As such if a user required to do the change in Example 1 it would be better for a senior tech to send
<2006> <Datalog Technology Inc.>

87

BSD Software Manual

them a file to be imported rather than manipulating the registry directly. 1. Senior tech does the change above to his test system 2. "reg -c export /tmp/x" 3. Edit /tmp/x to remove everything but ## WellWizard Registry File # [/System/Config/] "SystemMode",ASC,NONE,"EDR" #<<<FINSIHED>>> 4. tar the file up and send to user 5. user untar's file and types "reg -c import /tmp/x" and the file will import

[/System/Config/] "SystemMode",ASC,NONE,"EDR"

<2006> <Datalog Technology Inc.>

Networking

88

Networking
This section covers the basics to get you up and running with your server on the network. The information presented here is a reference only and for real understanding of how networking happens refer to the many resources available online or at your local bookstores.

3.1

Terminology
TCP/IP Packets Routing Communications between TCP/IP networks. A router is a special host. A router doesn't care what data TCP/IP packets contain. A router only needs to know how to pass packets along to the next router. Each host needs a "default route". If the destination IP is not a part of the local network, the packet is passed to the router. Data is encapsulated/enclosed in a special data carrier packet. The packet has a source IP address and a destination IP address. The packet also contains status information and a checksum. A packet will always contain 20 to 24 bytes for addressing information. It may contain from 1 to 1478 bytes of data.

The Stack Ports A port is used as a secondary address on a host. A particular port is usually assigned to a particular function. In WellWizard, the port is 4999, 5001 and 80. Analogy: call an office number (IP address) and enter an extension (port). Port numbers can range from 1 to 65535. Port numbers below 1024 are usually reserved for "well-known services". All TCP/IP aware hosts have a TCP/IP stack. The stack routes data to and from applications on the host. Socket (OpenBSD4), WINSOCK (Windows). Applications push data on to the stack and pull data off of the stack.

Services Port numbers are assigned to services. The assignments are known to all systems. ftp (port 21), telnet (port 23), smtp (sendmail) (port 25), web (80). WellWizard uses 4999 which is only known to Datalog.

Client/Server Any application on a host which provides a service is a server. Any application on a host which requests access to a service is a client.

<2006> <Datalog Technology Inc.>

89

BSD Software Manual

A server "listens" to a port, waiting for a client to request service. The WellWizard client on Windows host requests service from the WellWizard server on a OpenBSD4 host.

Daemons Usually distinguished by a "d" at the end of the name, e.g. sshd, ftpd, dhcpd, named.. They sit quietly in the background, listening on a port. When a "master" daemon receives a request, it starts another copy of itself to handle the service request, then goes back to listening. It can also be started by inetd, which listens on many ports and starts daemons to handle client/server communications with each client, depending on the port. ssh client connects to sshd. ftp client connects to ftpd. "named" is the DNS name server. "dhcpd" is the dynamic IP address assignment.

Firewall A special router that inspects TCP/IP packets as they pass through. It will block packets that are destined for forbidden IP addresses or ports, or that contain forbidden contents. Firewalls must permit port 80, 4999, or 5001 to pass for a client behind the firewall to connect to a WW server. Security Standard UNIX username and password. /etc/passwd contains the user account information. /etc/smaster.passwd contains the user password. DO NOT edit the password or shadow files, because if the root password is corrupted, no logins to fix it will be possible. Standard utilities (telnet, ftp, web) are plain text. "Sniffers" look at network traffic and can extract the usernames and passwords. Proper passwords are more of a concern when a system is live on the Internet. Ping Sends a "test packet" to a destination IP. A response indicates a valid connection exists. Missing reply packets indicate a slow link. No response indicates that there is a complete failure of any connection.

traceroute (tracert in Windows) Sends ping packets and determines all routers that handle the packets on the way to the selected destination IP. Very useful for determining where a link has failed. Important files /etc/wwnet.conf - contains definition of the network IP's (shortcut instead of using hostname.xxx) /etc/mygate - the gateway address used by the system.

<2006> <Datalog Technology Inc.>

Networking

90

3.2

BSD Networking
The OpenBSD system is built to be anything we need it to be and this includes a wide range of networking options in order to connect to other systems. For the majority of users being able to configure your IP and gateway will be the extent of your networking requirements. For others being able to build routes, troubles connections will require a much higher level of knowledge.

3.2.1

Setting IP
The IP for your system is assigned through two files: /etc/wwnet.conf -- sets the IP of your system /etc/mygate -- set the gateway value of your system. The file wwnet.conf was specifically written for the WellWizard system to make it easy for all users to change their IP's. Technically in the system every network card installed will be found on boot-up and are assigned an acronym. Generally in the Shuttle systems this will rl0. Intel cards are normally fxp0, dlink cards are eth0.... The file that these are associated with is hostname.xxx or in the examples above hostname.rl0, hostname.fxp0. For the general user to determine which hostname file to generate and then to put the correct values into it was to much so wwnet.conf is used as a standard way to address this problem. A default wwnet.conf contains two lines: inet 192.168.10.10 inet alias 207.216.230.180 This sets the primary IP to 192.168.10.10 with a secondary IP to 207.216.230.180. This means that this server will respond to requests on both IP's and can find addresses on both IP's that are local. To edit your IP simply nano wwnet.conf and change the IP values to the desired values. For these changes to take place you must reboot your server. To change the IP on the fly please refer to ifconfig.

3.2.2

Setting Gateway
To set the gateway of your system edit the file /etc/mygate to be the correct value. This file should only contain one line with your gateway -- NO #'s allowed, no keeping the old gateway -- one line and one line only.

3.2.3

netstat
The "Netstat" command symbolically displays the contents of various network-related data structures -as from the man page on netstat. netstat command is useful to the WellWizard tech to verify that many of the networking options configured are actually inplace and working. As always do a "man netstat" to see the many different options and feel free to mix and match to find what you need to know. Basic netstat commands: netstat -r | less - shows gateway address (see route for more details)

<2006> <Datalog Technology Inc.>

91

BSD Software Manual

netstat -nI de0 -- shows all current connections for network device de0

3.2.4

ifconfig
Definition of ifconfig taken from BSD man pages: "The ifconfig utility is used to assign an address to a network interface and/or configure network interface parameters. ifconfig must be used at boot-time to define the network address of each interface present on a machine; it may also be used at a later time to redefine an interface's address or other operating parameters. " Uses as they apply to the WellWizard BSD platform. "ifconfig -a" This command displays all the currently available network devices and their attributes. In the screen shot below (taken from my local demo box) you will see five different devices listed. lo0 -- this is your localhost, loopback. It is assigned the IP address of 127.0.0.1 and is used for internal networking. de0 -- on my box the network device is detected as de0. Other units might show up as rl0, fxp0, en1.... depends on the driver best suited for your device. This will generally be the network device of interest as this is the one used to connect to the outside world. In my example below my device (de0) is assigned the IP 192.168.10.9. This IP is acquired from wwnet.conf which writes to the file hostname.de0. pflog0 - part of the internal networking. Packet Filter logging used by tcpdump or trafshow pfsync0 - like above part of the internal packet filtering logging. enc0 -- encrypted traffic, not used

For more detailed info on your network device instead of using -a flag (for all) specify your device. In this example I issued the command ifconfig de0 and the details were returned. You can see the difference in output and many important missing pieces of info that weren't available in the ifconfig -a option. Here we can see the MAC address, the media type, and more importantly any alias IP assigned to this device. In this case de0 has been assigned the primary IP of 192.168.10.9 and a secondary alias of 207.216.230.180. This server will respond to either IP. Please note that all 207.216.230 addresses will be routed locally but all external IP will be routed through the primary IP's gateway. See Routing for more details on how to arrange this.

<2006> <Datalog Technology Inc.>

Networking

92

Other uses of ifconfig: ifconfig de0 down -- will take network device de0 down. Doing a ifconfig de0 after issuing this command will show the flag UP not being present. ifconfig de0 up -- brings the network device back online. ifconfig de0 inet 192.168.1.6 -- this will change the primary IP of de0 to 192.168.1.6 ifconfig de0 inet alias 192.168.2.6 -- assigns an alias IP to the device de0 ifconfig de0 inet 192.168.1.22 netmask 255.255.255.248 - assigns IP to de0 and sets the subnet to 255.255.255.248 ifconfig de0 inet delete 192.168.1.6 -- will remove the assigned IP 192.168.1.6 from the NIC NOTE: all of these ifconfig changes will only be active until the system is reset. At that time the changes will be lost. To make them permanent you must edit the proper files, wwnet.conf or the hostname.xxx.

3.2.5

route
In order to see what your gateway is or your route for any assigned network device the command to use is route "man route". route show: In this picture we see the returned route table (in fact there is a lot more but only the top half is of interest, did a route show | less). The gateway address is listed on the first line directly under the word "Gateway". All other connections to the system are also listed and either show the MAC address if local or which link it's going through if not local.

Normal operations would call for a single gateway address to be assigned to the network device in use through the file /etc/mygate. If a secondary gateway was required or if you needed to modify the gateway on the fly you could do the following. route add 192.168.3.4 192.168.3.3
<2006> <Datalog Technology Inc.>

---- I added the IP 192.168.3.4 (see ifconfig) and then told the

93

BSD Software Manual

system to route out to 192.168.3.3 for this address

route add 192.168.3 192.168.3.3 --- all 192.168.3.x addresses should use 192.168.3.3 as a gateway. Another use of route is to find out specifically which address is the gateway for any of your assigned IP's. route get address, ie route get 192.168.3.4 will return below indicating the mask used and the interface used to route out.

3.3

Secure Telnet / Putty


Unlike the older QNX4 system OpenBSD has a focus on security and has included many alternatives to the familiar telnet. Telnet in itself is unsecure as all communications are out in the open in plain text and can be read by anyone sniffing the line, and this includes reading the password. As an alternative OpenBSD uses ssh for it's telnet like access. TELNET though is available for accessing the OpenBSD systems but it is still recommended to get into the habit of using ssh. Windows machines by default do not have ssh capable programs such as it does with TELNET. As a result we have to install a third-party program to handle ssh connections. The program that is used by DATALOG is PuTTY. This program is freely available from: http://www.chiark.greenend.org.uk/~sgtatham/putty/ What you need to install is the PuTTY.exe program. Once installed you can create a shortcut to the program on your desktop or taskbar and launch from there. Usage

<2006> <Datalog Technology Inc.>

Networking

94

When you first fire up PuTTY you get a screen like below. On a fresh install you will not see any saved sessions other than default. To the left is a bunch of options that don't require touching so leave them alone as the defaults are fine. In the Host Name (or IP address) field you can enter the IP of your server such as 207.216.230.180. The Port for ssh is 22, unlike 23 for telnet. Once you have entered in the IP address click on the saved sessions and give it a name to identify the connection either the IP again or a word to identify and then click on Save. By doing so the next time you fire up PuTTY you can simply double click on the saved session and it will connect for you without entering in the IP over and over.

Once you double-click your session or click on Open it will connect just like TELNET would and present you with the following screen (much smaller than default):

Enter your login name as provided by your Technical Support Team:

<2006> <Datalog Technology Inc.>

95

BSD Software Manual

Your password will not echo back to you, hit enter when complete. (note you can use backspace)

Terminal Type -- Terminal Type refers to the style of emulation that your session will use. Xterm, vt100, vt220 are all acceptable styles. ANSI can also be used but any attempts to edit any files will fail (so avoid using). If you hit enter at this point you will now be logged in. If you type anything else (such as a command) it will fail and ask you what type of terminal you want. At this point you can't use the default so use VT220 in this case. You are now logged in.

3.3.1

SSH
If you are going from server to server you can use ssh to securely connect between the two: ssh xxx.xxx.xxx.xxx ssh user@xxx.xxx.xxx.xxx The two examples above show the two main methods of using ssh. "ssh xxx.xxx.xxx.xxx" will connect you to the remote system using the same username that you are currently on the initiating system. So if you were logged in as root on one system and then did ssh xxx.xxx.xxx.xxx it would connect you as root to the other system. If you needed to connect as a different user then type "ssh johndoe@xxx.xxx.xxx.xxx" and you will connect as user johndoe on the other system.

3.3.2

.ssh
If you try to make a connection from one server to another and you get a message refusing you due to a conflicting entry in the known_hosts file you can remove the old entry prior to making a connection. This is a security layer that protects the system from connecting to another system that doesn't appear
<2006> <Datalog Technology Inc.>

Networking

96

to be correct. The concern here is that someone is now sitting in the middle and reading your traffic. If you know this isn't the case and you can trust the other system go ahead and remove the offending entry and it will work after that. You will have this problem if you switch server drives but assign the same IP. nano /root/.ssh/known_hosts Remove the line with the IP you are trying to connect to and save.

3.4

Secure FTP / WinSCP


WinSCP is the program that we use to transfer files between Windows and Servers. FTP is frowned upon as it transfers all data including passwords in plain text available to anyone who wishes to view. WinSCP uses secure ssh connections to encrypt all data making for a far superiour method of file transfer. It also has the added bonus of using PORT 22 like PuTTY so only one port needs to be opened remotely giving us both ssh and SCP access, unlike port 23 and 21 needed for telnet/ftp. To get the software: http://winscp.sourceforge.net/eng/index.php Download the lastest version available and install. To run simply click on the WinSCP link created. In the Host Name field enter either the IP of your server or the name of the server (most cases wellsite servers only use IP). Port number should be left as 22. You must enter in the UserName and then at this point you can click on Login. If you wish to save your session do so now before entering in the Password, do not save the session with the password --- this is a security breach. Always uses SFTP (allow SCP fallback) and click on Login. If you have saved the session (without the password) double-click on the session to login.

If this is the first time you have connected to this computer via WinSCP you will be asked if you trust the host, if you do hit YES if not NO.

<2006> <Datalog Technology Inc.>

97

BSD Software Manual

You will now be prompted to enter a password for this session, fill it in and hit ok.

Once you connect you are presented with two sides, your local system on the left and the remote system on the right. You can drag files back and forth, move from directory to directory just like you would with Windows Explorer.

<2006> <Datalog Technology Inc.>

Networking

98

3.4.1

SCP
SCP is used to transfer files between two systems much like ssh. This uses port 22 as does ssh. Assuming you are logged in currently to System A: To transfer file to System B - "scp file johndoe@xxx.xxx.xxx.xxx:/directory_for_file_to_go_to" To transfer file from System B - "scp johndoe@xxx.xxx.xxx.xxx:/directory_of_file_to_get/file /destination_directory_on_local/filename" (note you can also use '.' for local directory)

3.4.2

.ssh
If you try to make a connection from one server to another and you get a message refusing you due to a conflicting entry in the known_hosts file you can remove the old entry prior to making a connection. This is a security layer that protects the system from connecting to another system that doesn't appear to be correct. The concern here is that someone is now sitting in the middle and reading your traffic. If you know this isn't the case and you can trust the other system go ahead and remove the offending entry and it will work after that. You will have this problem if you switch server drives but assign the same IP.

<2006> <Datalog Technology Inc.>

99

BSD Software Manual

nano /root/.ssh/known_hosts Remove the line with the IP you are trying to connect to and save.

3.5

Test Network Connections with Ping


To test network connections, use ping. This will show whether your computer can communicate with the server or with other clients. e.g. ping ping ping ping ping 192.168.10.10 - to see if you have communication with the server.

-t query repeatedly until interrupted (instead of just 4 times) -control c to stop -a resolve addresses to host name -w time out interval in milliseconds t 192.168.10.10

When preforming ping tests be sure to try to ping other systems as well to help narrow down who may be having a problem and who isn't.

3.6

Test to Isolate Network


If the network is erratically hanging up or crashing, there may be a bad network card somewhere on the network. To test for this, hook all the computers up to the network and monitor the "out of windows" collision errors. ssh 192.168.10.10 root root netinfo 1 On the list of recorded parameters, find the "out of windows" collision errors, and make a record of the current number. Wait for about 30 minutes, then recheck this number If the number has increased, then there is a problem with a network card. If the number increases, you have to find the computer with the faulty network card. This can only be done by removing one computer from the network and recording the "out of windows" errors, as described above. When this is done, and no errors are recorded, you have found the problem computer with the faulty network card.

3.7

No Network Communication
If no network communication can be obtained, do the following checks: Integrity of network cables Recheck the network connectors Power supply to network hub Are the hub lights on; are they correct? A bad computer on the network may be isolated by the hub 99% of the time, but the other 1%, it might bring the network down.
<2006> <Datalog Technology Inc.>

Networking

100

Cable testers are not always accurate, so recheck with another method. Make sure terminators (50ohm) and T's are on the ends of the 10base2 cable.

<2006> <Datalog Technology Inc.>

101

BSD Software Manual

4
4.1

APPENDIX
Standard Units

4.2

Parameter Definitions
Name Description Set Action
<2006> <Datalog Technology Inc.>

APPENDIX

102

Pit Parameters Accumulated Actual Fill tripping. Active PVT The sum of all fills since it was reset. This needs to be reset before Zero The sum of all pit volume in the active system Define the pits in the active system Active PVT G/L The change in PVT since it was zeroed Zeros the PVT G/L Active PVT G/L Rate The flow rate at which the mud is flowing into the pits or (negative) leaving the pits in the active system. None Actual Fill The amount of taken from the trip tank None Pit 0 to 15 Pit levels 0 to 15. The pit number may change to a label to describe the pit. I.e. Settling Tank None PVT 2, 3 and 4 The WellWizard has 4 independent pit volume totals Define the pits in each system Active PVT G/L 2, 3 and 4 The change in PVT since it was zeroed in each system Zero the PVT G/L Active PVT G/L rate 2,3, and 4 The flow rate at which the mud is flowing into the pits or (negative) leaving the pits in each system. None Trip Tank None Drilling Parameters Bit Drilled Time Bit Reamed Time Bit Total Time enter the number of hours Casing Pressure Hookload Lag Time Line Wear The number of hours the bit has spent on bottom None The number of hours the bit has spent reaming None The number of hours the bit has spent in the hole

Zero and

The measured pressure on the casing manifold. The measured force on the drilling line. The amount of time from the bit to surface. The amount of work undergone by the drilling line since last reset.

Rig Status The calculated status of the bit. If the bit depth equals the hole depth then status equals on bottom. RPM The measured speed of the rotary table. Slip Status The current slip status. The slip status is used to determine if the bit is moving when the blocks are moving so it is paramount that the slip status is correct, otherwise the depth will not operate correctly. Standpipe Pressure The pressure measured by the sensor on the standpipe. Torque Torque as measured directly from a hydraulic sender unit or as calculated from the current drawn. Torque Electric The torque measured by the amount of current drawn by the main rotary drive electric motor. Reported in amps. WOB The weight on bit Miscellaneous Day Number Fuel Flow Time Time Zone Depth Parameters Bit Depth Hole Depth
<2006> <Datalog Technology Inc.>

The number of days elapsed since spud The total fuel flow from the fuel tanks The current time of the server The time zone of the server The current depth of the end of the drill pipe. The measured depth of the well-bore

103

BSD Software Manual

Hook Position Lag Depth ROP ROP average User ROP Pump Parameter Flow G/L Flow In Flow Out Flow Out Percent flow line. Pump Output 1,2,3 is the flow rate from each pump SPM 1,2,3 Strokes 1,2,3 Total Strokes Debug Parameters

The position of the hook from the drill floor to the bottom of the hook The lag depth currently at surface. The instantaneous rate of penetration The rate of penetration over the last metre The rate of penetration per user defined interval The change in flow rate since last reset The calculated flow rate entering the well The measured flow rate out of the well The measured flow rate expressed as a percentage of fullness of the The WellWizard can monitor 3 pumps (1,2, and 3). The Pump Output The rate at which each pump is stroking The number of strokes for each pump since reset The total number of strokes from all pumps since last reset Used for testing purposes

4.3

nano
Introduction ************ GNU `nano' is a small and friendly text editor. Besides basic text editing, `nano' offers many extra features like an interactive search and replace, goto line number, auto-indentation, feature toggles, internationalization support, and filename tab completion. Overview ======== `nano' [GNU long option] [option] +LINE [ FILE ... ]

The original goal for `nano' was a complete bug-for-bug compatible emulation of Pico, but consistency is now a slightly higher priority. There is a flag to implement (nearly) complete Pico emulation, (option -p or GNU long option -pico). This can also be toggled from within `nano' by typing Meta-P. *Note Pico Compatibility::, for more info. Email bug reports to <nano@nano-editor.org>. Command Line Options ==================== `nano' takes the following options from the command line: `-T [num, --tabsize=[num]' Set the displayed tab length to [num] columns. `-R, --regexp' Turns on regular expression search and search/replace. `-V, --version'
<2006> <Datalog Technology Inc.>

APPENDIX

104

Print the version number and copyright and quit. `-c, --const' Constantly display the cursor posititon and line number on the statusbar. `-h, --help' Print the usage and exit. `-i, --autoindent' Automatically indent new lines to the same number of spaces and tabs as the previous line. `-k, --cut' Makes ^K cut from the current cursor position to the end of the current line. `-l, --nofollow' When writing files, if the given file is a symbolic link it is removed and a new file is created. `-m, --mouse' Enables the use of the mouse to select text (currently only useful for running under the X window system). `-p, --pico' Emulate Pico as closely as possible, sacrificing consistency for correct emulation. *Note Pico Compatibility::, for more info. `-r [#cols], --fill=[#cols].' Wrap lines at column #cols. screen, less eight. By default this is the width of the

`-s [prog], --speller=[prog]' Invoke [prog] as the spell checker. By default, `nano' uses its own interactive spell checker that requires the `spell' program be installed on your system. `-t, --tempfile' Do not ask whether or not to save the current contents of the file when exiting, assume yes. This is most useful when using `nano' as the composer of a mailer program. `-x, --nohelp' In Expert Mode, the Shortcut Lists will not appear at the bottom of the screen. This affects the location of the statusbar as well, as in Expert Mode it is located at the very bottom of the editor. Note: When accesing the help system, Expert Mode is temporarily disabled to display the help system navigation keys. `-v, --view' Do not allow the contents of the file to be altered. Note that this flag should NOT be used in place of correct file permissions to implement a read-only file. `-w, --nowrap' Do not wrap long lines at any length. This option overrides any value for -r.
<2006> <Datalog Technology Inc.>

105

BSD Software Manual

`-z, --suspend' Enable suspend ability of `nano' using the system's suspend keystroke (usually ^Z). `+LINE' Start at line number LINE instead of the default of line 1. Editor Basics ************* Entering Text ============= All key sequences in `nano' are entered using the keyboard. `nano' is a "modeless" editor, all keys with the exception of Control and Meta key sequences will enter text into the file being edited. Special Functions ================= Special functions use the Control key (displayed in the help and shotcut lists as ^) or the Meta key (displayed as M). * Control key sequences are entered by holding down the Control key and pressing the desired letter. * Meta key sequences can be entered in a number of possible ways: Pressing the Escape key, then releasing it and pressing the desired key, or holding down the Alt key while pressing the desired key. This varies from keyboard to keyboard, and certain commercial operating systems "swallow" the Alt key so that it never reaches the application. If your operating system does this, you should use the Escape key to generate Meta key sequences. The Titlebar ============ The titlebar is the line displayed at the top of the editor. There are three sections: left, center and right. The section on the left displays the version of `nano' being used. The center section displays the current file name, or "New Buffer" if the file has not yet been named. The section on the right will display "Modified" if the file has been modified since it ws last saved or opened. Special modes: When nano is in "File browser" mode, the center section will display the current directory instead of the filename. *Note The File Browser::. The Statusbar ============= The statusbar is located three lines from the bottom of the screen (or the bottom line in Expert Mode. *Note Expert Mode::, for more info. The Statusbar shows important and informational messages. Any error messages that occur from using the editor will appear on the statusbar. Any questions that are asked of the user will be asked on the statusbar, and any user input (serch strings, file names, etc) will be input on the statusbar.

<2006> <Datalog Technology Inc.>

APPENDIX

106

Shortcut Lists ============== The Shorcut Lists are the two lines at the bottom of the screen which show some of the more commonly used functions in the editor. The exact functions which are displayed depend on whether Pico Compatibility Mode mode is enabled. *Note Pico Compatibility::, for more info. Online Help *********** The online help system in `nano' is available by pressing ^G. It is fairly self explanatory, documenting the various parts of the editor and available keystrokes. Navigation is via the ^Y (Page Up) and ^V (Page Down) keys. ^X exits the help system. Feature Toggles *************** Toggles allow you to change certain aspects of the editor that would normally be done via command line flags. They are invoked via certain Meta key sequenced. *Note Special Functions::, for more info. The following toggles are available: `Constant Update Toggle (Meta-C)' toggles the -c (-const) command line flag. `Regular Expressions Toggle (Meta-E)' toggles the -R (-regexp) command line flag. `AutoIndent Toggle (Meta-I)' toggles the -i (-autoindent) command line flag. `Cut To End Toggle (Meta-K)' toggles the -k (-cut) command line flag. `Cut To End Toggle (Meta-M)' toggles the -m (-mouse) command line flag. `Pico Mode Toggle (Meta-P)' toggles the -p (-pico) command line flag. Compatibility::, for more info. `AutoWrap Toggle (Meta-W)' toggles the -w (-nowrap) command line flag. `Expert/Nohelp Toggle (Meta-X)' toggles the -x (-nohelp) command line flag. `Suspend Toggle (Meta-Z)' toggles the -z (-suspend) command line flag. The File Browser **************** When reading or writilg files, pressing ^T will invoke the file browser. Here, one can navigate directories in a graphical manner in order to find the desired file.
<2006> <Datalog Technology Inc.>

*Note Pico

107

BSD Software Manual

Basic movement in the file browser is accomplished with he arrow keys and page up/down. The behavior of the enter (or 's') key varies by what is currently selected. If the currently selected object is a directory, the file browser will enter and display the contects of the directory. If the object is a file, this filename and path are copied to the statusbar and the file browser is exited. Pico Compatibility ****************** Nano does not completely emulate Pico by default. The following differences apply to the default mode and Pico Compatibility mode: `Displayed Shortcuts' By default, the following shortcuts are displayed in the Shortcut Lists: ^G ^O ^\ ^Y ^K ^C ^X ^R ^W ^V ^U ^T Related functions are listed above or below each other by default. The Justify function is not listed, instead the "Replace" function is displayed. Also, he "Read File" and "WriteOut" functions are aligned for consistency. In Pico Compatibility mode, the default Pico shortcuts are displayed: ^G ^O ^R ^Y ^K ^C ^X ^J ^W ^V ^U ^T `Previous String Text' By default, previously entered string for a function (search string, file name) will be placed on the statusbar, and is editable. This is done so there is consistency across all functions. For example: even if there is a previous replace string, it can always be deleted if one wishes to perform an empty string replace. In Pico Compatibility Mode, the previously entered text in a search or replace will appear in brackets, and is not editable. It is not a simple matter to do an empty string replace when a previous replace string exists, for example. When writing a file, the previous filename will be displayed in the editable text portion of the editor. `Interactive Replace and Spell Checker' It is worth noting that the `nano' replace function is interactive, i.e. it does not stop after one search string is found and automatically replace it. The `nano' implementation will stop at each search string found and query whether to replace this instance or not. The internal spell checker operates similarly. Note that these is no way to force these functions to behave in the Pico fashion.

<2006> <Datalog Technology Inc.>

APPENDIX

108

4.4

Wits records

For more information on the fields inside the records refer to the website http://home.sprynet.com/~carob/.

<2006> <Datalog Technology Inc.>