Overview

Functions to control the pump parameters like flow and volume.

This groups defines all functions to control the pump and to control simple dosing tasks like dosing volumes and generating constant flow.

+ Collaboration diagram for Pump Control:

Functions

long LCP_Aspirate (dev_hdl hPump, double Volume, double Flow)
 Aspirate a certain volume with a certain flow rate. More...
 
long LCP_Dispense (dev_hdl hPump, double Volume, double Flow)
 Dispense a certain volume with a certain flow rate. More...
 
long LCP_GenerateFlow (dev_hdl hPump, double FlowRate)
 Generate a continuous flow. More...
 
long LCP_PumpVolume (dev_hdl hPump, double Volume, double Flow)
 Pump a certain volume with a certain flow rate. More...
 
long LCP_SetFillLevel (dev_hdl hPump, double Level, double Flow)
 Pumps fluid with the given flow rate until the requested fill level is reached. More...
 
long LCP_StopAllPumps ()
 Immediately stop pumping off all pumps. More...
 
long LCP_StopPumping (dev_hdl hPump)
 Immediately stop pumping. More...
 
long LCP_SyringePumpCalibrate (dev_hdl hPump)
 Executes a reference move for a syringe pump. More...
 

Function Documentation

long LCP_Aspirate ( dev_hdl  hPump,
double  Volume,
double  Flow 
)

Aspirate a certain volume with a certain flow rate.

Parameters
[in]hPumpA valid pump handle
[in]VolumeThe volume to aspirate in physical units
[in]FlowThe flow rate to use to aspirate the volume negative flow rates are invalid
Return values
ERR_NOERRindicates success
-ERR_PARAM_RANGELevel or Flow value is out of ranges
Examples:
capi_nemesys_test.cpp.
long LCP_Dispense ( dev_hdl  hPump,
double  Volume,
double  Flow 
)

Dispense a certain volume with a certain flow rate.

Parameters
[in]hPumpA valid pump handle
[in]VolumeThe volume to dispense in physical units
[in]FlowThe flow rate to use to dispense the volume negative flow rates are invalid
Return values
ERR_NOERRindicates success
-ERR_PARAM_RANGELevel or Flow value is out of range
Examples:
capi_nemesys_test.cpp.
long LCP_GenerateFlow ( dev_hdl  hPump,
double  FlowRate 
)

Generate a continuous flow.

Parameters
[in]hPumpA valid pump handle
[in]FlowRateA positive flow rate indicates dispensing and a negative flow rate indicates aspiration
Return values
ERR_NOERRindicates success
-ERR_PARAM_RANGEFlow value is out of range
Examples:
capi_contiflow_test.cpp, capi_nemesys_forcemon_test.cpp, capi_nemesys_test.cpp, and capi_pressure_control_test.cpp.
long LCP_PumpVolume ( dev_hdl  hPump,
double  Volume,
double  Flow 
)

Pump a certain volume with a certain flow rate.

Parameters
[in]hPumpA valid pump handle
[in]VolumeThe volume to pump in physical units negative volumes indicate aspiration positive volumes indicate dispensing
[in]FlowThe flow rate to use to pump the volume
Return values
ERR_NOERRindicates success
-ERR_PARAM_RANGELevel or Flow value is out of range
Examples:
capi_contiflow_test.cpp, and capi_nemesys_test.cpp.
long LCP_SetFillLevel ( dev_hdl  hPump,
double  Level,
double  Flow 
)

Pumps fluid with the given flow rate until the requested fill level is reached.

Depending on the requested fill level given in Level parameter this function may cause aspiration or dispension of fluid. This function only works properly for pump devices that support a fill level (eg. syringe pumps). Pumps like peristaltic pumps do not support a fill level and the function returns an error for unsupported pump types.

Parameters
[in]hPumpA valid pump handle
[in,out]LevelThe requested fill level. A level of 0 indicates a completely empty container (eg. empty syringe).
[in,out]FlowThe flow rate to use for pumping
Return values
ERR_NOERRindicates success
-ERR_PARAM_RANGELevel or Flow value is out of range
Examples:
capi_nemesys_test.cpp.
long LCP_StopAllPumps ( )

Immediately stop pumping off all pumps.

Returns
Error code - ERR_NOERR indicates success
long LCP_StopPumping ( dev_hdl  hPump)

Immediately stop pumping.

Parameters
[in]hPumpA valid pump handle
Returns
Error code - ERR_NOERR indicates success
Examples:
capi_contiflow_test.cpp, and capi_nemesys_forcemon_test.cpp.
long LCP_SyringePumpCalibrate ( dev_hdl  hPump)

Executes a reference move for a syringe pump.

You can use the function LCP_IsPositionSensingInitialized() to find out, if a reference move is required for a certain pump device. A reference move is only required, if the pump does not have an absolute encoder (like the new Nemesys 4 devices Nemesys M and Nemesys S) and if it has been powered off. That means, if you close your application that uses this library and restart it without powering off the pump, then a calibration is not required because the pump keeps its position value as long as it is powered on.

Warning
A reference move will move the pusher slightly below the zero position. This may cause a damage to a mounted glass syringe. So if you use this function in your software, you should warn the user about this risk and ask him to unmount the syringe.
Parameters
[in]hPumpA valid pump handle
Return values
ERR_NOERRindicates success
-ERR_DEVNOSUPPis returned if the device has an absolute encoder and a calibration is not required.
See also
LCP_IsCalibrationFinished(), LCP_IsPositionSensingInitialized()
Examples:
capi_contiflow_test.cpp, capi_nemesys4_test.cpp, and capi_nemesys_test.cpp.