CH-9101 |
Herisau/Switzerland |
Phone |
+41 71 353 85 85 |
Fax |
+41 71 353 89 01 |
info@metrohm.ch |
|
Internet |
www.metrohm.ch |
Version 1.0
Reference manual
8.104.0003 |
06.2005 / dm |
Table of content
1 Overview ................................................................ |
1 |
||
1.1 |
Distributed files .............................................................................................. |
1 |
|
1.2 |
The 846 Dosing Interface............................................................................... |
2 |
|
|
1.2.1 |
System connections................................................................................. |
2 |
|
1.2.2 |
Connectors of the 846 Dosing Interface .................................................. |
3 |
|
1.2.3 |
PC connection .......................................................................................... |
3 |
|
1.2.4 |
Dosino Connection................................................................................... |
4 |
1.3 |
Metrohm 700/800 Dosinos and Dosing Units............................................... |
5 |
|
|
1.3.1 |
Dosing/Filling the dosing cylinder............................................................ |
6 |
|
1.3.2 |
Switching the valve disk ........................................................................... |
7 |
|
1.3.3 |
Port assignment ....................................................................................... |
7 |
|
1.3.4 |
Standard occupancy of the Dosino ports:............................................... |
8 |
2 DLL Reference ....................................................... |
9 |
||
2.1 |
Constants ....................................................................................................... |
9 |
|
|
2.1.1 |
Return states ............................................................................................ |
9 |
|
2.1.2 |
Dosino states............................................................................................ |
9 |
|
2.1.3 |
Piston movement.................................................................................... |
10 |
|
2.1.4 |
Valve disk................................................................................................ |
11 |
2.2 |
Functions ..................................................................................................... |
12 |
|
|
2.2.1 |
Init846 ..................................................................................................... |
12 |
|
2.2.2 |
GetProgramVersion................................................................................ |
12 |
|
2.2.3 |
GetInterfaceId......................................................................................... |
12 |
|
2.2.4 |
Status...................................................................................................... |
13 |
|
2.2.5 |
GetCylVolume......................................................................................... |
13 |
|
2.2.6 |
DU_Cock ................................................................................................ |
13 |
|
2.2.7 |
ZeroAdjust .............................................................................................. |
14 |
|
2.2.8 |
Adjust...................................................................................................... |
14 |
|
2.2.9 |
GoPos..................................................................................................... |
14 |
|
2.2.10 |
DU_ToEnd .............................................................................................. |
15 |
|
2.2.11 |
DU_MakeStep ........................................................................................ |
15 |
|
2.2.12 |
DU_Fill .................................................................................................... |
15 |
|
2.2.13 |
DU_Exchange......................................................................................... |
16 |
|
2.2.14 |
DosStop.................................................................................................. |
16 |
|
2.2.15 |
DosHold.................................................................................................. |
16 |
|
2.2.16 |
DosContinue........................................................................................... |
17 |
|
2.2.17 |
DU_Prep ................................................................................................. |
17 |
|
2.2.18 |
Empty...................................................................................................... |
17 |
|
2.2.19 |
GetInterfaceError .................................................................................... |
18 |
2.3 |
Error Messages........................................................................................... |
19 |
3 Annex ................................................................... |
|
20 |
3.1 Programming interface definitions ............................................................ |
20 |
|
3.1.1 |
Java interface class................................................................................ |
20 |
3.1.2 |
Java interface exception class ............................................................... |
28 |
3.1.3 |
C++ interface definition header file ...................................................... |
29 |
3.1.4 |
Delphi Interface ...................................................................................... |
36 |
3.1.5 |
Visual Basic Interface ............................................................................. |
43 |
Dosing Interface USB Toolbox
The Liquid Handling library for Metrohm 846 Dosing Interface provides a Dynamic Link Library (DLL) for the software development for the Microsoft Windows® 2000 and XP operating systems. Based on the Metrohm Universal Serial Bus driver (metr_770.dll) the Liquid Handling Library offers all functions necessary for free programming of liquid handling processes with the versatile Dosino drives.
The following programming languages are supported:
•JAVA
•C++
•Delphi
•Visual Basic
For these languages programming interface definitions are available, see annex.
1.1 Distributed files
This distribution includes the following files:
DosIntFace846.dll |
846 Dosing Interface driver |
DosIntFace846.lib |
Library |
DosIntFace846.def |
Definition file |
metr_770.dll |
Metrohm USB driver |
metr_770.inf |
Installation file |
metr_770.sys |
System file |
DosIntFace846.java |
Java interface class |
DosIntFace846Exception.java |
Java interface exception class |
DosIntFace846.html |
JavaDoc file |
DosIntFace846Exception.html |
JavaDoc file |
DosIntFace846.h |
C++ interface header file |
DosIntFace846.pas |
Delphi interface |
DosIntFace846.bas |
Visual Basic interface |
Demo_846.exe |
Executable demo program |
8.104.0003.pdf |
Reference manual |
Dosing Interface USB Toolbox, Overview |
1 |
1.2 The 846 Dosing Interface
The 846 Dosing Interface is part of the Metrohm Titrando system as a system component and control instrument. The instruments are controlled via USB 1.1 connections.
The four MSB connectors (MSB=Metrohm Serial Bus) of the 846 Dosing Interface enable the operation of Metrohm Dosinos (models 700 and 800) which allow complex liquid handling processes.
One or more 846 Dosing Interfaces can be controlled at the same time. Each of them can operate up to four Metrohm 700/800 Dosinos.
700/800 Dosinos
USB
MSB1...4
6.2151.000 Controller cable
USB
846 Dosing Interface
700/800 Dosinos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MSB1...4 |
6.2151.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Controller cable |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USB
846 Dosing Interface
Fig. 1 System connections
Several 846 Dosing Interfaces can be connected via USB in a daisy chain. All of these instruments can be controlled by a PC software via USB. The Metrohm USB driver (metr_770.dll) controls the basic USB data transfer. The Dosing Interface USB Toolbox provides the low level functions for controlling the Dosino drives.
2 |
Dosing Interface USB Toolbox, Overview |
1.2 The 846 Dosing Interface
2
MSB3 MSB4
1
USB1
USB2 |
Controller |
MSB1 |
MSB2 |
100 - 240 V |
|
|
|
|
f 50-60 Hz |
|
|
|
|
P 45 W |
3
5
6
Fig. 2: Rear view of the 846 Dosing Interface
1 USB connections USB 1 and USB 2 |
4 Controller connection |
USB ports (type A) for connection of peripheral devices or further Dosing Interfaces.
Connection for PC or further Dosing interfaces. Use 6.2151.000 controller cable.
2 |
MSB connections MSB 1 to MSB 4 |
|
5 Mains socket |
|
Connection for dosing drives. |
|
Mains connection |
|
|
|
|
3 |
Instrument type and serial number |
|
|
|
|
|
|
Dosing Interface
Fig. 3: Dosing Interface – Personal Computer
Always use the 6.2151.000 Controller cable to connect a 846 Dosing Interface to the USB socket of a PC or another 846 Dosing Interface.
You can extend the connection with a commercially available USB extension cable (type A/m – type A/f). The length of the connection should not exceed 5 m. If you require a longer connection then you need a USB signal amplifier. Up to five USB signal amplifiers can be connected in series; this allows a maximum extension of 25 m.
Dosing Interface USB Toolbox, Overview |
3 |
1.2 The 846 Dosing Interface
MSB
Dosing Interface
Fig. 4: Connecting a Dosino drive
700/800 Dosino drives are connected at the MSB connecters 1 to 4. A Dosino drive can be recognized and integrated in a system by use of the Init846() function. The MSB(…) connector specifies the Dosino number.
4 |
Dosing Interface USB Toolbox, Overview |
1.3 Metrohm 700/800 Dosinos and Dosing Units
The Metrohm 800 Dosino is a versatile dosing drive which can be used with various Metrohm dosing or titrating instruments (e.g. 808 or 809 Titrando). The 800 Dosino and its associated 807 Dosing unit are suitable for use as a buret, not just for simple dosing tasks and titrations, etc. but also for complex automation and liquid handling applications, such as sample transfer or pipetting.
800 Dosino |
20 |
|
|
|
10 |
|
|
|
5 |
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
50 |
800 Dosino |
|
The 800 Dosino together with an 807 Dosing unit (available with 2, 5, 10, 20 or 50 mL cylinder) forms a buret unit for simple dosing tasks or complex liquid handling applications.
The dosing units are normally mounted on reagent bottles and tubing is connected to the necessary dosing inlets and outlets. Four ports are available.
The 800 Dosino dosing drive can be simply attached to and removed from a dosing unit.
When the drive is attached the dosing piston in the dosing unit is coupled to drive rod 9 of the drive and cam 10 of the drive is guided into the recess provided for it in the centering tube of the dosing.
Dosing Interface USB Toolbox, Overview |
5 |
1.3 Metrohm 700/800 Dosinos and Dosing Units
9
12
13
14
15
When the liquid is ejected push rod 9 of the 800 Dosino pushes dosing piston 12 in the cylinder downward. The liquid in cylinder 13 is forced through the valve disk in cylinder base 14 into one of the four openings in distributor disk 15, depending on the valve disk position. In distributor 17 the liquid is transferred to a dosing port
16.
When the valve disk has been switched (see below), i.e. rotated, then liquid is aspirated in the opposite direction through a different port by pulling dosing piston 12 upward with push rod 9 of the drive.
As the dosing units are exchangeable the coupling of push rod 9 has a slight mechanical tolerance that comes into effect when the direction of motion of piston 12 changes. In automated processes the drive compensates mechanically for this tolerance.
The piston movements are controlled by the accurate electronic precision engineering of the drive which, independent of the cylinder volume, has a resolution of 10 000 increments throughout the whole piston stroke.
16
17
Fig. 5 Function: dosing/filling
6 |
Dosing Interface USB Toolbox, Overview |
1.3 Metrohm 700/800 Dosinos and Dosing Units
10
19
4
14
18
15
16
Fig. 6 Function: switching the valve disk
The dosing unit has four ports. Two of them are on the outer housing and two on the bottom of the dosing unit. Depending on the position of black valve disk 18 a connection between cylinder 13 and the opening of white distributor disk 15 assigned to the port is made.
The drive attached to the dosing unit uses cam 10 to rotate centering tube 19 and therefore the whole inner cylinder unit with cylinder base 14 and valve disk 18 which it contains. After a rotation of the cylinder unit the opening of valve disk 18 points to a different opening in distributor disk 15. This means that a different port 16 has been selected for dosing (or filling).
Distributor 17 of a dosing unit has four freely addressable inlets/outlets (ports) and an additional connection which leads directly to the lower side of distributor 17. This VENT port, which cannot be addressed by the 4-way valve disk, is responsible for venting the storage bottle and can be fitted with a drying tube.
VENT
Port 4
Port 1 |
Port 3 |
Port 2
Fig. 7 Dosing unit seen from below
The inlets and outlets (ports) of the 807 Dosing unit can be used in different ways. This is an important precondition for complex liquid handling applications. Metrohm titrators (e.g. 808 and 809 Titrando) use a standard port assignment that is the most suitable one for titration applications.
Dosing Interface USB Toolbox, Overview |
7 |
1.3 Metrohm 700/800 Dosinos and Dosing Units
Port 1 Dosing outlet; M6 threaded connection on the left-hand side of the housing.
The liquid is ejected through a dosing tip or a titration tip.
Port 2 Filling inlet; M6 threaded connection on the base of the dosing unit.
The liquid is aspirated from a storage container.
Port 3 Not assigned; M6 threaded connection on the right-hand side of the housing.
Port 4 Special functions; narrow connection nipple on the base of the dosing unit. This can be used during the 'PREP' function for ejecting the liquid. When the dosing unit is emptied port 4 is used as the air inlet.
VENT Vents the storage container; M6 threaded connection at the front. A drying tube can be connected to it, e.g. filled with molecular sieve or soda lime.
8 |
Dosing Interface USB Toolbox, Overview |
This Reference applies to the interfaces of the programming languages C++,
Delphi and Visual Basic. For descriptions of the Java interface, see 3.1.1
2.1 Constants
enum eReturnstate |
|
{ |
|
RET_STAT_OK |
= 0, |
RET_STAT_nvNumber |
= 1, |
RET_STAT_noDosino |
= 2, |
RET_STAT_commError |
= 3, |
RET_STAT_argError |
= 4, |
RET_STAT_nvAction |
= 5 |
};
These are the return values of the Dosino functions, except Init846().
OK |
function could be set up correctly |
nvNumber |
not a valid 846 Dosing Interface number or Dosino number |
noDosino |
not a valid Dosino |
commError |
communication error |
argError |
function arguments out of specified range |
nvAction |
not a valid action |
enum eDosinoState |
|
{ |
|
DOS_STAT_IDLE |
= 0, |
DOS_STAT_FILL |
= 1, |
DOS_STAT_EXCHANGE |
= 2, |
DOS_STAT_POSITION |
= 3, |
DOS_STAT_ZEROADJUST |
= 4, |
DOS_STAT_ADJUST |
= 5, |
DOS_STAT_COCK |
= 6, |
DOS_STAT_TOENDDOS |
= 7, |
DOS_STAT_DOS |
= 8, |
DOS_STAT_PREPAR |
= 9, |
DOS_STAT_EMPTY |
= 10, |
DOS_STAT_BUSY |
= 11, |
DOS_STAT_HOLD_FILL |
= 12, |
DOS_STAT_HOLD_EXCHANGE |
= 13, |
DOS_STAT_HOLD_POSITION |
= 14, |
DOS_STAT_HOLD_ZEROADJUST |
= 15, |
DOS_STAT_HOLD_ADJUST |
= 16, |
DOS_STAT_HOLD_TOENDDOS |
= 17, |
DOS_STAT_HOLD_DOS |
= 18, |
DOS_STAT_HOLD_PREPAR |
= 19, |
DOS_STAT_HOLD_EMPTY |
= 20, |
DOS_STAT_TIMEOUT |
= 21, |
DOS_STAT_UNDEFINED |
= 22 |
}; |
|
Dosing Interface USB Toolbox, DLL Reference |
9 |
|
|
2.1 Constants |
|
|
|
|
|
|
|
Status messages of a Dosino which are returned by the Status() function. |
|
|
|
|
|
IDLE |
Dosino is ready to execute a function |
|
FILL |
Cylinder is being filled |
|
EXCHANGE |
Dosino is executing Exchange function |
|
POSITION |
Dosino is executing GoPos function |
|
ZEROADJUST |
Dosino is executing ZeroAdjust function |
|
ADJUST |
Dosino is executing Adjust function |
|
COCK |
Dosino is executing Cock function |
|
TOENDDOS |
Dosino is executing ToEnd function |
|
DOS |
Dosino is executing MakeStep function |
|
PREPAR |
Dosino is executing Prep function |
|
EMPTY |
Dosino is executing Empty function |
|
BUSY |
Dosino is busy |
|
HOLD_FILL |
Dosino is halted while filling |
|
HOLD_EXCHANGE |
Dosino is halted in Exchange function |
|
HOLD_POSITION |
Dosino is halted in GoPos function |
|
HOLD_ZEROADJUST |
Dosino is halted in ZeroAdjust function |
|
HOLD_ADJUST |
Dosino is halted in Adjust function |
|
HOLD_TOENDDOS |
Dosino is halted in ToEnd function |
|
HOLD_DOS |
Dosino is halted in MakeStep function |
|
HOLD_PREPAR |
Dosino is halted in Prep function |
|
HOLD_EMPTY |
Dosino is halted in Empty function |
|
TIMEOUT |
Dosino is in timeout |
|
UNDEFINED |
Dosino is in undefined status |
enum eDirection |
|
{ |
|
DIR_fwd |
=0, |
DIR_rev |
=1 |
}; |
|
|
|
Moving directions of a Dosino piston. |
|
fwd |
Forward, dosing (0 Æ 10000 pulses) |
rev |
Reverse, filling (10000 Æ 0 pulses) |
rv
fw
10 |
Dosing Interface USB Toolbox, DLL Reference |
2.1 Constants
enum eCockMove |
|
{ |
|
CK_MV_Asc |
=0, |
CK_MV_Desc |
=1, |
CK_MV_Auto |
=2, |
CK_MV_NotOver |
=3 |
}; |
|
Turning mode of a Dosing Unit's valve disk. Port 1 to 4 of a Dosing Unit can be accessed in different orders.
Asc |
Ascending order (Port 1 Æ 4) |
Desc |
Descending order (Port 4 Æ 1) |
Auto |
automatic mode, shortest path |
NotOver |
protected mode, a specified port will not |
|
be crossed |
desc. asc.
Dosing Interface USB Toolbox, DLL Reference |
11 |
2.2 Functions
bool Init846()
Initializes all the connected Metrohm 846 Dosing Interfaces found in the USB chain. All Dosino drives are recognized and the Dosing Units are reset. Running processes are stopped.
This function returns true if everything is initialized correctly.
Input parameters
none
Output parameters
bool
GetProgramVersion(long IfNo, char* ProgramVersion, long Prog-
VerBufSize)
Reads the program version of the Dosing Interface firmware.
Input parameters |
|
|
IfNo |
long |
Dosing Interface [1… ] |
ProgVerBufSize |
long |
Number of characters |
Output parameters |
|
|
eReturnstate |
|
return value |
ProgramVersion |
char* |
Text string of program version |
GetInterfaceId(long IfNo, long& InterfaceId)
Reads the serial number of a Dosing Interface. The serial number can be used as a unique identifier of a Dosing Interface.
Input parameters |
|
|
IfNo |
long |
Dosing Interface [1… ] |
Output parameters |
|
|
eReturnstate |
|
return value |
InterfaceId |
long |
serial number of Dosing Interface |
12 |
Dosing Interface USB Toolbox, DLL Reference |