Continuous Flow Functions

Overview

Functions for creation and control of continuous flow pumps.

+ Collaboration diagram for Continuous Flow Functions:

Functions

long LCP_ConfigureContiFlowValve (dev_hdl hContiFlowPump, unsigned int PumpChannelIndex, unsigned int ValveIndex, dev_hdl Valve, int AspiratingPos, int DispensingPos, int ClosedPos)
 Configures the continuous flow valve for one syringe pump channel of a continuous flow pump. More...
 
long LCP_CreateContiFlowPump (dev_hdl hPump1, dev_hdl hPump2, dev_hdl *ContiFlowPumpHandle)
 Create a continuous flow pump from two syringe pumps. More...
 
long LCP_GetContiFlowSyringePump (dev_hdl hContiFlowPump, unsigned int Channel, dev_hdl *SyringePumpHandle)
 Returns the device handle for the syringe pump 1 or 2 of this continuous flow pump. More...
 
long LCP_InitializeContiFlow (dev_hdl hContiFlowPump)
 Initialize the continuous flow pump. More...
 
long LCP_IsContiFlowInitialized (dev_hdl hContiFlowPump)
 Returns true, if the conti fow pump is initialized and ready for continuous flow start. More...
 
long LCP_IsContiFlowInitializing (dev_hdl hContiFlowPump)
 Returns true, if the conti fow pump initialization is just active. More...
 
enum  LCP_ContiFlowProperties {
  PropertyCrossFlowDuration_s, PropertyOverlapDuration_s, PropertyMinPumpFlow, PropertyMaxRefillFlow,
  PropertyRefillFlow, PropertySwitchingMode
}
 Device property identifiers that can be used with the LCB_GetDeviceProperty() and LCB_SetDeviceProperty() function to read and write certain device properties of continuous flow pump. More...
 
enum  eSwitchingMode { SwitchingCrossFlow }
 Supported continuous flow switching modes. More...
 

Enumeration Type Documentation

Supported continuous flow switching modes.

Enumerator
SwitchingCrossFlow 

Cross fade flows of both pumps.

Device property identifiers that can be used with the LCB_GetDeviceProperty() and LCB_SetDeviceProperty() function to read and write certain device properties of continuous flow pump.

Enumerator
PropertyCrossFlowDuration_s 

Use this property ID to set and get the cross flow duration for the continuous flow.

The cross flow duration is the time the pump running empty decelerates while the filled pump accelerates.PropertyCrossFlowDuration_s

PropertyOverlapDuration_s 

The overlap duration is a time the refilled pump will start earlier than the empty pump stops.

You can use this time to ensure that the system is already pressurized when switching over.PropertyOverlapDuration_s

PropertyMinPumpFlow 

Returns the minimum flow that is theoretically possible with the syringe pumps.

PropertyMinPumpFlow

PropertyMaxRefillFlow 

Returns the maximum refill flow that is possible with the configured syringe pumps.

PropertyMaxRefillFlow

PropertyRefillFlow 

Use this property to set and read the refill flow for the continuous flow pump.

The refill flow speed limits the maximumFlow() that is possible with a continuous flow pump.PropertyRefillFlow

PropertySwitchingMode 

Sets the switching mode for syringe pump switchover if one syringe pump runs empty.

PropertySwitchingMode

Function Documentation

long LCP_ConfigureContiFlowValve ( dev_hdl  hContiFlowPump,
unsigned int  PumpChannelIndex,
unsigned int  ValveIndex,
dev_hdl  Valve,
int  AspiratingPos,
int  DispensingPos,
int  ClosedPos 
)

Configures the continuous flow valve for one syringe pump channel of a continuous flow pump.

A continuous flow pump consists of two syringe pump and each syringe pump channel has its own continuous flow valve. A continuous flow valve is a "virtual" valve that

  • may consist of a 3/2 way valve and a switchable close valve or
  • two switchable valves forming a 3/4 way valve or
  • one single 3/4 way valve
    Parameters
    [in]hContiFlowPumpContinuous flow pump handle create with LCP_CreateContiFlowPump
    [in]PumpChannelIndexChannel index 0 or 1 for the syringe pump channel 0 or 1 of the given hContiFlowPump
    [in]ValveIndexThe index 0 or 1 of the physical valves that form a continuous flow valve.
    [in]ValveThe valve handle of the real valve
    [in]AspiratingPosThe target position index for the valve when the pump channel given in PumpChannelIndex aspirates. Use -1 for no valve switching
    [in]DispensingPosThe target position index for the valve when the pump channel given in PumpChannelIndex dispenses. Use -1 for no valve switching
    [in]ClosedPosThe target position index for the valve when the pump channel given in PumpChannelIndex needs a closed valve - e.g for pre pressurizing.
    Returns
    Error code - ERR_NOERR indicates success
Examples:
capi_contiflow_test.cpp.
long LCP_CreateContiFlowPump ( dev_hdl  hPump1,
dev_hdl  hPump2,
dev_hdl ContiFlowPumpHandle 
)

Create a continuous flow pump from two syringe pumps.

A continuous flow pump is a "virtual" pump device that is created from two syringe pumps.

Parameters
[in]hPump1Device handle of the first syringe pump.
[in]hPump2Device handle of the second syringe pump.
[out]ContiFlowPumpHandleDevice handle of the created continuous flow pump
Returns
Returns -ERR_INVAL if the pump device handles given in hPump1 and hPump2 are no syringe pump handles.
Note
For best results it is recommended that the two given syringe pumps hPump1 and hPump2 should be of the same device type (such as 2 x nemesys M)
Examples:
capi_contiflow_test.cpp.
long LCP_GetContiFlowSyringePump ( dev_hdl  hContiFlowPump,
unsigned int  Channel,
dev_hdl SyringePumpHandle 
)

Returns the device handle for the syringe pump 1 or 2 of this continuous flow pump.

Parameters
[in]hContiFlowPumpContinuous flow pump handle create with LCP_CreateContiFlowPump
[in]Channel0 or 1
[in]SyringePumpHandleReturns the device handle of the syringe pump for the given Channel.
Returns
Error code - ERR_NOERR indicates success
Examples:
capi_contiflow_test.cpp.
long LCP_InitializeContiFlow ( dev_hdl  hContiFlowPump)

Initialize the continuous flow pump.

Call this function after all parameters have been set, to prepare the conti flow pump for the start of the continuous flow. The initialization procedure ensures, that the syringes are sufficiently filled to start the continuous flow. So calling this function may cause a syringe refill if the syringes are not sufficiently filled. So before calling this function your should ensure, that syringe refilling properly works an can be executed. If you have a certain syringe refill procedure, you can also manually refill the syringes with the normal syringe pump functions. If the syringes are sufficiently filled if you call this function, no refilling will take place.

Note
You can interrupt a running initialization procedure by calling the LCP_StopPumping() function.
You can use the functions LCP_IsContiFlowInitializing() and LCP_IsContiFlowInitialized() to check if the pump is initialized or if initializing is active.
See also
LCP_IsContiFlowInitializing(), LCP_IsContiFlowInitialized()
Parameters
[in]hContiFlowPumpContinuous flow pump handle create with LCP_CreateContiFlowPump
Returns
Error code - ERR_NOERR indicates success
Examples:
capi_contiflow_test.cpp.
long LCP_IsContiFlowInitialized ( dev_hdl  hContiFlowPump)

Returns true, if the conti fow pump is initialized and ready for continuous flow start.

Use this function to check if the pump is initialized before you start a continuous flow. If you change and continuous flow parameter, like valve settings, cross flow duration and so on, the pump will leave the initialized state. That means, after each parameter change, an initialization is required. Changing the flow rate or the dosing volume does not require and initialization.

Parameters
[in]hContiFlowPumpContinuous flow pump handle create with LCP_CreateContiFlowPump
Return values
1Conti flow pump is initialized and ready for continuous flow
0Initialization of conti flow pump is required
<0Error code
Examples:
capi_contiflow_test.cpp.
long LCP_IsContiFlowInitializing ( dev_hdl  hContiFlowPump)

Returns true, if the conti fow pump initialization is just active.

You can use this function to poll for the end for the initialization.

Parameters
[in]hContiFlowPumpContinuous flow pump handle create with LCP_CreateContiFlowPump
Return values
1Initialization is running
0Initialization is not running
<0Error code
Examples:
capi_contiflow_test.cpp.