Teflon is a registered trademark of E.I. DuPont de Nemours & Co., Inc.
Kel-F is a registered trademark of the 3M Company
CONTRADâ is a registered trademark of Decon Laboratories, Inc.
Microsoft Windowsâ, Windows 3.1â, Windows 95â, and Windows NTâ are registered trademarks of Microsoft
Corporation.
Product Warranty Infor mation
Cavro warrants that instruments manufactured and sold by Cavro will be free from defects in materials and
workmanship for a period of twelve (12) months from the date of shipment to customer. Cavro’s liability for the
breach of the foregoing warranty is limited to the repair or replacement of the products found to be other than
warranted. Such products will be accepted for return only if customer returns them to Cavro’s factory or repair depot
within thirty (30) days from the time of discovery of the alleged defect, and prior to return, obtains a return
authorization number from Cavro, provides Cavro with the serial number of each instrument to be returned, and
prepays freight charges to the factory or a designated Cavro repair depot. No warranty is expressed or implied for:
• Breakage• Syringes
• Maltreatment• Syringe seals
• Unauthorized service• Tubing and tubing connections
• Units not returned in original or adequate packaging• Cavro Valves
• Units which are “life-cycled”• Cavro Probes
The foregoing warranties and limitations are customer’s exclusive remedies and are in lieu of all other warranties,
express or implied, including without limitation any warranty of merchantability or fitness for a particular purpose.
Product Documentation Warranty Information
The infor mation contained in thi s document is subject to change wit hout notice. Cavro makes no warranty of any
kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness
for a particular purpose.
Cavro shall not be liable for errors contained in this document or for incidental or consequential damages in
connection with the furnishing, performance, or use of this material.
Contents ii
Page 3
Contents
1 GETTING STARTED ............................................................................. 1-1
Figure 5-2. Syringe Seal Assembly..........................................................................................................5-6
Figure 5-3. XP 3000 Valve Replacement (3-Port Valve Shown).............................................................. 5-7
Figure B-1. Plunger Force Curve .................................................................................................................1
Contents vi
Page 7
1 - Getting Started
Congratulations on your purchase of the Model XP 3000 Modular Digital Pump from
Cavro Scientific Instruments, Inc.
The XP 3000 is a compact OEM pump module designed to handle precision liquid
handling applications in the 5 µL to 5 mL range. It is controlled by an external computer
or microprocessor and automates pipetting, diluting, and d ispensing functions.
This chapter includes these topics:
• Regulatory Considerations
• XP 3000 Features at-a-Glance
• Unpacking the XP 3000
• Functional Description of the XP 3000
• Tips for Setting Up the XP 3000
• Mating Connector Suppliers
• Power and Electrical Considerations
• Choosing a Power Supply
Regulatory Considerations
The XP 3000 is a general laboratory module. Since it is not a medical device, it is not
subject to FD A regulatory approval . The XP 3000 uses UL-approved components
wherever possible.
CE
Wherever possible, UL-approved components have been used in the design and
manufacturing of the XP 3000. As a module designed for incorporation into larger
systems which require independent testing and certification, the XP 3000 does not carry
its own CE mark. Compliance with EMC Directive 89/336 EEC may be inferred from
testing of the Cavro MSP 9000 Mini Sample Processor, including the XP 3000, which
meets all requirements of the EMC Directive.
Radio Interference
The XP 3000 generates, uses, and can radiate radio frequency energy which may cause
interference to radio and television communications. Follow standard good engineering
practices relating to radio frequency interference when integrating the XP 3000 into
electronic laboratory systems.
Getting Started 1-1
Page 8
XP 3000 Features at-a-Glance
The XP 3000 is a compact syringe pump that is designed for OEM precision liquid
handling applications. It has the following standard features and functions:
• Small and lightweight
• Syringe sizes from 50 µL to 5 mL
• Accuracy < 1.0% at full stroke
• Precision ≤ 0.05% at full stroke
• Standard dispense/aspirate resolution of 3,000 steps
• Microstep dispense/aspirate resolution of 24,000 steps
• 3-port-, 3-port distribution-, and T- valves, or Y-block
• Borosilicate glass, Kel-F and Teflon fluid contact
• Optional RS-232/RS-485 or CAN/RS-485 interface
• Programmable plunger speeds from 1.2 sec/stroke to 20 min/stroke, with ramps
and on-the-fly speed changes
• Valve leak detection
• Rack and pinion drive with lost-step detection
• Manually movable syringe drive (power off)
• Pump diagnostics, self-test, and error reporting
• 5K programmable EEPROM
• Auxiliary inputs and outputs
• Operates using a single 24VDC power supply
Unpacking the XP 3000
To unpack the module, follow these steps:
1 Remove the pump module(s) and accessories from the shipping cartons.
2 Check the contents against the packing slip to make sure that all the components are
present.
ESD Considerations
The XP 3000 is an electronic device that is sensitive to electrostatic discharge (ESD).
Static discharge from clothing or other fixtures can damage these components. To
prevent premature failure of pump components, the XP 3000 should be handled using
good ESD practices. These include, but are not limited to:
• Using wrist or ankle straps
• ESD mats or worktables
• ESD wax on the floor
Prepare an ESD-free work area before the chassis is grounded.
Getting Started 1-2
Page 9
Functional Description of the XP 3000
The XP 3000 uses a stepper-motor driven syringe and valve design to aspirate and
dispense measured quantities of liquid. Both the syringe and the valve are replaceable.
Functional descriptions and illustrations of each major XP 3000 component are provided
in the sections that follow.
Figure 1-1. XP 3000 Modular Digital Pump
Getting Started 1-3
Page 10
Syringe and Syringe Drive
The syringe plunger is moved within the syringe barrel by a rack and pinion drive that
incorporates a 1.8° stepper motor and quadrature encoder to detect lost steps.
The syringe drive has a 30 mm travel length and resolution of 3000 steps (3000 or 24000
steps for microstep-enabled firmware). When power is not applied to the pump, the
syringe drive can be moved by pushing up or down firmly on the plunger holder
assembly. This facilitates syringe removal.
The base of the syringe plunger is held to the drive by a knurled screw. The top of the
syringe barrel attaches to the pump valve by a 1/4-28" fitting.
Figure 1-2 shows the components of a typical syringe.
Figure 1-2. Syringe Components
Syringes are available in these sizes: 50 µL, 100 µL, 250 µL, 500 mL, 1.0 mL, 2.5 mL,
and 5.0 mL. For ordering information, see Appendix A, “Ordering Information.”
Getting Started 1-4
Page 11
Valve and Valve Drive
The valve is made of a Kel-F body and Teflon plug. The plug rotates inside the valve
body to connect the syringe port to the various input and output ports. The valve is turned
by a 1.8° stepper motor that has an encoder coupled to it for positioning feedback. A
small circuit board is located under the valve drive. This board contains the optical sensor
for the valve encoder and a home sensor for the syringe drive.
Figure 1-3 shows the components of a 3-port valve.
Figure 1-3. 3-Port Valve Components
The XP 3000 is available with the following valves:
•Three-port valve. This valve has an input port, output port, and syringe port. The
syringe port is a “common” port, which means it is always connected to one of the
other two ports. In the standard configuration, the ports are placed at 120° intervals
around the circular valve body.
•T-valve. This valve has an input port, output port, and syringe port. The syringe
port is a “common” port, which means it is always connected to one of the other
two ports. The input and output ports are designed to be easily flushed. The ports
are placed at 90° intervals from the syringe port.
•Three-port distribution valve. This valve has four ports. The common syringe port
can distribute fluid to an input port, an output port, and an extra port. The ports are
placed at 90° intervals around the circular valve body.
•Y-block. In place of the switchable valve, there is a Kel-F manifold with two ports
at 120° intervals from the syringe port for input and output. No valve motor is
included.
Printed Circuit Board
The printed circuit board (PCB) holds the microprocessor and circuitry to control the
syringe and valve drives. The accessible external face of the PCB provides connectors for
Getting Started 1-5
Page 12
electrical inputs and outputs, jumpers for configuring different modes of operation, and a
communications address switch. Jumpers can be added or removed to select the desired
communication mode. For more information on the modes of operations, see Chapter 3,
“Software Communication.”
Figure 1-4 shows the accessible components of the printed circuit board.
Figure 1-4. XP 3000 Printed Circuit Board External Connectors
For more information on the printed circuit board inputs/outputs, jumpers, the address
switch, and EPROM, see Chapter 2, “Hardware Setup.”
Communication Interfaces
Depending on the pump configuration, the XP 3000 can communicate singly or in a
multi-pump configuration through an RS-232, RS-485, or CAN (Controller Area
Network) interface. For RS-232 and RS-485, baud rates of 9600 and 38400 are
supported. For CAN, baud rates of 100K and 125K are supported.
For details on the communications interfaces, see Chapter 2, “Hardware Setup.”
Getting Started 1-6
Page 13
Multi-Pump Configurations
Up to fifteen XP 3000s can be connected together in a multi-pump configuration (also
called “daisy-chaining”). Within a multi-pump configuration, the RS-485
communications bus is required, although the first pump in the chain may receive either
RS-232 or RS-485 communications. For CAN communication, neither RS-232 or RS-485
is required. Each pump can be addressed separately from a single terminal via its unique
address, which is set using the address switch on the back panel of the pump. For more
information on setting addresses, see Chapter 2, “Hardware Setup.” For XPs with
microstep-enabled firmware, up to 16 XP 3000s can be connected together in a multipump configuration.
Valve Sensor
The XP 3000 sensor board includes a circuit that detects fluid leakage out the back of the
valve. The valve is made of a Kel-F body and a Teflon plug which rotates inside the
body. Over time, the plug wears, causing the valve to leak. The length of time before
leakage occurs depends on the type of fluids used, duty cycle of the pump, and
maintenance procedures. The circuit will detect conductive fluid (i.e., ionic solution). On
power-up, the valve leak detector is set to 0, which means it is disabled. The user sets the
sensitivity of the leak detector. If fluid is detected, the pump returns an error code.
Tips for Setting Up the XP 3000
For complete information on setting up the XP 3000, see Chapter 2, “Hardware Setup”
and Chapter 3, “Software Communication.”
To ensure proper operation, follow these tips:
G Always set up and mount the pump in an upright position. Failure to do so can cause
problems priming the system.
G Always run liquid through the syringe and valve when they ar e moving. Failure to do
so can damage the sealing surfaces.
G Before running any organic solve nts through the pump, se e Appendix D, “Che mical
Resistance Chart” for more information on solvents.
G Keep fingers out of the syringe slot while the pump is running. Failure to do so can
cause injury.
G Always power down the instrument when connecting or disconnecting pumps.
Getting Started 1-7
Page 14
Mating Connector Suppliers
Cavro does not sell mating connectors beyond those found on its evaluation power
supply. For customer convenience, a list of DB-15 mating connectors is provided below
(Table 1-1).
AMPPlastic housing with locks207908-4
CinchPlastic housing with locksSDH-15GL-CS
FujitsuMetal HousingFCN-770C015-C/E
FujitsuLocking post screwFCN-770A15
The XP 3000 is powered by a 24VDC line via the DB-15 connector. The 24VDC supply
for a single XP 3000 should meet the following basic requirements:
• Output voltage: 24V nominal
• Output voltage tolerance: ±10% minimum, ±5% preferred
• Output voltage regulation: ±1% with varying line (input voltage) and load
• Output current (not including loads other than a single pump):
– ≥ 1.5A for power supplies with minimal capacitance
– ≥ 850mA for power supplies with internal filter capacitance of at least 1000
µF per amp of output current
– ≥ 850mA for power supplies with external capacitance of at least 1000 µF per
amp of output current (aluminum electrolytic capacitor preferred)
• Output voltage ripple: 50mV rms maximum at full load
• Conformance to required safety and EMI/RFI specifications
• Voltage turn-on and turn-off overshoot: < 2 volts
• Minimum current load (for switchers): see “Switching Power Supplies” in this
chapter.
To meet the above basic requirements, the supply must incorporate either linear or
switching regulation; it must have adequate output filter capacitance.
A current-limiting power supply is recommended. Current limiting above 1.0A is
acceptable, assuming that no additional equipment is operated from the supply.
If the power supply uses current feedback, the time-current foldback point must be
sufficient to allow charging of a 470 µF capacitor without folding back. If an external
capacitor is used, exercise care to ensure that the supply always starts after foldback,
particularly at low AC line voltage.
Integrating a Power Supply
When a power supply is used to operate more than one XP 3000 or other device, it must
provide the total average current for all devices. The power supply and filter capacitance
together must satisfy the total peak input current for all devices.
For example, if a system incorporates six XP 3000s with other equipment that together
require 4 amps, a 10A power supply is satisfactory, provided the output filter capacitance
in the supply is at least 10,000 µF:
6 x 0.85 = 5.1A; +4A = 9.1A (choose a 10A power supply)
If the power supply filter capacitance is less than 10,000 µF, use either additional
external capacitance or a 15A power supply:
Getting Started 1-9
Page 16
6 x 1.5 = 9.0A; +4A = 13A (choose a 15A power supply)
In this example, it is assumed that all the pumps and other equipment will sometimes
operate simultaneously.
External equipment with inadequate bypass capacitance or that is inadequately sourced
for current can cause overvoltage transients and sags, and can create unnecessary ripple
current in the XP 3000. This can result in decreased component life. Additionally, it is
possible for a regulated power supply to become unstable with certain loads and oscillate
if adequate filter capacitance is not present. Some forms of oscillation can cause failures
in the XP 3000. These issues can be avoided by using a properly designed commercial
power supply.
Consideration should also be given to the wiring of the XP 3000 and any additional
devices. Wiring should be of sufficient gauge for the current, and as short as possible.
Unless otherwise required by safety requirements, the power supply lines to the XP 3000
should be 20AWG or heavier. Multiple XP 3000s can be daisy-chained, provided that the
wire size and the power supply are adequate for the total current. In the example of the
six XP 3000s above, use 18AWG wire if the units are daisy-chained. It is best if each pair
is twisted or dressed together from the device to the supply. For more information on
multi-pump cabling, see Chapter 2, “Hardware Setup.”
To control power to the XP 3000, switch power to the power supply. Do not use a relay
or switch contacts between the 24V supply and the XP 3000 (i.e., do not switch DC input
to the pump).
Switching Power Supplies
Be sure to check carefully the minimum load requirement of the power supply. Typically,
switching supplies have a minimum load requirement of up to 10% of the rated output
current.
NOTE The XP 3000 idle current is less than 10% of the full running current.
For example, in a system with multiple XP 3000s, a 24V 5-amp switcher with a
minimum load less that 500mA may not provide sufficient current when the XP 3000
motors are idle and all other devices are in a low current state. If the XP 3000 is the only
load on the 24V supply, a switcher should have a minimum load specification of 50mA
or less. An appropriate external power resistor can be used to ensure that the minimum
load is met.
Getting Started 1-10
Page 17
2 - Hardware Setup
This chapter includes these sections describing the various parts of hardware setup:
PowerXP 3000 Without Valve
CablingInstalling Components
Printed Circuit Board Settings and
Options
Power
The XP 3000 requires a 24VDC power supply with a current rating of at least 1.5A,
provided through a DB-15 connector. Cavro recommends using one power cable for
every two pumps to provide noise immunity; i.e., power should not be daisy-chained to
more than two pumps.
For complete information on choosing a power supply, see Chapter 1, “Getting Started.”
Mounting the XP 3000
Hardware Setup 2-1
Page 18
Cabling
A single cable supplies both power and communications to each XP 3000. (Power is
described in the “Power” section in this chapter.)
Set a unique address to identify each pump module. For more information, see “Address
Switch Settings” in this chapter; see also Chapter 3, “Software Communication.”
Table 2-1. DB-15 Connector Pin Assignments
PinFunctionRemarks
124VDC
2RS-232 TxD lineOutput data
3RS-232 RxD lineInput data
4Unused
5CAN high signal li ne
6CAN low signal line
7Auxiliary input #1TTL level
8Auxiliary input #2TTL level
9GroundPower and logic
10GroundPower and logic
11RS-485 A line
12RS-485 B line
13Auxiliary output #1TTL level
14Auxiliary output #2TTL level
15Auxiliary output #3TTL level
Hardware Setup 2-2
Page 19
Figure 2-1 shows the pin positions of the DB-15 connector on the printed circuit board.
This is a male connector that requires a female connector on the mating cable.
Figure 2-1. DB-15 Connector Pins
Communication Interfaces
The computer or controller communicates with the XP 3000 through an RS-485 interface,
RS-232 interface, or CAN (Controller Area Network) interface. The RS-232 interface
automatically converts the protocol to RS-485 for the benefit of any other devices which
may be connected to the XP 3000’s RS-485 communications bus (this constitutes a so
called “multi-drop” device configuration).
NOTE The RS-232 interface does not support hardware handshaking and requires
only three lines: RXD, TXD, and Signal Ground.
When using a multi-drop arrangement, up to 15 pumps can be addressed by the controller
on the same communications bus (up to 16 pumps for microstep-enabled firmware). Take
special care to ensure that the RS-485 A and B lines are not reversed. Special
consideration must be given to the position of jumpers on JP2. These jumpers switch
termination resistors into the RS-485 A and B line circuits, thereby dampening the signal
at the ends of the RS-485 chain. This prevents echoing of the signal back to the listeners
on the chain. Multi-drop configurations require jumpers in both positions of JP2 for the
first and last pump in the RS-485 chain (i.e., the ends of the chain). Single pump
configurations (i.e., only one pump communicating with a controller) always require that
jumpers be installed on JP2.
Hardware Setup 2-3
Page 20
Figure 2-2 shows the termination jumpers on the printed circuit board.
Figure 2-2. Termination Jumpers
NOTE Pumps are shipped with the RS-485 termination jumper installed on JP2.
Please remove the jumpers if they are not needed.
When communicating with the pumps via RS-232, one pump in the chain must be
configured for RS-232 communication. This pump receives the RS-232 signal from the
PC or controller and converts it to RS-485, then passes the RS-485 signal to all other
pumps in the chain.
Refer to the cabling illustrations on the following pages. These illustrations show the
multi-pump cabling for RS-232, RS-485, and CAN connections, respectively. Also
shown is the external termination scheme for the RS-485 chain. This scheme can be used
if the terminators are installed in the system instead of on the pump.
The CAN interface is a two-wire serial system. The bus is driven differentially in a
manner similar to RS-485. The major difference is in the protocol. The CAN protocol is
designed to allow any device on the bus to send a message at any time. This is unlike
other two-wire interfaces in which the slave devices can only transmit in response to a
query. Using the CAN interface, the pump can send a message to inform the master that it
has completed its task. Anti-collision detection (which reconciles problems that occur
when two devices talk at once) is carried out by the CAN controller hardware.
NOTE Always power off pumps before connecting to or disconnecting from the bus.
For XP 3000s with microstep-enabled firmware, please refer to “Configuration
Jumpers (JP1) for Microstep-Enabled Firmware” and “Termination Jumpers
(JP4) for Microstep-Enabled Firmware,” later in this chapter.
Hardware Setup 2-4
Page 21
RS-232 CABLING
nc
Figure 2-3. RS-232 Multi-Pump Cabling
Hardware Setup 2-5
Page 22
RS-485 CABLING
RS-485-A
RS-485-B
Figure 2-4. RS-485 Multi-Pump Cabling
Hardware Setup 2-6
Page 23
CAN CABLING
Figure 2-5. CAN Multi-Pump Cabling
Hardware Setup 2-7
Page 24
Printed Circuit Board Settings and Options
Configuration Jumpers (JP1) for Standard Firmware
Connector JP1 on the XP 3000 printed circuit board is used to configure different modes
of operation (see Figure 2-6). Jumpers are added or removed to enable or disable the
different modes. The jumpers control set the following:
Plunger overload detection (JP1-1)
Communications protocol (JP1-2)
EEPROM, autostart mode (JP1-3)
Baud rate (JP1-4)
Figure 2-6. Configuration Jumpers
NOTEAlways power off the XP 3000 before changing any of the jumpers on JP1.
Hardware Setup 2-8
Page 25
JP1-1: PLUNGER OVERLOAD DETECTION
This jumper position allows enabling or disabling of plunger overload detection. There
are two settings:
CAUTION! Do not disable plunge r overload detection; it is used for manufacturing
test only. If a jumper is installed at JP1-1, plunger overload will not be
detected and the pump will not generate an error code if it is losing steps.
JP1-2: COMMUNICATIONS PROTOCOL (UNUSED FOR CAN)
This jumper position sets the XP 3000 communications protocol. There are two settings:
JP1-2 removedData Terminal (DT) protocol
JP1-2 installedOEM protocol (default setting)
For more information on the XP 3000 communications protocols, see Chapter 3,
Software Communication.”
JP1-3: EEPROM AUTOSTART
This jumper position activates or inactivates the autostart mode of the EEPROM. For
instructions on programming or running the XP 3000 using the EEPROM, see Chapter 3,
Software Communication.” There are two settings:
This jumper position is used to select the baud rate for the RS-232/RS-485 version of the
XP 3000. There are two baud rates to select from:
JP1-4 removed9600 baud (default setting)
JP1-4 installed38400 baud
NOTE The XP 3000 is shipped with spare jumper placed across the top of pin JP4.
This can be used to change the default configuration settings.
100K baud for CAN (for microstep-enabled firmware)
125K baud for CAN (for microstep-enabled firmware)
Hardware Setup 2-9
Page 26
Configuration Jumpers (JP1) and Termination Jumpers (JP4) for
Microstep-Enabled Firmware
NOTE To determine whether or not your XP 3000 carries microstep-enabled
firmware, check the part number on the EPROM label. If the part number is
600,xxx, this section applies to your pump.
The XP 3000 microstep-enabled firmware automatically detects the mode the user is
programming in, OEM or DT. Jumpers are not needed to engage this feature.
Two jumpers on the XP 3000 have new functionality:
• JP1 (configuration jumper)
• JP4 (mode jumper)
MODE JUMPER JP4
When pins 1 and 2 are jumpered, the XP 3000 is in standard running mode. In this mode,
the pump accepts all commands.
CAUTION! For microstep-enabled firmware, when pins 2 and 3 are jumpered, the
XP 3000 is in factory set mode. This mode is reserved for Cavro factory
use only. Enabling the factory set mode may cause major functional
changes to the unit. Simply moving the jumper back to the standard
running mode will not reset the pump to its original configuration. If the
factory set mode is accidentally enabled, please call Cavro’s Technical
Service to reset the unit.
The JP4 jumper settings for each mode are shown below.
3Factory Set Mode
•
2
•
1
•
Figure 2-7. JP4 Jumper Settings Per Mode
3
•
2Standard Running Mode
•
1
•
Hardware Setup 2-10
Page 27
CONFIGURATION JUMPER JP1
The table below describes the features of JP1.
JumperStandard Running Mode
JP1-1Overload Disable
JP1-2Reserved
JP1-3Self-Test and EEPROM
JP1-4Baud Rate
JP1-1, Plunger Overload Detection
This jumper position allows enabling or disabling of plunger overload detection. There
are two possible settings:
When JP1-3 is in and the address switch is set to po sitio n “F,” the self-test diagnostic
program will be activated. For more information on using the address switch and the selftest, see “Address Switch Settings” in this chapter.
When the address switch is in any position other than “F,” the autostart mode of the
EEPROM can be activated or inactivated.
This jumper position is used to select the baud rate for the RS-232/RS-485 version of the
XP 3000. There are two baud rates to select from:
JP1-4 removed9600 baud (default setting) (100K baud for CAN)
JP1-4 installed38400 baud (125K baud for CAN)
Hardware Setup 2-11
Page 28
Figure 2-8 shows the printed circuit board settings for the microstep-enabled firmware.
Figure 2-8. Printed Circuit Board Settings for Microstep-Enabled Firmware
Hardware Setup 2-12
Page 29
Address Switch Settings
The address switch (see Figure 2-9) is located on the lower left of the XP 3000’s back
panel. It is used to give each XP 3000 in a multi-pump configuration a unique or specific
address, allowing the user to direct commands to specific pumps. The address switch has
sixteen positions (numbered 0 through F). Fifteen positions (addresses 0 through E) are
valid pump addresses for standard firmware modules, sixteen (0 through F) for
microstep-enabled firmware modules.
Figure 2-9. Address Switch
To set the address switch:
To set the address switch, use a jeweler’s screwdriver or small flat head screwdriver and
turn the switch in either direction to the desired position.
NOTE Power cycle (or power up) the pump after setting the address switch.
For information on the addressing schemes for different pump configurations, see
Chapter 3, “Software Communication.”
Hardware Setup 2-13
Page 30
Self-Test
Inputs/Outputs
The “F” address switch position is used to activate the XP 3000 self-test. Self-test causes
the XP 3000 to initialize then cycle repeatedly through a series of plunger movements at
fifteen different speeds. If an error condition occurs, the pump stops moving. Typically,
the self-test activates the pump at 800 strokes/hour.
To run the self-test, set the address switch to position “F.” If the pump carries microstepenabled firmware, the configuration jumper JP1-3 must also be installed. Then supply
power to the pump.
CAUTION! Always run liquid through the syringe and valve. Failure to do so can
damage the valve and syringe seal.
Do not run sel f-test wit h a 5.0 mL syringe installed. Remove the valve
and 5.0 mL syringe. Failure to do so can result in plunger overloads.
The XP 3000 provides two auxiliary inputs and three auxiliary outputs that can be
accessed through the DB-15 connector, JP3. They provide TTL level signals. The outputs
are controlled by the [J] command.
The auxiliary inputs are located on JP3 pins 7 and 8. They can be read back using report
commands ?13 and ?14. Additionally, the inputs can be used to externally trigger a
command sequence using the [H] command. The commands are described in Chapter 3,
“Software Communication.”
The auxiliary outputs are located on JP3, pins 13, 14, and 15.
Hardware Setup 2-14
Page 31
XP 3000 Without Valve
The XP 3000 without valve is available in an RS-232/RS-485 or CAN/RS-485
configuration. It uses the same components and operates the same as the XP 3000 with
valve, except that it does not contain a valve, valve motor, or valve encoder. Syringes are
attached using a Kel-F block which replaces the XP 3000 valve. The block has a “Y”
configuration with input and output port (available in 1/4-28 or M6 fittings) and a 1/4-28
screw fitting for the syringe. Valveless pumps u se the same syri nges as pumps wi th
valves.
NOTE When using a valveless pump, remove the additional jumper and set JP4 to
pins 2 and 3.
The XP 3000 without valve uses the same commands as the XP 3000 with valve with the
exception of the initialize command, valve commands and valve overload error. For more
information on the commands, see Chapter 3, “Software Communication.”
NOTE Valveless pumps require a system valve external to the pump. They are
commonly used wit h othe r Cavr o de vic e s.
During power-up, the valve initializes. The valve encoder will make a complete
revolution in a clockwise direction. The valve stops at the left-hand port (as viewed from
the front of the pump). If the valve is at another position during power-up, the encoder
will turn clockwise to the left-hand port, then it will make a complete revolution. Thesyringe plunger does not move.
Hardware Setup 2-15
Page 32
Installing Components
See Chapter 5, “Maintenance,” for the procedures for replacing and maintaining
components.
Installing the XP 3000 Valve
NOTE The valves are not interchangeable among pumps. To use a different model
valve, contact Cavro Customer Support.
These instructions apply to the 3-port valve, the 3-port distribution valve, and the Tvalve.
To install the XP 3000 valve, follow these steps:
1 Place the pump upright on a table surface, with the front facing you.
2 Verify that the offset tab on the encoder in the pump is correctly oriented (vertically
with the tab to your right).
3 Rotate the valve coupling to the position shown on the left in Figure 2-10 (vertically
with the offset tab to your left).
Figure 2-10. XP 3000 Valve Installation (3-Port Valve Shown)
Hardware Setup 2-16
Page 33
4 Install the valve by inserting the slot in the valve coupling onto the tab of the
encoder. The valve should be oriented with the tube fittings on top and the syringe
fitting on the bottom.
5 Gently push the valve in place, matching the locating pins on the valve fit the holes
on the front of the pump.
6 Secure the valve with two Phillips head valve screws through the mounting holes.
After the screws contact the valve body, tighten further ¼ to ½ turn.
Hardware Setup 2-17
Page 34
Installing a Syringe
To install a syringe, follow these steps:
1 Loosen the plunger lock screw approximately three full turns.
2 Lower the plunger drive by sending the command [A3000R]. If power is not applied,
3 To install the syringe, do the following (as shown in Figure 2-11):
a Screw the syringe into the valve.
b Pull the syringe plunger down to the plunger holder assembly.
c Screw the syringe plunger into place.
NOTE Make sure the plunger lock screw is securely tightened.
the plunger drive can be manually lowered by pushing down firmly on the plunger
holder assembly.
Figure 2-11. Syringe Installation
Hardware Setup 2-18
Page 35
Mounting the XP 3000
Numerous tapped M3 x 0.5 mounting holes provide flexibility in mounting the XP 3000;
there are several mounting options:
mounting from the bottom
mounting from the top
mounting from the sides
Mounting requirements vary for pumps with d ifferent valves. For more informa tion, see
the specific valve outline drawings. If necessary, custom mounting brackets can be
designed, or, the pump can be mounted directly into an instrument.
NOTE Always mount the pump in an upright position. Failure to do so can cause
problems in priming the system.
To facilitate mounting, Figure 2-12 shows the locations of the threaded mounting holes
(top, bottom, left and right side plates) of the XP 3000.
Hardware Setup 2-19
Page 36
Figure 2-12. XP 3000 Threaded Mount Holes
Hardware Setup 2-20
Page 37
3 - Software Communication
This chapter describes how to communicate with the XP 3000: through an
RS-232, RS-485, or CAN (Controller Area Network) interface, depending on the pump
configuration.
This chapter includes these topics:
XP 3000 Addressing Scheme
Communication Protocols
Using the XP 3000 Command Set
Error Codes and Query Status
XP 3000 Addressing Scheme
As part of the communication protocol, an address for each pump must be specified. The
user has the option of addressing a single pump, two pumps (dual device), four pumps
(quad device), or all 15 pumps (all devices), depending on the address byte used. Each
physical address in the address switch corresponds to a hexadecimal value, as shown in
Table 3-1.
Table 3-1. Hexadecimal Addressing Scheme
Address (hex)Device
RS-232/
RS-485
300Master Address (master co ntroller, personal computer, etc. )
31..3F1..FAddresses single device
41..5011..20Addresses two devices at a time (dual device)
51..5D21..2DAddressed four devices at a time (quad device)
5F2FAddresses all devices on the bus
For example, an XP 3000 with address switch set to 0 is addressed as device “31h” in the
RS-232 or RS-485 communication protocol, hardware address 1 is addressed as device
“32h,” and so on.
Table 3-2 shows the different address switch settings for each of these configurations.
CAN
Software Communication 3-1
Page 38
NOTE When using the Pump:Link software to send commands to a device, use the
The user can communicate with all pumps in the chain by using address “5Fh,” for
example to initialize all pumps at once. Then each pump can be controlled independently
by using addresses “31h” to “3Fh.”
NOTE Multiple address commands cannot be used to determine device status, nor
will they respond to Report commands. Each device must be queried
separately.
Software Communication 3-2
Page 39
Communication Protocols
Three communication protocols are available:
OEM communications protocol
Data Terminal (DT) protocol
CAN protocol
On standard firmware pumps, select a communication protocol using JP1-2 on the back
panel of the XP 3000.
NOTE Microstep-enabled XP firmware automatically detects the communication
protocol. There is no need to select JP1-2 when using this firmware.
The DT protocol can be run via an ASCII data terminal because no sequence numbers or
checksums are used. For instructions on using a Microsoft Windows Terminal Emulator,
see “Using DT Protocol with Microsoft Windows” in this chapter.
NOTE Cavro recommends using the OEM protocol. It provides increased error
checking, i.e., checksums and sequence numbers are used.
Software Communication 3-3
Page 40
OEM Communication Protocol
OEM communication is a robust protocol that includes automatic recovery from
transmission errors. Table 3- describes each setting within the OEM communication
protocol.
Table 3-3. OEM Protocol (JP1-2, Jumper IN)
ParameterSetting
Baud rate9600 or 38400 (set using JP1-4)
Data bits8
ParityNone
Stop bit1
(see “OEM Protocol Command Block Characters”)
1STX (^B or 02h)
2Pump address
3Sequence number
3+nData block (length n)
4+nETX (^C or 03h)
5+nChecksum
Character Format
Command Block
(see “OEM Protocol Answer Block Characters”)
1STX (^B or 02h)
2Master address (0 or 30h)
3Status code
3+nData block (length n)
4+nETX (^C or 03h)
5+nChecksum
OEM PROTOCOL COMMAND BLOCK CHARACTERS
The command block characters in the OEM communication protocol are described
below. All characters outside the command block are ignored.
When developing a parsing algorithm, the programmer should key on the STX as the
beginning of the answer block and the checksum (character after the ETX) as the end of
the answer block.
STX (^B or 02h)
The STX character indicates the beginning of a command.
Answer Block
Software Communication 3-4
Page 41
Pump Address
The pump address is a hexadecimal number specific for each pump.
Sequence Number/Repeat Flag
The sequence number is a single byte that conveys both a sequence number (legal
values: 1 to 7) and a bit-flag indicating that the command block is being repeated
due to a communications breakdown. The sequence number is used as an identity
stamp for each command block. Since it is only necessary that every message
carries a different sequence number from the previous message (except when
repeated), the sequence number may be toggled between two different values (e.g.,
“1” and “2”) as each command block is constructed. During normal
communication exchanges, the sequence number is ignored. If, however, the repeat
flag is set, the pump compares the sequence number with that of the previously
received command block to determine if the command should be executed or
merely acknowledged without executing.
NOTE If the operator chooses not to use this option, the sequence number can be set
to a fixed value of 1 (31h).
The following two scenarios should clarify this error detection mechanism.
Scenario 1.
1 The computer sends a command block stamped with sequence #1 to the pump.
2 The pump receives the command, sends an acknowledgement to the PC, and
executes it.
3 Transmission of the acknowledgement message is imperfect; the PC does not
receive it.
4 The PC waits 100 ms for the acknowledgement, then retransmits the command
block with the sequence number left at 1 and the repeat bit set to indicate a
retransmission.
5 The pump receives the transmission, identified as such by the repeat bit.
6 The pump checks the sequence number against that of the previously received
command block. Noting a match, the pump sends an acknowle dgement to the
PC, but it does not execute the command (since it has already been executed).
7 The PC receives the acknowledgement and continues with normal
communications.
8 The next command block is stamped with sequence #2 to indicate a new
command.
Software Communication 3-5
Page 42
Scenario 2.
1 The computer sends a command block stamped with sequence #1 to the pump.
2 The pump never receives the command due to a communication error and thus does
not send an acknowledgement to the PC.
3 The PC waits 100 ms for the acknowledgement, then retransmits the command block
with the sequence number left at 1 and the repeat bit set to indicate a retransmission.
4 The pump receives the retransmission, identified as such by the repeat bit.
5 The pump checks the sequence number against that of the previously received
command block. Noting a mismatch, the pump recognizes this as a new command
block and sends an acknowledgement to the PC. It then executes the command.
6 The PC receives the acknowledgement and continues with normal communications.
7 The next command block is stamped with sequence #2 to indicate a new command.
The sequence number/repeat byte is constructed as follows:
Bit #
Value
76543210
0011REPSQ2SQ1SQ0
REP: 0 for non-repeated / 1 for repeated
SQ0 – SQ2: sequence value, as follows:
Sequence
Value
1001
2010
3011
4100
5101
6110
7111
SQ2SQ1SQ0
NOTE Bits 4 through 7 are always fixed to the values shown.
Data Block (length n)
The data block consists of the data or commands sent to the pump or host (this is
an ASCII string). When the pump is responding to a move or [Q] command, the
data block length is 0 (i.e., no data string exists).
ETX
The ETX character indicates the end of a command string.
Software Communication 3-6
Page 43
Checksum
The checksum is the last byte of the message string. All bytes (excluding line
synchronization and checksums) are XORed to form an 8-bit checksum. This is
appended as the last character of the block. The receiver compares the transmitted
value to the computed value. If the two values match, an error free transmission is
assumed; otherwise, a transmission error is assumed.
OEM PROTOCOL ANSWER BLOCK CHARACTERS
The answer block characters in the OEM communication protocol are described below.
Only the unique answer block entries are listed in this section. For common commands
and answer block commands (characters), see the previous section, “OEM Protocol
Command Block Characters.”
Master Address
The master address is the address of the host system. This should always be 30h
(ASCII value “0”).
Status and Error Codes
The status and error codes define pump status and signal error conditions. For a
description of status and error codes, see “Error Codes and Query Status” in this
chapter.
Software Communication 3-7
Page 44
Data Terminal (DT) Protocol
The DT protocol can be used easily from any terminal or terminal emulator capable of
generating ASCII characters at 9600 baud, 8 bits, and no parity.
Table 3-4. DT Protocol (JP1-2, Jumper OUT)
ParameterSetting
Baud rate9600 or 38400 (set using JP1-4)
Data bits8
ParityNone
Stop bit1
1Start command (ASCII “/” or 2Fh)
2Pump address
2+nData block (length n)
3+nCarriage Return ([CR] or 0Dh)
Character Format
Command Block
(see “DT Protocol Command Block Characters”)
Answer Block
(see “DT Protocol Answer Block Characters”)
1Start answer (ASCII “/” or 2Fh)
2Master address (ASCII “0” or 30h)
3Status character
3+nData block (if applicable)
4+nETX (03h)
5+nCarriage Return (0Dh)
6+nLine feed (0Ah)
DT PROTOCOL COMMAND BLOCK CHARACTERS
The command block characters in the DT communication protocol are described below.
Start Block
The start character indicates the beginning of a message block.
Pump Address
The pump address is an ASCII character specific to each pump.
Data Block (length n)
The data block consists of the ASCII data or commands sent to the pump or host.
End Block
The end character indicates the end of a message block.
Software Communication 3-8
Page 45
DT PROTOCOL ANSWER BLOCK CHARACTERS
The answer block characters comprising the DT communication protocol are described
below.
Only unique answer block entries are listed in this section. For information on command
and answer block commands (characters), see the previous section, “DT Protocol
Command Block Characters.”
Master Address
The master address is the address of the host system. This should always be 30h
(ASCII “0”).
Status Character
The status and error codes define pump status and signal error conditions. See the
description of the [Q] command in “Error Codes and Query Status.”
Data Block
This is the response from all Report commands with the exception of the [Q]
command.
Carriage Return (0Dh)/Line Feed (0Ah)
This character terminates the reply block.
Software Communication 3-9
Page 46
Using DT Protocol with Microsoft Windows
The XP 3000 can be controlled in DT protocol mode directly from the Microsoft
Windows terminal accessory.
To communicate with the XP 3000 using Windows 3.x, follow these steps:
1 Connect the XP 3000 to a communications port of the PC (for example, COM1).
2 From the Microsoft Program Manager window, select Terminal from the
Accessories group window.
3 Select the Settings menu, and choose Communications.
4 Select a baud rate of 9600, 8 data bits, 1 stop bit, no parity, communications port
connector, and no flow control.
5 Click OK.
6 Set the pump address switch to 0 and remove all configuration jumpers in JP1-2 and
JP1-4.
7 Power on the pump.
8 Type /1ZR<CR> to initialize the pump.
To run the pump, see the commands listed in “Using the XP 3000 Command Set” in
this chapter.
To communicate with the XP 3000 using Windows 95/NT, follow these steps:
1 To connect the XP 3000 to a communication ports on the PC, first select the Start
menu and choose Run.
2 In the Run dialog box, type Hyperterm.exe. The Connection Description dialog box
appears.
3 Enter a name for the connection and select an icon, then click OK. The Phone
Number dialog box appears.
4 Select the following in the fields provided:
Connect using: Direct to <communication port> (usually COM1 or COM2,
depending on how the hardware is set up)
Click OK. The COM Properties dialog box appears.
5 Select the following in the fields provided:
Bits per second: 9600
Data bits: 8
Parity: None
Stop bits: 1
Flow control: None
Click OK.
Software Communication 3-10
Page 47
6 Select the File menu, and choose Properties. The Properties dialog box appears.
7 Select the Settings tab, and enter or select these options:
Function, arrow, and Control keys act as:
– Select “Terminal keys”
Emulation:
– Select “Autodetect”
– Enter “500” in Backscroll buffer lines
Click the ASCII Setup button. The ASCII Setup dialog box appears.
8 Enter or select these options:
– Select “Send line ends with li ne fee d”
– Select “Echo typed characters locally”
– Enter a Line delay of “0”
– Enter a Charater delay of “0”
– Select “Wrap lines that exceed terminal width”
9 Click OK to close the ASCII Setup dialog box, then click OK to close the Properties
dialog box.
10 Set the pump address to 0 or the appropriate address.
11 Set jumper JP1-2 to DT protocol (JP1-2 removed). Note that no jumper is needed for
microstep-enabled firmware. The communication protocol is detected automatically.
12 Power on the pump and initialize it by typing /1ZR and pressing Enter.
To run the pump, see the commands listed in “Using the XP 3000 Command Set” in
this chapter.
Software Communication 3-11
Page 48
CAN Interface Communications
CAN (Controller Area Network) is a two-wire, serial communication bus. It eliminates
polling seq uences that verify task completion. Using CAN, the pumps asynchronous ly
report to the master or host when they have finished the current task.
NOTE All Cavro XP 3000s use CAN controller chip compatible with Philips
Semiconductor CAN bus specification, version 2.0.
CAN MESSAGES
CAN messages consist of frames. Each frame has an 11-bit Message Identifier (MID).
The bits:
indicate to which device on the bus the message is directed
identify the message type
show the direction of the message (to or from the master device)
represent the length of the data block. Data blocks can be from zero to eight bytes
in length. Any message that requires more than eight bytes must be sent in a series
of multi-frame messages. The receiving unit then assembles the separate frames
into one long string.
CAN MESSAGE CONSTRUCTION
Each message frame begins with the MID. The data block (up to 8 bytes in length)
follows the MID and length information. This information makes up two bytes t hat are
transmitted first in a message frame. Their bits are grouped as shown:
Byte 1Byte 2
0/121032102100/13210
DirGroupDeviceFrameRTRLength
Dir
This is the direction bit. It lets the devices on the bus know whether the current
message is to or from the master. “0” means that the message is from master to
slave; “1” means the message is from the slave to the master.
Group
This is the group number (0 - 7). Each type device on the XP 3000 CAN has a
group assignment. The XP 3000 is assigned to group 2. The group number “1” is
reserved for the boot request procedure.
11 Bit MID
Software Communication 3-12
Page 49
CAN FRAME TYPES
Device
This is the address of the module in the particular group. Each group can have up
to 16 devices. The address value is 0 - 15.
Frames
This lets the device know what type message is coming. See “CAN Frame Types.”
RTR
This bit is not used in Cavro’s CAN impleme ntation and should always be set to 0.
Length
This is the length of the data block in the message. Data blocks can be from zero to
eight bytes in length.
The frame types allow each device to know what type of command is coming in and
enables faster processing of commands. Pumps respond to the frame types described
below.
“On-the-Fly” Commands (V and T)
Normal commands use a frame type 0 of “1” (i.e., “Action Commands”). Since
commands sent over the CAN bus with a particular frame type must complete
before a subsequent command using the same frame type can be issued, a different
ID must be used when issuing an “on-the-fly” command. For this reason, “on-the-
fly” moves must be issued over the CAN bus with a frame type of “0” (zero). Note
that a frame type of “0” specifies Set commands.
When issuing “on-the-fly” commands, the “frame type 0” commands will not
generate completion messages a nd thus no pairing code is needed (these commands
are simply acknowledged immediately).
Action Frames, Type 1
This frame type is used for action commands, such as Initialization commands,
Movement commands, Valve commands, or to set pump operating parameters. All
“task-type” commands are sent in this type message frame. When multi-frame
messages are used to send an action command, this frame is the end message sent
to the pump.
Common Commands, Type 2
This frame is used for commands that are common to every device on the bus. The
frame type is set to 2 and the command is a single ASCII character in the data
block. The single ASCII character is described below.
Software Communication 3-13
Page 50
CommandDescription
0Reset mode. This resets the pump and begins the boot
request procedure.
1Start loaded command. Ju st like sending an [R]
command after a string has been loaded.
2Clear loaded command. Th i s clears out the command
buffer.
3Repeat last command. This command does the same
thing as the [X] command.
4Stop action immediat ely. This acts like a [T] command.
Multi-Frame Start Message, Type 3
This frame type lets the pump know that the next message will be longer than the
8-byte maximum for each frame. Subsequent frames will follow to complete the
message.
Multi-Frame Data, Type 4
This frame type is used to identify a frame in the middle of a multi-frame message.
The last frame of a multi-frame message for action commands must be type 1. The
last frame of a multi-frame message response from the pump for report commands
will be type 6.
NOTE There is no type 5 frame.
Report/Answer Commands, Type 6
This frame type is used to get information back from the pump. It is similar in
operation to the query commands (i.e., [?]) used in the OEM and DT protocols.
The report command is one byte long and is a single ASCII character in the data
block. Report commands in ASCII format are:
CommandDescription
0Report plunger position, like the [?] command in OEM or DT protocols
4Report top velocity, like the [?2] command
6Report start velocity, like the [?1] command
7Report cutoff velocity, like the [?3] command
10Report buffer status, like the [F] command
12Report backlash
13Report status of input #1, like the [?13] command
14Report status of input #2, like the [?14] command
23Report firmware version, like the [&] command
29Report current status, li ke t he [Q] command
Software Communication 3-14
Page 51
CAN DATA BLOCK
When the pump responds to a query, the first byte of the data block is the status
byte. It is defined like the status byte in the RS-232 and RS-485 protocols. The
next byte is a null character. The remaining six bytes are for the response in ASCII.
If the pump is only reporting current status, the message is only two bytes long. If
the reply consists of more than six bytes, multi-frame messages are used.
The data block tells the pump what to do. Pump commands are sent in ASCII just like in
RS-232 or RS-485. For command strings that are more than eight bytes in length, multiframe messages are used. This permits long program strings to be sent as with the other
communications interfaces (remember that the XP 3000 buffer size is 256 characters).
Software Communication 3-15
Page 52
HANDLING OF PUMP BOOT REQUESTS
When the pump is first powered up or receives a system reset command (frame type,
command 0), the pump notifies the host of this condition by sending a boot request
message at 10 to 12 second intervals until it receives a proper response. The group
number is 1 for the boot request message. The frame type is 2 when the pump sends
messages to the host, and the frame type must be 0 when the host replies to the boot
request.
Example 1. The pump is set to address 0
Pump sends:
DirGroupDeviceFrameRTRLength
1001000001000000
Host acknowledges:
DirGroupDeviceFrameRTRLengthNode IDSlave ID
00010000000000100010 00000010 0000
Host acknowledges the boot request with:
Dir = 0Host to slave
Group = 1Boot request response group
Device = 0Always 0 in boot response
Frame = 0Boot request response frame
Rtr = 0Always 0
Length = 2Two data bytes in return message
Note:
Boot MID is the same for all nodes
Node IDGroup ID (2) + Pump
Address (0)
Slave IDSame as Node ID
(hex 20)
“ ”00hMust respond with Group & Address
“ ”00h
Software Communication 3-16
Page 53
Example 2. The pump is set to address 6
Pump sends:
DirGroupDeviceFrameRTRLength
1001011001000000
Host acknowledges:
DirGroupDeviceFrameRTRLengthNode IDSlave ID
00010000000000100010 01100010 0110
Host acknowledges the boot request with:
Dir = 0Host to slave
Group = 1Boot request response group
Device = 0Always 0 in boot response
Frame = 0Boot request response frame
Rtr = 0Always 0
Length = 2Two data bytes in return message
Boot MID is the same for all nodes
Note:
Node IDGroup ID (2) + Pump
Address (6)
Slave IDSame as Node ID
(hex 26)
The pump will save the Node ID to use for message filter Group ID.
CAN HOST AND PUMP EXCHANGES
When a slave pump receives a command, finishes a command, encounters an error
condition, or responds to a query, it sends an answer frame to the host using the same
frame type as the command it belongs to. The answer frame format is device dependent.
Generally, it will have the following format:
<MID><DLC><Answer>
Where:
<MID>:11-bit message identifier. The direction bit is 1. The group number and
<DLC>:4-bit data length code.
<Answer>:Data bytes block. The first byte of the data block is always the status
“&”Hex26
Hex26
the frame type are the same as received. Device is the current device
address.
byte. It is defined as in Table 3-. The second byte is a null character.
The remaining bytes contain the response in ASCII format. If the reply
consists of more than six bytes, the multi-frame messages are used.
Software Communication 3-17
Page 54
NOTE Only one command of a given frame type can be in progress at any one time;
e.g., after issuing a command to a slave pump with frame type = 1, the master
must wait for the answer with frame type = 1 before issuing the next command
with frame type = 1. If the user insists on sending the command, a command
overload status results. Several commands with different frame types can be in
progress at the same time; e.g., an action command and a query command.
Following are typical exchanges between the host and slave for action commands, multiframe commands, common commands, and query commands.
Action Command
The host commands [ZR] a pump, and the pump is set to address 0.
Host sends:
0010000000100010ZR
DirGroupDeviceFrame
type
Pump acknowledges:
1010000000100000
DirGroupDeviceFrame
type
After executing the command, pump reports status:
1010000000100010<60h><00h>
DirGroupDeviceFrame
type
RTRDLCData bytes
RTRDLC
RTRDLCData bytes
NOTE The mixed formats ASCII and hexadecimal are used in the data bytes block.
The hexadecimal number is bracketed (< >). The rest of the fields are
displayed in binary format.
Software Communication 3-18
Page 55
Multi-Frame Command
The host commands [Z2S5IA3000OgHD300G10G5R] to a pump, and the pump is set to
address 0.
Host sends:
0010000001101000Z2S51A30
DirGroupDeviceFrame
type
001000001000100000OgHD30
DirGroupDeviceFrame
type
00100000001001110G10G5R
DirGroupDeviceFrame
type
Pump acknowledges:
1010000000100000
DirGroupDeviceFrame
type
After executing the command, pump reports status:
1010000000100010<60h><00h>
DirGroupDeviceFrame
type
RTRDLCData bytes
RTRDLCData bytes
RTRDLCData bytes
RTRDLC
RTRDLCData bytes
NOTE For multi-frame commands, the pump only acknowledges the last frame.
Common Command
After the host has sent command [A1000A0] to the pump, it sends command 0 of frame
type 2 to a pump and makes the pump move. The pump is set to address 0.
Host sends:
00100000010000011
DirGroupDeviceFrame
type
Pump acknowledges:
1010000001000000
DirGroupDeviceFrame
type
After executing the command, pump reports status:
1010000001000010<60h><00h>
DirGroupDeviceFrame
type
RTRDLCData bytes
RTRDLC
RTRDLCData bytes
Software Communication 3-19
Page 56
Query Command
The host commands 29 of frame type 6 to a pump, and the pump is set to address 1.
Host sends:
001000011100001029
DirGroupDeviceFrame
type
Pump reports:
1010000111000010<60h><00h>
DirGroupDeviceFrame
type
RTRDLCData bytes
RTRDLCData bytes
NOTE For query commands, no acknowledge frame is needed.
The host sends command report 23 of frame type 6 to a pump, and the pump is set to
address 1.
type
101000011100011100024<00h>A
DirGroupDeviceFrame
type
RTRDLCData bytes
RTRDLCData bytes
RTRDLCData bytes
NOTE For a multi-frame reply, the start frame is type 3, the middle frame is type 4,
and the last frame is type 6.
Software Communication 3-20
Page 57
Using the XP 3000 Command Set
The XP 3000 features a robust command set which allows a wide range of parameters to
be defined by the user. Many of the commands have defaul t values; however, the default
values may not provide the optimal settings for your applicatio n. Take a moment to
familiarize yourself with each command in order to obtain the best performance for your
application.
For information on microstep-enabled firmware for the XP 3000, see “XP 3000
Microstep-Enabled Firmware Commands,” in this chapter.
Commands and Valve Types
There are three valve types: 3-port, T-valve, and 3-port distribution. The initialization
of valve commands var y dependin g on the valve type being used.
For a quick summary of all commands, see Appendix G, “Command Quick Reference.”
When problems are detected, the XP 3000 sends an error code. The error codes are
described in “Error Codes” at the end of this chapter.
NOTE Some commands are invalid in the CAN interface. For a list of these
commands, see Appendix F, “CAN Communication Commands.”
Command Execution Guidelines
To use the commands properly, keep the following in mind:
❑ All commands, except Report commands and most Control commands, must be
followed by an [R] (Execute) command.
❑ Single or multiple command strings can be sent to the pump.
For example:
– A single command such as [A3000R] moves the plunger to position 3000.
– A multi-command string such as [IA3000OA0R] moves the valve to the input
position, moves the plunger to position 3000, turns the valve to the output
position, and finally returns the plunger to position 0.
❑ The pump’s command buffer holds a maximum of 256 characters. If a command is
sent without the [R] (Execution) command, it is placed into the buffer without
being executed. If a second command is sent before the first command is executed,
the second command overwrites the first command (i.e., the first command string is
erased).
❑ Once a command is executed, new commands are not accepted until the sequence
is completed. Exceptions to this rule include interruptible (see “T Terminate
Command” in this chapter) and Report commands.
Software Communication 3-21
Page 58
❑When a command is sent, the pump answers immediately. If an invalid command
has been sent in a command string, the pump reports an error immediately. If there
was an invalid parameter in the command, the pump will execute up to the invalid
parameter, then it stops. In the case of a [Q] (Query) command, the error is read
back to the host computer.
❑ It is important to send the velocity commands in the proper order to insure that all
parameters are read. The XP 3000 queries for the input of the velocity commands
in the following order: backlash [K], slope [L], start velocity [v], top velocity [V],
and cutoff velocity [c]. Not inputting these values in the above order causes the
XP 3000 to rely on the default values for these commands.
❑ Always run liquid through the syringe and val ve when issuing a Move c ommand.
Failure to do so may damage the valve and syringe seal.
❑ Keep fingers out of the syringe slot while the pump is running. Failure to do so can
result in injury.
Command Syntax
The syntax for each command in the command set is:
<n>Numerical value within a given range
0..6000Range of numeri ca l va l ues allowed
(n)Default value
NOTE Square brackets, [ ], are used to distinguish commands and should not be sent
as part of the command strings.
Software Communication 3-22
Page 59
Control Commands
R EXECUTE COMMAND OR PROGRAM STRING
The [R] command tells the pump to execute a previously sent command or program
string.
Commands containing an [R] at the end of the string will execute immediately. If the
command or program string is sent without the [R], it is placed in the command buffer.
Sending the [R] alone will execute the last unexecuted command in the buffer. Sending
another [R] will not repeat the program string (i.e., the string has been executed).
NOTE The [R] command is invalid in CAN communication. The equivalent
command is ASCII 1 for frame type 2.
X EXECUTE THE LAST COMMAND OR PROGRAM STRING
The [X] command repeats the last executed command or program string.
NOTE The [X] command is invalid in CAN communication. The equivalent
command is ASCII 3 for frame type 2.
G <n> REPEAT COMMAND SEQUENCE
The [G] command repeats a command or program string the specified number of times. If
a GR or G0R is sent, the sequence is repeated endlessly until a Terminate command [T]
is issued. The syntax for this command is:
[G<n>], where <n> = 0..30000
For example:
[A3000A0G10R] moves the syringe plunger to position 3000 then back to position
0. This sequence is repeated 10 times.
gMARK THE START OF A REPEAT SEQUENCE
The [g] command is used in conjunction with the [G] command. The [g] command marks
the beginning of a repeat sequence (loop) that occurs within a program string (i.e., the
entire string is not repeated). Both the [g] and [G] commands can be used to nest up to 10
loops.
Table 3-5 shows the various segments of the command string
[A0gP50gP100D100G10G5R].
Software Communication 3-23
Page 60
Table 3-5. Example Program String
Command
Segment
D100Move plunger up 100 steps.
Description
A0Move plunger to position 0.
gOuter loop start.
P50Move plunger down 50 steps.
gInner loop start.
P100Move plunger down 100 st eps.
G10Inner loop, repeat 10 times.
G5Outer loop, repeat five times.
RExecute command st ring.
M <n> DELAY COMMAND EXECUTION
The [M] command delays execution of a command in milliseconds to the closest multiple
of five. This command is typically used to allow time for liquid in the syringe and tubing
to stop oscillating, thereby enhancing precision. The syntax for this command is:
[M<n>], where <n> = 5..30,000 milliseconds
H <n> HALT COMMAND EXECUTION
The [H] command is used within a program string to halt execution of the string. To
resume execution, an [R] command or TTL signal must be sent.
The syntax for this command is:
[H<n>]
Two TTL inputs are available, input 1 (JP3 pin 7) and input 2 (JP3 pin 8). They control
execution as follows:
<n> = 0Waits for [R] or either input 1 or 2 to go low
<n> = 1Waits for [R] or input 1 to go low
<n> = 2Waits for [R] or input 2 to go low
NOTE If <n> does no t have a value, <n> defaults to 0.
The status of the TTL input lines can also be read using [?13 ]and [?14]. These
commands are described in “Report Commands” in this chapter.
Software Communication 3-24
Page 61
T TERMINATE COMMAND
The [T] command terminates plunger moves in progress ([A], [a], [P], [p], [D], and [d])
and delays [M]).
NOTE The [T] command will not terminate Valve Move commands.
The [T] command will terminate both single commands and program strings. If a
program string is terminated before completion, the [R] (Execution) command will
resume the program string. If the command was terminated due to a problem or error, the
pump must be reinitialized.
When a plunger move is terminated, lost steps may result. Reinitialization is
recommended following termination.
NOTEThe [T] command is invalid in CAN communication. The equivalent
J <n> AUXILIARY OUTPUTS
command is ASCII 4 for frame type 2.
The [J] command sets the TTL ouput lines.
The syntax for this command is:
[J<n>], where <n> = 0..7 (0 is the default)
The XP 3000 provides three TTL outputs on JP3 (pins 13, 14, and 15) that correspond to
outputs 1, 2, and 3. They are controlled as follows:
The EEPROM is non-volatile memory within the XP 3000. Once a program string is
stored in the EEPROM it provides the user with the option of computer-free operation.
The [s] command is placed at the beginning of a program string to load the string into the
EEPROM. The syntax for this command is:
[s<n>], where<n> = 0..14
Up to 15 program strings (numbered 0 through 14) can be loaded into the EEPROM.
Each string can use up to 42 commands or 128 bytes. Each command segment requires
three bytes in the command buffer. For example, [IA3000OA0R] has five command
segments and requires 10 bytes.
NOTE [A3000] and [A0] are considered single command segments.
Example Program String: [s8ZS1gIA3000OA0GR]
Command
Segment
s8Loads string into program 8 of EEPROM (Address switch position 8)
ZInitializes pump
S1Sets plunger speed
gMarks start of loop
ITurns valve to input position
A3000Moves plunger to position 3000
OTurns valve to output position
A0Moves plunger to position 0
GEndlessly repeats loop
RExecutes command string
Description
e<n> EXECUTE EEPROM PROGRAM STRING
There are two ways to execute command strings loaded into the EEPROM:
Through the address switch on power up
Through a command sent via the communications port
Address Switch. The address switch setting (0-14) determines which string
(0-14) is to be executed on power-up, provided a jumper is installed in JP1-3.
NOTE An Initialization command should always be included in the EEPROM
command string if the pump will be used in standalone mode.
Transmitted Commands. EEPROM command strings are executed by sending an [e]
command. The executing program string can be terminated using the [T] command.
Software Communication 3-26
Page 63
[e<n>], where<n> = 0..14 (the string number)
EEPROM program strings can be linked by ending one program string with an [e]
command that refers to a second program string.
Example Program Strings:[slZIA3000OA0G5e2R]
The first string loads an initialization and prime sequence into program 1 of the
EEPROM (address switch position 1). It then links to string 2 in the EEPROM.
The second string loads an aspirate and dispense sequence into program 2 of the
EEPROM. The second EEPROM program string fills the syringe, then performs 10
dispenses of 300 steps each. The dispenses are triggered by an [R] command. This
string is repeated endlessly until the pump is powered down.
On power-up the pump will automatically initialize, prime and perform the multiple
dispenses until it is again powered down.
Initialization Commands
Linking Program Strings in the EEPROM
[s2gIA3000OgHD300G10GR]
INITIALIZATION FORCES
Initialization moves the plunger to the top of the syringe, which is set to position 0. Also ,
the output position of the valve is assigned to the left or right side, depending upon the
Initialization command, and all command parameters are reset to default values.
The top of the syringe is recognized in two ways:
• upward movement of the plunger causes an overload condition
• the home flag has been detected
If either of these conditions is not met, initialization will fail. The force at which the
plunger presses against the top of the syringe can be controlled via a parameter after the
Initialization command (possible values are 0 and 1).
Table 3-6 lists the recommended initialization force for each type of syringe.
CAUTION! To retain the integrity of the seal on smaller syringes, use a lower
initialization force than that for larger syringes. The default initialization
speed is 500 Hz.
Software Communication 3-27
Page 64
Table 3-6. Recommended Initialization Forces by Syringe
ParameterForceSyringes
0, 3-40Full1.0 mL and larger
1Half50, 100, 250, 500 µL
1Z = Z0
2) 2 - 9 are reserved
3) Z10-Z40 (or Y10-Y40) are initialization speeds which correspond to ([S] commands,
Set Speeds) S10-S40 found in “Set Commands (Velocity and Acceleration)” in this
chapter. These commands can be used to change the standard initialization speeds.
Slower initialization speeds may be useful when working with viscous fluids or
small I.D. (inner diameter) tubing.
INITIALIZATION COMMANDS FOR VALVE TYPES 3-PORT, 3-PORT DISTRIBUTION AND T-VALVE
Z <n> Initialize Plunger (Set Output Valve to Right)
The [Z] command initializes the plunger drive and sets valve output to the right (as
viewed from the front of the pump). The parameters are described below.
CommandParameterDescription
Z<n> = 0Initializes at full plunger force
<n> = 1Initializes at half plunger force
Y <n> Initialize Plunger (Set Output Valve to Left)
The [Y] command initializes the plunger drive and sets valve output to the left (as viewed
from the front of the pump). The parameters are described below.
CommandParameterDescription
Y<n> = 0Initializes at full plunger force
<n> = 1Initializes at half plunger force
INITIALIZATION COMMANDS FOR VALVELESS OR BLOCK UNITS
W <N> Initialize Plunger (Without Valve)
The [W] command initializes plunger drive for pumps without valves.
CommandParameterDescription
W<n> = 0Initializes at full plunger force
<n> = 1Initializes at half plunger force
Software Communication 3-28
Page 65
CAUTION! Once the [W] command is issued to a pump with a valve mounted, the
valve will not move until the power is cycled to the pump.
z Set Counter Position (3-Port Distribution Valve Only)
The [z] command sets the pump’s position counter to the value contained in the current
encoder position. This command is used after a plunger overload error to resynchronize
the pump’s actual position with its internally recorded positio n without having to go
through the entire initialization sequence.
Plunger Movement Commands
A <n> ABSOLUTE POSITION
The [A] command moves the plunger to the absolute position <n>, where <n> = 0..3000.
For example:
[A300] moves the syringe plunger to position 300.
[A600] moves the syringe plunger to position 600.
a<n> ABSOLUTE POSITION (NOT BUSY)
This is the same as the [A] command, except that the status bit within the reply string
indicates that the pump is not busy. This is useful for on-the-fly speed changes.
P <n> RELATIVE PICKUP
The [P] command moves the plunger down the number of steps commanded. The new
absolute position is the previous position + <n>, where <n> = 0..3000.
For example:
The syringe plunger is at position 0. [P300] moves the plunger down 300 steps.
[P600] moves the plunger down an additional 600 steps to an absolute position of
900. The [P] command will return error 3 (invalid operand) if the final plunger
position would be greater than 3000.
Software Communication 3-29
Page 66
p<n> RELATIVE PICKUP (NOT BUSY)
This is the same as the [P] command, except that the status bit of the reply string
indicates that the pump is not busy. This is useful for on-the-fly speed changes.
D <n> RELATIVE DISPENSE
The [D] command moves the plunger upward the number of steps commanded. The new
absolute position is the previous position <n>, where <n> = 0..3000.
For example:
The syringe plunger is at position 3000. [D300] will move the plunger up 300 steps
to an absolute position of 2700.
The [D] command will return error 3 (invalid operand) if the final plunger position would
be less than 0.
d<n> RELATIVE DISPENSE (NOT BUSY)
This is the same as the [D] command, except that the status bit of the reply string
indicates that the pump is not busy. This is useful for on-the-fly speed changes.
Software Communication 3-30
Page 67
Valve Commands
NOTEIf a Valve command is issued to a valveless pump, the command is ignored.
I MOVE VALVE TO INPUT POSITION
The [I] command moves the valve on the XP 3000 to the input position set by the [Y] and
[Z] commands.
For example:
If the [I] command is sent after the [Z] command, the valve will be open on the left
side (as viewed from the front of the pump).
O MOVE VALVE TO OUTPUT POSITION
The [O] command moves the valve on the XP 3000 to the output position set by the [Y]
and [Z] commands.
For example:
If the [O] command is sent after the [Z] command, the valve will be open on the
right side (as viewed from the front of the pump).
The illustration below shows the positions of the valves in relation to the Initialization
command and valve movement used.
Software Communication 3-31
Page 68
Figure 3-1. Valve Positions for all Valve Types
B MOVE VALVE TO BYPASS (THROUGHPUT POSITION)
The [B] command connects the input and output positions, bypassing the syringe.
CAUTION! When the valve is in this position, do not move the syringe plunger.
Sending a Plunger Movement command causes an error 11 (plunger
move not allowed).
E MOVE VALVE TO EXTRA POSITION (3-PORT DISTRIBUTION VALVE ONLY)
The [E] command moves the valve on the XP 3000 to the extra position (port) relative to
the [Y] and [Z] commands.
Software Communication 3-32
Page 69
Valve Leakage Detection Commands
^<n> SET THRESHOLD VALUE FOR FLUID DETECTION
The [^] command is used to set a fluid detection value that best suits the application and
fluids used. The syntax is:
[^<n>], where <n> = 0..255
The higher the value, the more sensitive the detector. A setting of 150 detects water
leakage. Detection limits depend upon the application and the humidity of the
environment.
NOTE Setting the value to 0 disables error reporting.
Software Communication 3-33
Page 70
Set Commands (Velocity and Acceleration)
Set commands are used to control the speed of the plunger. Plunger movement is
structured into three phases:
Ramping Up. Plunger movement begins with the start velocity and accelerates
with the programmed slope to the constant or top speed.
Constant or Top Speed. The plunger is moved at the constant or top speed.
Plunger speed or velocity can be programmed in Hz (half-steps/second) or in
preprogrammed Set Speeds. The actual time the plunger travels is dependent on the
ramping up and down. If the plunger move is short, it may never reach top speed.
Ramping Down. The plunger will decelerate based on the programmed slope. To
enhance fluid breakoff, the Cutoff command ([c]) can be used to define the end
velocity of the plunger just before it stops.
NOTE The Cutoff command is only active in a dispense move. During aspiration the
move will end at the start velocity [v].
For each plunger move, the firmware calculates how many steps the plunger must travel
during each phase in order to move the total number of steps commanded. If the plunger
is moving less than 1024 Hz, the pump automatically microsteps to reduce the pulsation.
The top velocity can be changed on-the-fly (while the plunger is moving) providing the
initial speed is less than the start velocity. Ramps are not included in on-the-fly speed
changes; therefore, large speed changes (100 Hz to 1000 Hz) are not recommended.
NOTEUnless the top speed is less than the start or cutoff velocity, always program
K <n> BACKLASH STEPS
The [K] command sets the number of backlash steps. The syntax for this command is:
[K<n>], where <n> 0..31 (0 is the default)
When the syringe drive motor reverses direction, the carriage will not move until the
backlash due to mechanical play within the system is compensated. To provide this
compensation, during aspiration, the plunger moves down additional steps, then backs up
the set number of backlash steps. This ensures that the plunger is in the correct position to
begin a dispense move. Note that a small volume of fluid flows out the “input” side of the
valve during this operation.
the pump in order of the move: start velocity [v], top velocity [V], cutoff
velocity [c].
Software Communication 3-34
Page 71
Changing Speed on the Fly
Speed changes can be made while the syringe plunger is moving. This is called
“changing speed on the fly.”
Speeds can be decreased or increased between 5 and 1024 Hz (i.e., in the microstepping
region).
To change speed on the fly:
1 Issue speed commands with identical start and top velocities (e.g., [v100V100]),
followed by a lowercase Plunger Move command. Ramping is not allowed in onthe-fly changes.
2 Issue a new top velocity in the range 5 to 1024 while the plunger is moving to
change the speed on the fly.
NOTEWhen the move completes, speed values revert to original values (i.e., value
sent on-the-fly is temporary).
Software Communication 3-35
Page 72
L <n> SET SLOPE
During the beginning and end of a move, the plunger ramps up and down to top speed.
The ramp is programmed using the Slope command. It is calculated as <n> x 2.5
kHz/sec. The syntax for this command is:
[L<n>], where <n> = 1..20 (14 is the default)
The corresponding slopes in kHz/sec are listed below.
The [v] co mmand sets the velocity at which the plunger begi ns its movement. The
plunger will then ramp up (slope) to the top velocity. The start velocity should always be
less than the top velocity. The syntax for this command is:
[v<n>], where <n> = 50..1000 Hz
(900 is the default; 901 is the default on the 3-port distribution valve)
Software Communication 3-36
Page 73
V <n> SET TOP VELOCITY
The [V] command sets the peak speed in Hz (half-steps/second). The syntax for this
command is:
[V<n>], where <n> = 5..5800 Hz (1400 is the default)
NOTESyringes 2.5 mL and larger may r equire slower speeds. Users must de termine
S <n> SET SPEED
The [S] command sets a predefined top plunger speed. As <n> increases, the plunger
speed decreases. The syntax for this command is:
[S<n>], where <n> = 1..40 (11 is the default)
These speeds do not cover the full range of speeds the plunger can travel. They are
commonly used velocities provided for the convenience of the user. All times are
approximate and will vary with different ramp speeds and cutoffs. Cavro also provides a
utility for performing theoretical speed calculations in Pump:Link Evaluation Software
(in the Utility menu on the user interface). For information on determining timing for
specific applications, see Appendix B, "Plunger Information.”
the appropriate speeds for their applications.
The [S] command sets top velocity without changing start velocity, slope, and cutoff
velocity, except:
•If the start velocity is higher than the (new) top velocity, start velocity is set = top
velocity.
•If the cutoff velocity is higher than the (new) top velocity, cutoff velocity is set =
top velocity.
Software Communication 3-37
Page 74
Speed codes, the Hz (half-steps/second) equivalent, and seconds per stroke are listed
below. Seconds/stroke values are based on default ramping.
NOTE To achieve maximum stroke time (20 minutes or 1200 seconds), you must use
the [V5] command.
c<n> CUTOFF VELOCITY IN HZ
The [c] command sets the velocity at which the plunger ends its movement. The plunge r
will ramp down (slope) from the peak velocity. The [c] command overwrites the [C]
command. The syntax for this command is:
[c<n>], where <n> = 50..2700 Hz
(900 is the default; 901 is the default on the 3-port distribution valve)
NOTE[c] is only valid in a dispense move. During aspiration [c] = [v].
C <n> CUTOFF VELOCITY IN STEPS
During the last phase of a plunger move, the speed ramps down (as defined by the
programmed slope) toward the cutoff velocity [c]. When cutoff steps are specified, the
plunger stops at <n> steps before reaching the cutoff velocity. The total number of steps
required by the plunger movement is maintained by adding <n> steps to the second phase
(top velocity) of the plunger move. The syntax of this c ommand is:
[C<n>], where <n> = 0..25 steps (0 is the default)
The [C] command overwrites the [c] command and resets cutoff velocity to start velocity.
For example, [C5] stops the plunger five steps short of the final velocity. The total
number of steps is automatically maintained by adding five steps to the second phase of
plunger movement. In other words, the deceleration phase of the move is shortened by
five steps and the constant speed phase is lengthened by five steps.
Report Commands
Report commands do not require an [R] command.
NOTE All Report commands are invalid in CAN communication. The frame type 6 is
provided to retrieve information from the pump. For more information, see
Appendix F, “CAN Communication Commands.”
Software Communication 3-39
Page 76
? REPORT ABSOLUTE PLUNGER POSITION
The [?] command reports the absolute position of the plunger in steps [0..3000],
[0..24000 in microstep mode].
?1 REPORT START VELOCITY
The [?1] command reports the start velocity in kHz/sec [50..1000].
?2 REPORT TOP VELOCITY
The [?2] command reports the set top velocity in kHz/sec [5..5800].
?3 REPORT CUTOFF VELOCITY
The [?3] command reports the cutoff velocity in kHz/sec [50..2700].
NOTE Velocities reported back may not reflect the exact programmed value due to
rounding within the control routine.
?4 REPORT ACTUAL POSITION OF PLUNGER
The [?4] command reports the actual position of the plunger in steps.
?12 REPORT NUMBER OF BACKLASH STEPS
The [?12] command reports the number of backlash steps.
?13 REPORT STATUS OF AUXILIARY INPUT #1 (JP3, PIN 7)
0 = low
1 = high
?14 REPORT STATUS OF AUXILIARY INPUT #2 (JP3, PIN 8)
0 = low
1 = high
Software Communication 3-40
Page 77
?22 REPORT CURRENT VALUE FROM FLUID SENSOR
The [?22] command reports the current value read from the fluid sensor [0..255].
0 = very wet
255 = very dry
F REPORT BUFFER STATUS
The [F] command reports the command buffer status. If the buffer is empty, the pump
returns status code 0. If the buffer is not empty, the pump returns a 1. If a program string
is sent to the pump without an [R] command, the string is loaded into the buffer and the
buffer status becomes 1. An [R] command will then execute the command stored in the
buffer.
& REPORT FIRMWARE VERSION
The [&] command returns the XP 3000 firmware revision in ASCII.
# REPORT FIRMWARE CHECKSUM
The [#] command reports back the firmware checksum. The checksum is the same for all
part numbers at the same revision level.
XP 3000 Microstep-Enabled Firmware Commands
NOTE To determine whether or not your XP 3000 carries microstep-enabled
firmware, check the part number on the EPROM label. If the part number is
600,xxx, this section applies to your pump.
N <n> SET MICROSTEP MODE OFF/ON
The [N] command enables or disables microstepping. The syntax for this command is:
[N<n>], where <n> = 0 or 1
When <n> = 0, the microstep mode is off and the XP 3000 uses the standard 3000
increments/full stroke. If <n> = 1, microstep mode is on and the XP 3000 uses 24,000
increments/full stroke. Velocities are programmed in increments per second. The default
is 0.
Software Communication 3-41
Page 78
k<n> SYRINGE DEAD VOLUME COMMAND
The [k] command allows the setting of the number of steps that the plunger travels after
initialization. This is to minimize deal volume. The syntax for this command is:
[k<n>], where <n> = the offset in steps from zero position
<n> = 0..80
<n> = 0..640 in microstep mode
Under default initializations, the plunger moves upward until it contacts the top of the
syringe, causing a forced stall initialization. The plunger then moves downward and
upward, leaving a small gap between the syringe seal and the top of the plunger. This
small gap was designed so that the Teflon seal does not hit the top of the plunger each
time the syringe moves to the “home” position. This maximizes the life of the syringe
seal.
The [k] command must be followed by the Initialization command [Z], [Y], or [W]. Each
time the unit is powered down, the “k” value will return to the default condition.
For example, to offset 10 steps away from the zero position, send the following
commands:
1 k10R
2 ZR
NOTECommands are case-sensitive.
EXPANDED PARAMETER RANGES
S <n>Set speed[<n>=0..40]
V <n>Set end velocity in HS/s[<n>=5..6000]default: 900
v <n>Set start velocity in HS/s[<n>=50..1000]default: 900
c <n>Set cutoff velocity in HS/s[<n>=50..2700]default: 900
L <n>Set ramp slope[<n>=1..20]default: 7
where slope = n * 2500 (HS/s)/s
K <n>Set backlash[<n>=1..31default: 11
microstep off
[<n>=1..255]default: 88
microstep on
Software Communication 3-42
Page 79
Error Codes and Query Status
The [Q] command reports error codes and pump status (ready or busy). The user should
send a [Q] command before sending a program string or individual command to ensure
that the pump has completed the previous command successfully.
NOTE The Query command ([Q]) is the only valid method of obtaining status.
The response to the [Q] command (the status byte) provides two items of information:
Pump status (bit 5) and error code (bits 0-3).
STATUS BIT
Bit 5 is the status bit. It indicates when the pump is busy or not busy. The designations
for bit 5 are listed below.
Status Bit 5Description
X = 1Pump is ready to accept new commands.
X = 0Pump is busy and will only accept Report and Terminate commands.
In response to uppercase Move commands ([A], [P] and [D]), the [Q] command reports
that the pump is busy. In response to lowercase Move commands ([a], [p] and [d]), the
[Q] command reports that the pump is not busy. Additionally, commands addressed to
multiple pumps at once cannot be used to obtain pump status; pumps must be queried
separately.
ERROR CODES
NOTE Although the answer block for other commands contains a status bit, it should
not be used for determining pump status. A [Q] command is the only valid
method to determine if the pump is busy. The error information in the status
byte of the answer block is always valid.
Error codes describe problem conditions that may be detected in the XP 3000 (excluding
error code 0). Error codes are returned in the least significant four bits of the status byte.
If an error occurs, the pump stops executing commands, clears the command buffer, and
inserts the error code into the status byte. Some errors continue to appear, such as syringe
overloads, until they are cleared by the Initialization command. On a plunger overload,
the device will not execute another valve or syringe Move command until it is
reinitialized. The last error has precedence in the status byte. For example, if a command
overflow occurs, an error 15 results. If the next command causes an error #3, the status
byte reflects the error #3 (invalid operand).
Software Communication 3-43
Page 80
Table 3-7. Error Codes
Error CodeDescription
0 (00h)Error Free Condition.
1 (01h)Initialization error. This error occurs when the pump fails to initialize.
Check for blockages and loose connections before attempting to
reinitialize. The pump will not accept commands until it has been
successfully initialized. This error can only be cleared by successfully
initializing the pump.
2 (02h)
3 (03h)
4 (04h)
5 (05h)
6 (06h)EEPROM Failure. This error occurs when the EEPROM is faulty. If you
7 (07h)Device Not Initialized. This error occurs when the pump is not initialized.
9 (09h)Plunger Overload. This error occurs when movement of the syringe
10 (0Ah)Valve Overload. This error occurs when the valve drive loses steps by
11 (0Bh)
15 (0Fh)Command Overflow. This error occurs when the command buffer contains
Invalid Command. This error occurs when an unrecognized command is
issued. Correct the command and operation will continue normally.
Invalid Operand. This error occurs when an invalid parameter (<n>) is
given with a command. Correct the parameter and pump operation will
continue normally.
Invalid Command Sequence. This error occurs when the command
structure or communication protocol is incorrect. Review the information
describing the communication protocol then repeat the command sequence.
Fluid Detection. This error occurs when the sensor board detects fluid,
which is caused by fluid leaking out the back of the valve.
To clear the error:
1 Power off the pump.
2 Remove t he valve.
3 Wipe up any detectable fluid on the sensor board using a cotton swab.
You can insert the swab through the valve opening on the front panel,
and gently wipe the circuit.
4 Assuming the valve is leaking fluid, put a new valve on the pump
following the instruct ions in Chapter 5, “Maintenance.”
5 Reinitialize the pump.
receive this error, please call Cavro Technical Service.
To clear the error, initialize the pump.
plunger is blocked by excessive back pressure. The pump must be
reinitialized before normal operation can resume. This error can only be
cleared by reinitializing the pump.
blockage or excess back pressure. The pump must be reinitialized before
normal operation can resume. Sending another Valve command
reinitializes the valve and sets it to the correct location. Continual valve
overload errors are an indication the valve should be replaced.
Plunger Move Not Allowed. When the valve is in the bypass or throughput
position, Plunger Movement commands are not allowed.
too many characters. Commands in the buffer must be executed before
more commands can be sent.
Software Communication 3-44
Page 81
The pump handles errors differently, depending on the error type. There are four error
types, which are described below.
Immediate Errors. These include “Invalid Command” (error 2), “Invalid Operand”
(error 3), “Invalid Co mmand Sequence” (error 4), and “Plunger Move Not Allowed”
(error 11). After the command is sent, the answer block immediately returns an error.
Once a valid command is sent, the pump will conti nue to funct ion normally. Since the
[Q] command is a valid command, the pump will not return an error. In this case, the [Q]
command is not required.
Initialization Errors. These include “Initialization errors” (error 1) and “Device not
Initialized” (error 7). If the pump fails to initialize or if an Initialization command has not
been sent, subsequent commands will not be executed.
To ensure that the pump initializes successfully, send a [Q] command after the
Initialization command.
If the [Q] command indicates both a successful initialization and that the pump is
ready, subse quent Move commands c an be sent.
If the [Q] command indicates the pump has not initialized, the pump must be
reinitialized until the [Q] command indicates successful initialization.
If initialization is not successful, a “Device Not Initialized” error is returned as
soon as the next Move command is sent.
Overload Errors. These include the “Plunger Overload” and “Valve Overload” errors
(errors 9 and 10). If the pump returns either a plunger or valve overload, the pump must
be reinitialized before continuing. If another command is sent without reinitializing the
pump, another overload error will be returned when the next Move command is issued.
The [Q] command clears the error; however, if a successful initialization has not
occurred, an initialization error is returned.
Command Overflow Error. This is error 15, and it occurs if a Move command, Set
command (except [V]), or Valve command is sent while the plunger is moving. The
pump ignores the command and issues an error 15. The [Q] command allows the
controller to determine when the command is complete and the pump is ready to accept
new commands.
Report commands, Control commands, and the Top Velocity command [V] will not
return an error 15. Report and Control commands are considered valid commands during
a Move. Because the pump can change speed while the plunger is moving in the 5-1024
Hz range, the [V] commands will not return a “Command Overflow” error.
Software Communication 3-45
Page 82
Table 3-8. Error Codes and ASCII and Hexadecimal Values
Status ByteHex # if
Bit 5 =
7 6 5 4 3 2 1 00or 10or 1NumberError
0 1 X 0 0 0 0 040h60h64960No Error
0 1 X 0 0 0 0 141h61h65971Initialization
0 1 X 0 0 0 1 042h62h66982Invalid Command
0 1 X 0 0 0 1 143h63h67993Invalid Operand
0 1 X 0 0 1 0 044h64h681004Invalid Command Seq.
0 1 X 0 0 1 0 145h65h691015Fluid Detection
0 1 X 0 0 1 1 046h66h701026EEPROM Failure
0 1 X 0 0 1 1 147h67h711037Device not Initialized
0 1 X 0 1 0 0 149h69h731059Plunger Overload
0 1 X 0 1 0 1 04Ah6Ah7410610Valve Overload
0 1 X 0 1 0 1 14Bh6Bh7510711Plunger Move Not
0 1 X 0 1 1 1 14Fh6Fh7911115Command Overflow
Dec # if
Bit 5 =
Error
Code
Allowed
Error Reporting Examples
[A4000R]Does not return an error immediately after the
command, but when queried ([Q] command),
returns an “Invalid Parameter” error.
[A3000A3500R]Moves to position 3000, then stops. A [Q]
command returns an error.
[E2000R]Returns an invalid command error immediately.
The pump status is “Not Busy.”
[A3000E2000R]Returns an invalid command error immediately.
The pump is “Not Busy.”
Valve in Bypass [A1000R]Does not return an error immediately, but when
queried ([Q] command), returns a “Plunger Move
Not Allowed” error.
Software Communication 3-46
Page 83
4 - Setting Up the XP 3000 for Your Application
The XP 3000 is capable of providing precision pumping in a wide variety of hardware
and fluid systems. The interplay of fluid viscosity, aspiration and dispense speeds, and
system geometry [syringe size, tubing inner diameter (I.D.), and valve I.D.] determines
the behavior of the XP 3000 in a particular application. Following is a description of the
hardware, fluid, and pump control parameters to be evaluated and optimized in managing
these interdependencies for optimal pump performance.
Glossary
air gap
A small volume of air at the end of the output tubing or sandwiched between two
fluids in the pump system tubing. Air gaps may be created by aspirating air
(programmed air gaps) or by the spring action of the fluid system (inertial air gaps).
aspirate/dispense tubing
Connects the valve output port (1/4-28 thread or M6 fitting) to a sample so urce and
destination. To ensure good breakoff, aspirate/dispense tubing tends to have a
smaller I.D. than reagent tubing, and a necked-down or tapered end.
backlash
Mechanical play in the syringe drive created by accumulated mechanical clearances.
To maintain accuracy and precision when the syringe drive changes direction, the XP
3000 incorporates programmable backlash compensation.
backpressure
The pressure which must be exceeded to move fluid through tubing. Backpressure is
created by a combination of fluid inertia and friction.
breakoff
Describes how the last droplet of fluid exits the end of the output tubing following a
dispense. Rapid or sharp breakoff means that the droplet exits cleanly with high
inertia.
breakup
Undesired air gaps created by overly rapid aspiration.
Setting Up the XP3000 for Your Application 4-1
Page 84
carryover
Contamination of a volume of fluid by residual fluid from a previous aspiration or
dispense. Carryover causes variability in final volume and concentration.
cavitation
Formation of air bubbles due to rapid pressure changes.
dilution effect
Reduction in sample or reagent concentration, caused by contact with system fluid or
residual fluid from a previous aspiration or dispense.
I.D. (“inner diameter”)
Diameter of the constraining wall of a fluid path.
priming
Completely filling the pump tubing and syringe with bubble-free fluid to allow
sustained, reproducible pumping action. The air in an unprimed line acts as a spring,
adversely affecting accuracy and precision.
reagent tubing
Connects the valve input port (1/4-28 thread or M6 fitting) to a reagent source.
Reagent tubing is used to fill the pump syringe; it tends to have a larger I.D. than
aspirate/dispense tubing, and a blunt-cut end which extends into the reagent.
system fluid
A fluid used to prime the pump system that does not act as sample or reagent.
Typically the system fluid is deionized water or a wash buffer and is isolated from
sample or reagent fluid by an air gap to avoid intermixing.
Typically, the syringe plunger begins moving slowly, then ramps up to top velocity.
This allows the plunger to start moving gradually, without overloading the motor,
and still provide maximum flowrate. The syringe plunger stops by ramping down in
speed. This results in the most reproducible fluid breakoff for accurate dispensing.
Speed [Hz]
V
c
v
time in st
Figure 4-1. Syringe Speed
start velocity (v)
The speed at which the syringe plunger starts moving.
top velocity (V)
The maximum speed at which the syringe plunger moves.
cutoff velocity (c)
The speed of the syringe plunger just before stopping.
Setting Up the XP3000 for Your Application 4-2
Page 85
slope (L)
Acceleration (deceleration) of the syringe plunger between start velocity, top
velocity, and cutoff velocity.
The volume aspirated or dispensed when the syringe plunger moves a specified number
of steps depends on the syringe size. To determine the number of steps required to
aspirate or dispense a given volume, use the following formula:
# of steps= (pump resolution) x volume
(syringe size)
For example, to aspirate 100
plunger as follows:
# of steps= 3000 steps x 100
1 mL x 1000 µL/mL
µL using an XP 3000 pump with 1 mL syringe, move the
µL = 300 steps
Optimizing XP 3000 Performance
CAUTION!Run the pump only in the upright position. Do not move the pump valve
or syringe plunger without first wetting or priming the pump.
For command details, see Chapter 3, “Software Communication.”
To optimize XP 3000 performance, follow these steps:
1 Check chemical compatibility.
Check the chemical compatibility chart in Appendix D, “Chemical Resistance
Chart,” to determine if the fluids in your application are compatible with the XP
3000 syringe and valve materials. If not, a system fluid is required. Complete the
optimization procedure with the fluids you will use in your final system.
Note that the system fluid is used to prime the syringe and tubing from inlet to outlet.
After the tubing is primed (and before any sample or reagent is aspirated), an air gap
must be taken into the aspirate/dispense tubing to separate the system fluid from
subsequently aspirated sample or reagent. Air gaps should be aspirated slowly to
avoid break-ups, and they should be one-tenth the volume of the aspirated fluid
at least 10
aspirated fluid when performing multiple aspirates with no intervening dispenses, in
order to prevent premature mixing and/or contamination. In addition, the
aspirate/dispense tubing must be long enough to hold the total aspirate volume
without coming in contact with the valve or syringe.
µLto avoid any dilution effect. Similar air gaps should separate each
Setting Up the XP3000 for Your Application 4-3
or
Page 86
2 Select syringe size.
Determine your volume and flowrate requirements. Select a syringe that
accommodates the smallest and largest volumes to be dispensed without refill, as
well as the desired flowrate (see Table 4-1). While smaller syringes allow better
accuracy and precision, a larger syringe allows more aliquots when multiple
aspirations or multiple dispenses are required, and they allow better breakoff and
longer seal life.
In tubing selection, the general rule is that smaller syringes work best with smaller
I.D. tubing and larger syringes with larger I.D. tubing. Most XP 3000 valve styles
have an internal I.D. o f 0.059" (approx. 1 /16"). For aspirate/dispense tubing a
thermal-drawn tip or tapered tip is most common, providing good breakoff and
excellent accuracy and precision for most applications. A necked-down tip may be
used when aspirating very small volumes of sample, i.e., 1 - 5
µL. A blunt-cut tip is
better suited for large volume applications. For tubing recommendations, see Table
4-2; for a description of the various types of tubing, see Appendix A, “Ordering
Information.”
Connect power and communications cables to the pump, install syringe and tubing.
Place the end of the input tubing in a reservoir of particle-free fluid; place the end of
the output tubing in a waste reservoir.
5 Check communications to the pump.
a) Open the Pump:Link program to the XP 3000 menu (full page), or use
your own communications program.
b) Send the command [&] to read the pump’s firmware revision number.
Successful communication will return the revision number and a “Ready”
status.
Possible errors:
No response. Check for loose or incorrectly connected cables, or
connection to the wrong computer COM port. Retry.
6 Initialize pump and set initialization speed.
The following information assumes that your input tubing connects to t he right valve
port. If your input tubing connects to the left valve port, exchange [Y] for all
instances of [Z] in the following commands.
Send the command [ZR] to initialize the pump. Successful initialization
will move the syringe plunger to the position “0” (fully dispensed) and
return a “Ready” status.
Possible errors:
Error 1 (initialization error). Check for tubing blockage and reinitialize. If
you are using very narrow I.D. tubing or pumping a viscous fluid, the
initialization speed may need to be reduced.
This is accomplished (only if using a 1 mL or larger syringe) by sending
the command [Z16R] (initializes at full-force, reduced speed). Repeat with
decreasing initialization speed (increase “Z_” value) until the pump
successfully initializes.
7 Prime the syringe.
a) Send the command [IA3000OA0R] to pull fluid through the valve input
position and into the syringe.
b) Inspect the pump tubing and syringe for bubbles and re-prime until all
bubbles are completely gone.
If bubbles remain after several priming strokes, disassemble the syringe
and clean it with alcohol. Also check to ensure the fittings are tight and
the syringe is tight within the Teflon fitting.
c) Re-prime.
Possible errors:
Error 9 (plunger overload). See step 8.
Setting Up the XP3000 for Your Application 4-5
Page 88
8 Check aspirate/dispe nse.
Send the command [IA3000OA0R] to aspirate a full syringe stroke (3000 steps)
from input and dispense it to output. Successful execution will move the syringe
plunger to position “3000” then back to “0,” then it will return a “Ready” status.
Possible errors:
Error 9 (plunger overl oad). The stepper motor is unable to move the syringe
plunger, probably because of excessive backpressure caused by excessive
flowrate, narrow tubing I.D., or valve or tubing blockage. Note whether the error
occurred during aspiration or dispensing. To differentiate between blockage and
flowrate limitation, reduce syringe plunger speed by sending the command
[S12IA3000OA0R]. Repeat with decreasing plunger speed (increase “S_” value)
until the pump aspirates and dispenses successfully.
9 Set start velocity and top velocity.
The XP 3000 plunger speed can be controlled from 1.2 seconds per stroke to 20
minutes per stroke (top speed) using the [S] command. (The [V] command allows a
slightly larger speed range.) As a general rule, aspiration should be slow (to avoid
cavitation) and dispense fast (to promote breakoff). Since cavitation and breakoff
will affect both accuracy and precision, velocity settings may be optimized
separately for aspiration and dispense.
Using aspirate/dispense commands, set start velocity [v] and top velocity [V] to meet
applicati on throughput goals.
Send the command [v50IA3000OA0R]. Repeat with increasing start velocity
a)
(increase “v_” value) to find the maximum value.
Send the command [vxVxIA3000OA0R] to set top velocity equal to start
b)
velocity (
x). Repeat with increasing top velocity (increase “V_” value) to the
maximum value that does not overload the plunger or cause cavitation.
Now optimize start velocity and top velocity for dispensing using a similar
approach.
10 Set cutoff velocity and slope.
Using aspirate/dispense commands, set slope [L] and cutoff velocity [c] to attain
reproducible breakoff. Note that cutoff velocity controls only dispensing.
To optimize the slope, send the command [v
xVyL14IA3000OA0R]. Repeat with
modified slope (“L_” value) to achieve the overall time suited to your application
without plunger overload.
To optimize the cutoff velocity, start with the maximum cutoff velocity allowed for
your application (the lower of 2700Hz or the top velocity). Send the command
[cxIA3000OA0R] and monitor the dispense for plunger overload or any splattering
of the fluid dispensed outside of the dispense vessel. If any of these conditions
occurs, lower the cutoff velocity until the pump can dispense the fluid with clean
breakoff.
Setting Up the XP3000 for Your Application 4-6
Page 89
Another condition that affects breakoff is the formation of inertial air gaps. This is
seen as a small air gap inside the tubing at the tip. This occurs to a greater extent on
larger reagent syringes, and it enhances the breakoff of liquid from the tip of the
tubing. If an inertial air gap is not desired in the application, lowering the cutoff
velocity and/or the top velocity will remove the inertial air gap. However, this may
not give a clean breakoff of the fluid.
In some instances it may not be possible to improve fluid breakoff. Clean breakoff is
important to accuracy and precision; it is a concern especially when using slow
speeds because drops will usually adhere to the tip.
For example, using a 2.5 mL reagent syringe (P/N 5133, dispense tubing and
deionized water with a surfactant added):
* [S24IA3000OA0R] - will leave a drop on the tip
* [S24IA3000OA5S1A0R] - no drop will be left
* [V100IA3000OA0R] - will leave a drop on the tip
* [V100IA3000OA5V5500A0R] - no drop will be left
Increasing the cutoff velocity and ramp (slope) may also improve the fluid breakoff.
Smaller I.D. tubing may improve breakoff, especially for smaller syringes.
NOTE It may not be possible to achieve good fluid breakoff under all
circumstances, especially with syringes smaller than 500 µL or with some
fluids.
11 Set backlash compensation.
The XP 3000 pump control includes backlash compensation during aspiration. The
backlash compensation causes the plunger to move down to the calculated stopping
point, then down an additional set number of steps. On reversing direction, the
plunger moves back up the same number of steps. Backlash compensation maintains
accuracy and precision in the syringe plunger movement when the plunger changes
direction.
Aspirate, then perform multiple dispenses. Compare the first aliquot to others; if low,
increase backlash and retest. Set backlash as low as possible, but keep the first
aliquot equal to subsequent aliquots.
Setting Up the XP3000 for Your Application 4-7
Page 90
Helpful Hints
To maintain pump performance, keep the following in mind when operating the XP 3000:
❑ Wipe up all spills immediately.
❑ Pumping cold fluids may cause leaks, the result of differing coefficients of
expansion of Teflon and glass. Leaks may occur when pumping fluids that are at or
below 15
°C (61°F).
❑ To reduce the amount of carryover, a ratio of three parts reagent to one part sample
is recommended.
❑ Use organic solvents in the XP 3000 with caution. Using organic solvents may
reduce tubing and seal life.
Setting Up the XP3000 for Your Application 4-8
Page 91
5 - Maintenance
Although required maintenance may vary with your application, the following procedures
are recommended for optimal performance and maximum life of the XP 3000.
Perform maintenance tasks in these intervals:
• daily
• weekly
• periodically
Daily Maintenance
To ensure proper operation of the XP 3000, perform these tasks daily:
❑ Inspect the pump(s) for leaks, and correct any problems.
❑ Wipe up all spills on and around the pump.
❑ Flush the pump(s) thoroughly with distilled or deionized water after each use and
when the pump is not in use.
Do not allow the pump(s) to run dry for more than a few cycles.
Weekly Maintenance
The fluid path of the XP 3000 must be cleaned weekly to remove precipitates such as
salts, eliminate bacterial growth, and so on. Any of the three following cleaning
procedures can be used:
• Weak detergent
• Weak acid and base
• 10% bleach
The procedures using these solutions are described in the sections that follow.
Maintenance 5-1
Page 92
Weak Detergent Cleaning
To clean the pump with weak detergent, follow these steps:
1 Prime the pump with a weak detergent solution (e.g., 2% solution o f CONTRAD®,
RoboScrub, or flo-kleen) and allow the solution to remain in the pump with the
syringe fully lowered for 30 minutes.
2 After the 30-minute period, remove the reagent tubing from the detergent and cycle
all the fluid from the syringe and tubing into a waste container.
3 Prime the pump a minimum of 10 cycles with distilled or deionized water. Leave the
fluid pathways filled for storage.
CONTRAD can be purchased through Curtis Matheson Scientific, Inc. Order P/N 117-
655 for 500 mL syringe size.
flo-kleen can be purchased through Ciba Corning Gilford Systems. Order P/N 402342
for 400 mL syringe size.
RoboScrub is a phosphate-free detergent for cleaning and conditioning liquid handling
systems. RoboScrub rinses away chemicals, solvents, blood, and corrosive acids.
Weak Acid-Base-Sequence Cleaning
To clean the pump with weak acid and base, follow these steps:
1 Prime the pump with 0.1 N NaOH and allow the solu tion to remain in the pump(s)
for 10 minutes with the syringes fully lowered.
2 Flush the pump with distilled or deionized water.
3 Prime the pump with 0.1 N HCl, and allow the solution to remain in the pump for 10
minutes with the syringes fully lowered.
4 After a 10-minute period, remove the reagent tubing from 0.1 N HCl solution and
cycle all the fluid from the syringes and tubing into a waste container.
5 Prime the pump a minimum of 10 cycles with distilled or deionized water.
Maintenance 5-2
Page 93
10% Bleach Cleaning
To clean the pump with 10% bleach, follow these steps:
1 Make a solution of 10% bleach by adding one part of commercial bleach to nine
parts of water.
2 Prime the pump with the 10% bleach and allow the solution to remain in the pump
with the syringes fully lowered for 30 minutes.
3 After the 30-minute period, remove the reagent tubing from 10% bleach solution and
cycle all the fluid from the syringes and tubing into a waste container.
4 Prime the pump a minimum of 10 cycles with distilled or deionized water.
Periodic Maintenance
Tubing, syringe seals, and valves require periodic maintenance. If they become worn, you
are likely to notice these symptoms:
• Poor precision and accuracy
• Variable or moving air gap
• Leakage
If any of these symptoms occurs and it is not obvious which component is causing the
problem, it is easiest and most economical to replace one component at a time in the
following order:
• input and output tubing
• plunger seal
• valve
The frequency of replacement will depend on the duty cycle, fluids used, and instrument
maintenance.
Quality Control Assurance
Check the accuracy and precision of the XP 3000 on a regular basis.
Cavro recommends checking both accuracy and precision gravimetrically, using an
analytical balance with the capability to measure to 0.1 mg. Gravimetric measurements
should be corrected for the specific gravity of water at the ambient temperature.
The syringe can be checked by programming in the desired volume and determining the
weight of fluid dispensed.
To determine precision and accuracy, run a minimum of 20 replicates. The Mean,
Standard Deviation and Coefficient of Variation (see formula below) can then be
calculated. The calculations to determine accuracy must take into account the specific
gravity of water, which is dependent upon temperature. In addition, to prevent a false
Maintenance 5-3
Page 94
reading caused by fluid adhering to the tip of the aspirate tubing, a small amount of
surfactant should be added to the water (e.g., Fluorad
% Coefficient of Variation = (Standard Deviation/Mean) * 100
â at a 0.01% concentration).
æ
ç
ç
%CV =
% Accuracy =
where:
sg = specific gravity of H
Vol
expected
n = number of replicate
X = individual result
X = mean of all results
n
ç
ç
ç
è
= Expected volume to be dispensed
−
2
ü
ý
þ
100
ö
÷
÷
100
*
÷
÷
÷
ø
n
ì
1
í
1
−
î
å
=
i
2
n
−
X
i
1
X
X
é
ê
ê
ö
æ
X
*
÷
ç
sg
ø
è
ê
Vol
ê
ê
ë
exp
2
ù
100
ú
ú
ú
ected
ú
ú
û
0 @ 25°C = 0.99707
Replacing Dispense or Reagent Tubing
To replace dispense or reagent tubing, follow these steps:
1 To remove the tubing, use a 5/16" wrench and gently loosen the fittings.
2 Unscrew the fittings and remove the tubing.
3 To install new tubing, insert the fitti ng into the valve and tighten it finger tight.
4 Using a 5/16" wrench, turn the fitting another ¼ to ½ turn.
Maintenance 5-4
Page 95
Replacing a Syringe
To replace a syringe, follow these steps:
1Remove the liquid from the syringe.
2Loosen the plunger lock screw approximately three full turns.
3Lower the plunger drive by sending the [A3000R] command. If power is not
4Unscrew the syringe from the valve.
5To install the syringe, do the following, as shown in Figure 5-1:
NOTE Make sure the plunger lock screw is securely tightened.
applied, the plunger drive can be manually lowered by firmly pushing down on
the plunger holder assembly.
a Screw the syringe into the valve.
b Pull the syringe plunger down to the plunger holder assembly.
c Screw the syringe plunger into place.
Figure 5-1. Syringe Replacement
6
Re-initialize the pump.
Maintenance 5-5
Page 96
Replacing the Reagent Syringe Seals
NOTESee Chapter 2, “Hardware Setup,” for an illustration of the syringe
components.
To replace the reagent syringe seals, follow these steps:
1 Remove the syringe from the pump.
2 Remove the syringe plunger from the barrel.
3 Using a single edged razor or precision knife, carefully slice the old seal lengthwise
and remove it from the plunger. Car e must be taken not to damage the plunger or
“O”-rings beneath the seal.
4 Wet the “O”-ring (if present) and plunger tip with distilled or deio nized water.
5 Place the seal on a flat surface with the open end facing up. Press the plunger tip
firmly into the hole until it snaps into position.
6 Lay the plunger on a flat table top, and position it so that the seal (fro m the “O”-ring
up) hangs over the edge.
7 Slowly roll the plunger along the table edge pressing firmly on the portion of the seal
below the “O”-ring. See Figure 5-2.
Figure 5-2. Syringe Seal Assembly
8 Rotate the plunger three complete turns. This is necessary to make the sharp raised
edge of the plunger bite into the seal for a secure fit.
9 Wet the seal with distilled or deionized water, replace the plunger, then replace the
syringe.
NOTE Syringe sizes 250 µL, 500 µL, 1 mL, 2.5 mL, and 5.0 mL have “O”-rings.
Maintenance 5-6
Page 97
Replacing the XP 3000 Valve
To replace the XP 3000 valve, follow these steps:
1 Re move the fluid from the pump.
2 Initialize the pump using the [ZR] command so that the offset tab on the encoder is
in the correct orientation (vertically and to your right).
3 Remove the syringe and tubing.
4 Remove the two Phillips head screws on the front of the valve, then remove the
valve from the pump.
5 To install the valve, first rotate the valve coupling to the position shown on the left in
Figure 5-3 (vertically with the tab to your left).
Figure 5-3. XP 3000 Valve Replacement (3-Port Valve Shown)
6 Verify that the offset tab on the encoder in the pump is correctly oriented (vertically
with the tab to your right).
7 Install the new valve by inserting the slot in the valve coupling onto the tab of the
encoder. The valve should be oriented with the tube fittings on top and the syringe
fitting on the bottom.
8 Gently push the valve in place, matching the locating pins on the valve with the
holes on the pump front.
9 Replace the valve screws. Tighten ¼ to ½ turn after the screws contact the valve
body.
Maintenance 5-7
Page 98
On-Site Replacements
Replacing the Printed Circuit Board (PCB)
To replace the printed circuit board, follow these steps:
1 Power off the pump.
2 Remove the back panel by unscrewing the four hex sid e panel screws and the two
standoff screws holding the DB-15 connector.
3 Remove the two hex screws that hold the printed circuit board to the pump.
4 Note the cable connection locations and unplug the cable from the board.
5 Plug the cables into the new board.
6 Install the new board and screw it into place.
7 Reinstall the DB-15 connector using the two standoff screws, then replace the back
panel using the four back panel screws.
8 Power on and reinitialize the pump.
Replacing the EPROM
To replace the EPROM, follow these steps:
1 Power down the pump.
2 Remove the back panel by unscrewing the four hex sid e panel screws and the two
standoff screws holding the DB-15 connector.
3 Remove the old EPROM by using a PROM puller. The EPROM is located in
position U8 on the printed circuit board. (See Chapter 2, “Hardware Setup.”)
4 To install the new EPROM, position the notched end of the EPROM so that it faces
the bottom of the pump. Make sure all metal pins are aligned with the holes on the
receptacle.
5 Once the pins are seated in the holes, press the EPROM firmly into place. If the two
rows of pins are too far apart to match the hole on the receptacle, gently press the
side of a complete row of pins against a table top to push the row slightly toward the
center.
NOTECare must be taken not to bend any of the pins on the EPROM.
6 Replace the back panel and DB-15 connector.
7 Power on and reinitialize the pump.
Maintenance 5-8
Page 99
6 - Technical Service
For information or questions regarding ordering or operating the XP 3000, please contact
Cavro Technical Service using one of the methods listed below.