Professional Documents
Culture Documents
MANUAL
TABLE OF CONTENTS
2
XPIO Major Parts
3
4
Operating
• Power Consumption - 12W with single gauge
• Operating Temperature with LCD -14 to 150 degrees F (-10 to 65 C). NOTE: the
LCD back-light is used as a heater to keep the LCD from freezing.
• Operating Temperature without LCD -40 to 150 degrees F (-40 to 65 C)
NOTE: Do not store the XPIO in freezing temperatures as it may damage the LCD
display.
Power - DC Version
The XPIO DC Version's power supply has the following power specs:
• 9 to 36VDC input
• +12VDC output
• 1.25A output maximum
The nominal power consumption of the XPIO DC Version (single gauge) is 12W.
Inputs / Outputs
Analog Inputs
The XPIO comes standard with five (5) 4-20mA inputs that are sampled by the CPU
using a 12-bit A/D. The external 4-20mA transmitting devices can have their own power,
or you can use the auxiliary +24VDC power supply located on the Analog card to power
them (see below).
These inputs can be used for any current loop device and the measured data can be
displayed, logged to memory, accessed via the Modbus, and even output on 4-20mA
channel.
5
Auxiliary +24VDC power supply.
6
Analog Outputs
The XPIO also comes standard with four (4) 4-20mA outputs, each controlled using a 16-
bit D/A. The XPIO powers these outputs using a 24VDC supply. Please do not put more
than 500 ohms per channel total load on these outputs.
Relays
There are two (2) relays that the XPIO can control based on downhole pressure, XPIO
internal temperature, or any sampled Analog Input channel. They are accessed via the
Powerplane terminal and both contacts are normally open (when XPIO power is removed
the relay switch contacts are open). The contacts are rated:
0.6 A @ 125VAC
0.6 A @ 110VDC
2.0 A @ 30VDC
Serial Ports
The XPIO comes standard with 3 serial ports:
1. RS-232 Computer port which is dedicated for use by the Windows Xpio2k PC
Program. This port is located on the left side of the CPU card and is marked
COMPUTER (it has the 3-wire harness that connects to the XPIO enclosure port).
2. RS-232 Port which can be used for Modbus, Modem, Xpio2kPC Program, PPP
Outgoing Connection, Pass through, and Printer port. This port is located on the
right side of the CPU card and is marked MBUS/MODEM.
3. RS-485 two-wire port located on the far left side of the Powerplane's terminal
block and is labeled -485 (NOTE: a screw that attaches the Powerplane to the sub-
pan partially obscures this text).
Ethernet Port
The Mezzanine card, which is optional equipment, adds a 10-Megabit 10-Base-T port.
This port can be used for Modbus over IP, FTP file access (the XPIO acts as the FTP file
server), or a high-speed port for the Xpio2k Windows PC Program.
7
Mezzanine Card
The Mezzanine Card is optional and the XPIO does not always come equipped with it.
The Mezzanine Card is installed on top of the CPU and adds Compact Flash storage and
an Ethernet 10-Base-T interface. See below.
8
Ethernet
You can connect the XPIO's Ethernet port to a hub (using a straight-through patch cord)
or directly to your PC's Ethernet port (using a cross-over patch cord).
There are two LED lights on the Mezzanine card for Ethernet port:
LINK (Red LED to the left) - this lights when an Ethernet cable is connected (correctly)
ACT (Green LED to the right) - this blinks when there is activity on the Ethernet bus.
9
The Ethernet port can be used for any of the following communications:
Compact Flash
There are a variety of card sizes made by various manufacturers that can be used. Make
sure to initialize the card with a FAT file system (not FAT32) on your PC before
insertion into the Mezzanine card.
The data stored on the Compact Flash card can be read on your PC using any card
reading device. (SanDisk makes a USB version that is affordable and works well).
1. AC Version
2. DC Version
The AC version contains an AC-to-DC power supply that allows you to connect to a 100-
250VAC source, and that generates +12VDC (3A) for the electronics within.
The AC Version has a three (3) terminal power connection as shown below:
10
L = Live
N = Neutral
Notice that the Live terminal is fused (black fuse holder). There is a 2A/250V fuse
within.
The DC Version also has a three (3) terminal power connection which is the same as the
above, however, the terminals are labelled:
+ = Positive supply
The positive terminal is fused (black fuse holder). There is a 2A/250V fuse within.
11
Serial Connection
The XPIO communicates with the Windows PC Xpio2k Program via a standard serial
port. The program needs a serial device driver installed.
The cable is only needed when configuring / monitoring / dumping data using your PC
and does not have to persist during normal operation of the unit.
Connect the Female end to your PC; connect the Male end to the XPIO (see below).
12
Gauge Connection - Standard XPIO
13
14
4-20mA Input Connections
Above shows the connection for Channel 1 of the 4-20mA inputs. The upper row
contains the 4-20mA input signal (i.e. positive signal) and the lower contains the signal
return (i.e. ground).
Below shows a diagram for using the Auxiliary +24VDC power supply of the XPIO to
power an external 4-20mA device (e.g. Surface Pressure Transducer) and inputting the
signal into Channel 1. It assumes that the Analog card's analog inputs are not isolated
(refer here).
NOTE: the below back-plane image has been visually rotated 180 degrees.
15
4-20mA Output Connections
Above shows the connection for Channel 1 of the 4-20mA outputs. The upper row
contains the 4-20mA output signal (i.e. positive signal) and the lower contains the signal
return (i.e. ground).
RS-485 Connection
Dallas Semiconductor have published a paper AN763.pdf worth reading that assists in
eliminating RS-485 bus problems.
Requirements
The following are the requirements to run the XPIO2k PC Program:
• Pentium class PC
• Windows 2000/XP is preferred, but 98 and NT4.0 SP6 will work also.
• Administrator privileges during installation
• Standard RS-232 Serial Port (can use PCMCIA card for a laptop, however, at this
time USB adapters will not work).
• 50Meg of disk space
• Display 600x800 (small fonts) or better
• 256 colors or better
16
Serial Device Driver
The XPIO2k PC program requires that a special serial port device driver is installed. This
is typically done during the program installation, but can also be done manually. NOTE:
you must have Administrator privileges to perform this operation.
The purpose of the driver is to provide special serial protocol features that are required
for advanced coms with the XPIOs.
NOTE: This driver does not interfere with serial communications under Windows
2000/XP with other devices (i.e. non-XPIOs).
Nilsen has supporting drivers for Windows 95/98/ME/NT4.0. These are considered
obsolete. The installation does include them, however.
Follow the below instructions to install the serial driver manually (an XP example shown
below, although Windows 2000 is very similar):
17
1. Go to control panel. Click on the icon.
3. Under Device Manager, open the Ports (COM & LPT) section (see below).
18
4. Double-click on the port you wish to install the device driver on (in the above
example, ports COM1, COM2, and COM8 already have the driver installed; in this
example we select COM4).
19
5. Click on Update Driver on the Driver tab (see above).
20
6. Select Advanced installation (see above) and click on Next > .
21
7. Select Don't Search and click Next > (see above).
22
10. Browse to the directory where the XPIO2k PC program was installed (typically
C:\Xpio2k) and select the Nilsenports.inf file.
23
11. Select the NC 9Bit Communications Port driver. The driver has not been signed by
Microsoft; however, Continue Anyway.
The first screen that appears is below which only stays active for a few seconds.
24
Most important to note are the ComPorts Available for Loading Program check boxes.
A box which has a check-mark, regardless of black or gray color, means that the serial
port is present within the system.
An empty checkbox means that the XPIO2k PC program did NOT detect the presence of
that port (COM9 and COM10 are not present in the above system).
Ports that are checked and not grayed out can be used by the Xpio2k PC Program to
communicate with XPIOs.
Once the splash screen closes (top of this help page), the following screen opens:
25
Enter your name and location and click button. The XPIO2k PC program will
start searching for the XPIO unit on all available serial ports (from COM1 to COM10) at
all supported baud rates. NOTE: this may take a little while the first time; however, once
contact is established, the XPIO2k PC Program will remember the port number for future
uses.
26
Program has found XPIO
a. Baudrate (1200, 2400, 4800, 7200, 9600, 14400, 19200, 28800, 38400, 57600, or
115200)
c. Data bits (7 or 8)
d. Stop bits (1 or 2)
3. The units of measure are Psia and Fahrenheit when in English Mode; Kpa and
Centigrade when in Metric mode.
4. The bytes are sent MSB first, then LSB (also referred to as Motorola format)
5. The average slave response time is fifty (50) milliseconds; worst case should be
no longer than one-hundred (100) milliseconds.
27
The following shows an example command to read four of the currently defined registers,
assuming a slave address of 01H:
Request:
<01H><03H><00H><01H><00H><04H><CRCmsb><CRClsb>
Response:
<01H><03H><08H><12H><FCH><00H><95H><00H><00H><00H><00H><CRCms
b><CRClsb>
28
40010 Pressure, Gauge #5
The units of measure are Psi and Fahrenheit when in English Mode; Kpa and Centigrade
when in Metric mode.
29
40109 Temperature, Gauge #2 – Upper two bytes of IEEE float
30
40132 Pressure, Gauge #6 – Lower two bytes of IEEE float
40137 Etc.
<01H><03H><00H><64H><00H><06H><CRCmsb><CRClsb>
Example Response:
<01H><03H><08H><45H><D9H><DAH><F6H><43H><79H><83H><0AH><3BH><
79H><2FH><98H><CRCmsb><CRClsb>
In the message above, the pressure returned was 6971.37, the Temperature was 249.51,
and the time was 14:03:04 Aug 14, 2001..
40304 Channel 1 Present Current - Units are mA (Valid for all XPIO Analog Card types)
31
40305 Channel 2 Present Current - Units are mA (Valid for DT and QT Analog Cards)
40306 Channel 3 Present Current - Units are mA (Valid for QT Analog Cards)
40307 Channel 4 Present Current - Units are mA (Valid for QT Analog Cards)
40413 Etc.
32
Modbus 04 Command – Input Registers
The 4-20mA input channels are also available via the Modbus:
30003 Reserved
30004 Reserved
30005 Reserved
30006 Reserved
33
30020 4-20mA Input Channel #7 – Lower two bytes of IEEE float
30025 4-20mA Input Channel #10 – Upper two bytes of IEEE float
30026 4-20mA Input Channel #10 – Lower two bytes of IEEE float
30027 4-20mA Input Channel #11 – Upper two bytes of IEEE float
30028 4-20mA Input Channel #11 – Lower two bytes of IEEE float
30029 4-20mA Input Channel #12 – Upper two bytes of IEEE float
30030 4-20mA Input Channel #12 – Lower two bytes of IEEE float
34
Mezzanine Compact Flash
Removing Compact Flash
To avoid data loss and potential FAT file-system corruption, please following the below
when removing a card:
3. Click on the Remove CFlash button. The below screen will appear indicating it is safe
to remove the Compact Flash Card.
35
4. Disconnect power, remove the Compact Flash card, insert a new card, and re-apply
power.
The data stored on the Compact Flash card can be read on your PC using any card
reading device. (SanDisk makes a USB version that is affordable and works well).
When the XPIO has a mezzanine card installed, it acts as an FTP file server and you can
retrieve the files located on the Compact Flash using the simple ftp.exe program that
comes with Windows:
Type:
ftp 192.168.1.99
at the prompt and use xpio as the user name (there is no password).
36
Use the dir command to show what files are present:
Use mget *.* to retrieve all files from the Compact Flash card to your local hardrive:
You can also use your normal Internet Browser (for example Internet Explorer) to
retrieve the files.
37
Then, just drag the files to your desktop.
38
Undoubtedly the busiest Tab within the XPIO2k PC Program, it contains the following
functions:
XPIO System
System Units: Select English for Pressure in psia and Temperature in degrees F; Metric
for kPa and degrees C; and Mixed for psia and degrees C.
Printer Update: Enter how often (in minutes) to send data out a serial ports which are
configured as a Printers.
Memory Update: Enter how often (in seconds) that gauge data (and analog inputs, if
configured) should be logged to memory. When a Mezzanine card is present, this is how
often data is stored to the Compact Flash card. When there isn't a Mezzanine card, it is
how often data is stored to the CPU card's on-board INTEL Flash chip. P/T values from
all configured gauges are logged each time. The logging of data occurs asynchronous to
the decoding. Hence, if the logging rate is faster than the gauge's update rate then
duplicate data points will be logged.
Log Status?: If "Yes" is selected then the XPIO's 16-bit status word is logged into to
memory whenever it changes. This can be helpful in determining status events seen by
the XPIO that come and go.
Comments: Enter an ASCII string as desired. This will be stored to non-volatile memory
within the XPIO.
KTABLE Last Edited: This shows the time and date of the most recent change of the
KTABLE.
Boot P/N: The XPIO contains a separate embedded program that allows new firmware to
be downloaded. This is the partnumber (and revision) of that boot code. It is not
necessary to update boot code (which cannot be done in the field, anyway). This data is
purely informational.
39
Optional Equipment
There are at present two optionally installed pieces of equipment for the XPIO: the
LCD/Knob assembly and the Mezzanine card. The XPIO auto-detects the presence of
either displays which one is present.
Log 4-20mA Channels with Gauge Data: When checked, the Analog Inputs (i.e. 4-
20mA channels) are logged into the same file as the gauge data. If not checked, then the
Analog inputs are logged into a separate file.
CFlash Size: This is size of the Compact Flash card presently inserted (if any) into the
Mezzanine card. It is followed by how much space is not used (megabytes).
CFlash Type: This is the manufacturer of the card installed (if any).
Config-On-Disk
In some cases it may be desirable to configure several XPIOs the exact same way. Use
the Save and Load functions to accomplish this.
Various Buttons
40
When Mezzanine is NOT installed, click here to dump
the on-board INTEL Flash on the CPU card.
Normally, the XPIO doggedly stores data to the Flash (on-board or Compact Flash) at the
rate specified in Memory Update. The dynamic logging rate function allows the XPIO to
change rates based on one or more measured items in order to save memory space.
For example, if a Gauge's pressure stays within a specified range, it may be desirable to
log data slowly, but should it move outside this range to increase the logging rate.
There are two distinct evaluation methods used - the Delta Pressure method and the
"normal" ON/OFF Limit method. Each is described below.
Evaluate: This drop-down menu shows parameters available for controlling the dynamic
logging rates. The evaluation priority is top-down, that is, the XPIO starts at the top of
the list to determine if the logging rate needs to change and if a change is required, stops
processing the list. If no changes are required the XPIO logs data at the normal Memory
Update rate.
41
The drop-down menu's content is based on how many gauges you have configured.
Therefore, configure your gauges first before attempting to use this feature.
Notice that the last entry is suffixed by - DeltaPres. This selection changes the behavior
of the evaluation as described below under Delta Pressure Dynamic Logging.
If the parameter selected becomes greater than the ON Limit specified then the memory
logging rate is set to the dynamic rate specified. Once the evaluation has caused the
logging rate to change, the parameter selected must become less than the OFF Limit in
order for other lower priority rates to be considered (or the normal rate to resume).
or
42
If the parameter selected becomes less than the ON Limit specified then the memory
logging rate is set to the dynamic rate specified. Once the evaluation has caused the
logging rate to change, the parameter selected must become greater than the OFF Limit
in order for other lower priority rates to be considered (or the normal rate to resume).
Gauge P/T data gets recorded at least once at its original Memory Update rate. The next
time the XPIO goes to log data, the newly sampled pressure reading from the selected
gauge minus the previously stored sample is checked against the value entered in the
Delta-P field. If the absolute difference is greater or equal to the Delta-P value, then the
memory logging rate is set to the dynamic rate specified. This newly set logging rate will
remain active for at least the amount of time entered in the LogHrs field (logging hours).
The delta pressure evaluation continues during the dynamic logging rate period, and each
time the Delta P evaluation criteria is met, the dynamically set logging rate continues for
at least the amount of time entered in the LogHrs field (logging hours).
Once the LogHrs time period expires (i.e. with no Delta P triggers), lower priority
dynamic rates are evaluated (or the normal rate is resumed).
Diagnostics
This section shows the internal XPIO interrupt counters, which can aid in diagnosing
localized XPIO hardware problems.
Serial Interrupts
When this display is active, this counter should be always increasing. The counter is
counting the number of characters the Xpio2k.exe program is sending to the XPIO over
43
the present serial connection. A failure in this counter would likely cause failure to
communicate altogether.
QSPI Interrupts
The XPIO uses an internal data bus to transfer data between the processor (CPU) and the
analog-to-digital converter (A/D). The A/D is used to decode SENTRY tool information.
This counter is used to count data transfers between these two devices and it should
always be incrementing at rate of 1000 per second. If this counter has stopped, a likely
cause is a defective Analog Card.
PITR Interrupts
When this display is active, this counter should be always increasing. The counter is
counting the number of internal timer interrupts (to the CPU). Since this timer is used for
serial communications, a failure in this counter would likely cause failure to
communicate altogether.
DUART Interrupts
This counter counts characters sent and received over the spare RS-232 and the RS-485
channels. If there are no coms on these ports, then the counter will not be incrementing.
Use this to debug ModBus communications.
Pushbutton Interrupts
The XPIO, when equipped with a Display, has a knob on the front-panel which, when
pressed, will increment this counter (by one or more). If pressing the knob fails to
increment this counter, then the knob itself is likely to be defective (could be the harness,
or the CPU card, also).
44
Tool Timer Interrupts
The XPIO, when equipped with a Display, has a knob on the front-panel which, when
turned more than one click, will increment both counters (by one or more). If turning the
knob fails to increment these counters (and subsequently fail to operate the LCD display),
then the knob itself is likely to be defective (could be the harness, or the CPU card, also).
CS5501 Interrupts
This is the 16-bit A/D used to measure current draw during all tool operations. If this
counter has stopped, the likely cause is a defective Analog Card.
Character Interrupts
Packet Interrupts
Bad Messages
The XPIO PC program communicates with the XPIO using a multi-drop protocol. This
protocol contains a message checksum. If the XPIO detects a multi-drop message with a
checksum error, this counter is incremented. (Multi-drop messages can be received on
any of the three serial ports, if so configured. (refer to Serial Port Configuration)).
MAX1270_1 Interrupts
45
The Extended IO card and the Triwell Card use a 12-bit multi-input A/D rather than the
single input 16-bit CS5501 A/D. Only when you have either of these cards installed
should this counter increment. If so, and this counter has stopped, the likely cause is a
defective Analog Card.
MAX1270_2 Interrupts
The Extended IO card has two of these 12-bit multi-input A/Ds. Only when you have an
Extended IO card installed should this counter increment. If so, and this counter has
stopped, the likely cause is a defective Analog Card.
Flash Manufacturer ID: XPIO units have only been shipped with INTEL parts (0xB0).
Flash Device ID: The above example shows use of the 28F160S which is the chip
partnumber.
46
Serial / Ethernet Tab
This port is located on the right side of the CPU card and is accessed using a DB-9pin
male cable. If you are connecting to a computer, a straight-through cable is required.
47
RS-485 Port (on backplane)
Port Use
The following list shows which functions the port can be used for.
48
Printer Port: The XPIO sends numerous ASCII characters that comprise a P/T reading out
the port every 'n' minutes as specified by the Printer Update rate entered on the Memory
Operations / Basic Configuration Tab.
Modbus: The XPIO will respond as a slave (RTU) to Modbus messages at the defined
address. The map is defined.
Multidrop: The XPIO's normal Computer port protocol is Multidrop. If you set the ports
as shown above, the XPIO will respond to the XPIO2k PC Program on any of the ports.
(This is what we use to verify the operation of all ports here at Nilsen during hardware
testing).
Modem: This allows you to attach a standard Hayes compatible modem to the port. Your
PC can then dial out using the XPIO2k PC program to this modem and the XPIO2k
program will then work over a telephone line.
Pass-Through: This is a special mode that requires the presence of a Mezzanine card to
correctly operate. It is used in conjunction with Modbus only. In this mode, Modbus over
IP messages come in to the XPIO via the Ethernet port. The XPIO will check the address
field of the message against that set in the Modbus Address field (see below). If the
address does NOT match the below, it will pass the Modbus message out the Pass-
Through port and await a response. If a response is received, the XPIO re-transmits it
out the Ethernet port. Thus, te XPIO acts as a Modbus IP-to-serial bridge.
PPP Port: This mode allows the XPIO to connect to a Hayes compatible modem via the
serial port, and once a day the XPIO will dial out, establish a PPP connection, log into an
FTP Server, and dump the INTEL memory data (not Compact Flash) to this server. The
following fields are pertinent:
49
Phone# - standard Hayes compatible dial string where comma is a pause.
Dial-in-time - the time of day that the XPIO should make the upload.
PPP User - the user name that will be presented to the contacted server (at the dialed
phone number)
FTP Site - the address of the FTP server where the data will be deposited
FTP User - the user name that will be presented to the contacted FTP server
Password - the password used to log into the contacted FTP server.
Filename - the name to create for the uploaded file. Use forward slash for directories (i.e.
web/ is the directory specified above and the filename is xpio.dmp
Timeout(sec) - there are several steps required before the upload of data even starts. This
is the time out for each of the steps.
The modem's power can be controlled via one of the XPIO relays. This is configured
under the Input / Output Configuration Tab in the Alarm section.
50
The field located under the Timeout shows progress of the upload. Here are the steps that
are shown as they progress:
• Idle
• Power on Modem
• Set Ip Address
• Set Handshaking
• Dialing Modem. Please wait....
• Connected
• Connected - Logon PPP
• DNS Lookup of FTP Site
• Logon to FTP Site
• Transfer File
• Transfer Complete!
Ethernet Configuration
This only applies if a Mezzanine card is installed. The MAC address is a 12-digit
hexadecimal number in the format: xx-xx-xx-xx-xx-xx. The default MAC address for the
XPIO is 00-C0-F0-59-BA-22. If you are going to have more than one XPIO on a local
area network, you need to make each unit's MAC address unique. Simply change the last
byte of the address (22).
51
Check the button for the Obtain an IP address automatically to make the XPIO ask the
local DHCP server for the relevant IP data.
Or, enter the static IP address and mask. Obtain these values from your IT person.
The above example shows what we use here at Nilsen. On our local are network, all
addresses start with 192.168.1 and all nodes (PCs and other devices) have a unique last
number (this XPIO uses 99). Our subnet mask is always 255.255.255.0. The Gateway is
not necessary to enter.
The Modbus IP port should always be 502 unless your IT person tells you otherwise. We
use port number 53456 for running the XPIO2k PC Program over IP. Check with your IT
person if this port is acceptable. You'll need to remember each of these port numbers to
later make contact with the XPIO via IP.
Once configured and connected you can use the Microsoft Windows utility ping.exe to
check the XPIO Ethernet connection:
52
Let's say you just want to connect your laptop to an XPIO that has the above address
(192.168.1.99). Use a cross-over patch cord to connect your PC's Ethernet port directly to
the XPIO's (or use a normal patch cord and connect your PC and the XPIO to a hub).
Make the IP address of your PC 192.168.1.1 and the subnet mask 255.255.255.0 (all
other IP fields at this point don't matter).
XPIO2k over IP
To run the XPIO2k PC Program and connect to the XPIO over IP:
53
2. Click the button:
3. Enter the XPIO's IP Address (192.168.1.99) and the port number (53456) which was
configured on the Serial / Ethernet page.
54
. Click on the button.
5. The XPIO2k PC Program should connect with the XPIO via the Ethernet port (make
sure to disconnect the serial cable before running or else the XPIO will be found there
first).
The XPIO2k program, for the most part, runs as if it was connected via a serial cable,
although the primary purpose of this feature is to dump data high speed.
55