neMESYS SDK  20150729
nemesys_api.h File Reference

API for programming neMESYS devices (NCS - NEMESYS COMMAND SET) More...

Macros

#define NCS_Func   extern "C" __declspec (dllimport)
 

Typedefs

typedef unsigned long ncs_hdl
 Handle type for passing device handles to and from a function.
 
typedef enum eDigInChannelId TDigInChannelId
 Digital input channel identifier for function NCS_ReadDigInput(). More...
 
typedef enum eDigOutChannelId TDigOutChannelId
 Digital ourput channel identifier for function NCS_WriteDigOutput() You can use these identifiers to select a certain digital output channel according to the purpose of this channel configured in the pump drive.
 
typedef enum eFlowUnitId TFlowUnitId
 Flow unit identifiers. More...
 
typedef enum eValveActions TValveAction
 Valve action identifiers. More...
 
typedef enum eVolUnitId TVolUnitId
 Volume unit identifiers. More...
 

Enumerations

enum  eDigInChannelId {
  NCS_DIG_IN_NEGATIVE_LIMIT = 0, NCS_DIG_IN_POSITIVE_LIMIT, NCS_DIG_IN_HOME_SWITCH, NCS_DIG_IN_POSITION_MARKER,
  NCS_DIG_IN_DRIVE_ENABLE, NCS_DIG_IN_GENERAL_PURPOSE_H = 8, NCS_DIG_IN_GENERAL_PURPOSE_G, NCS_DIG_IN_GENERAL_PURPOSE_F,
  NCS_DIG_IN_GENERAL_PURPOSE_E, NCS_DIG_IN_GENERAL_PURPOSE_D, NCS_DIG_IN_GENERAL_PURPOSE_C, NCS_DIG_IN_GENERAL_PURPOSE_B,
  NCS_DIG_IN_GENERAL_PURPOSE_A
}
 Digital input channel identifier for function NCS_ReadDigInput(). More...
 
enum  eDigOutChannelId {
  NCS_DIG_OUT_READY = 0, NCS_DIG_OUT_GENERAL_PURPOSE_E = 11, NCS_DIG_OUT_GENERAL_PURPOSE_D, NCS_DIG_OUT_GENERAL_PURPOSE_C,
  NCS_DIG_OUT_GENERAL_PURPOSE_B, NCS_DIG_OUT_GENERAL_PURPOSE_A
}
 Digital ourput channel identifier for function NCS_WriteDigOutput() You can use these identifiers to select a certain digital output channel according to the purpose of this channel configured in the pump drive.
 
enum  eFlowUnitId {
  NCS_FLOW_UNIT_NL_S = 0, NCS_FLOW_UNIT_NL_MIN, NCS_FLOW_UNIT_UL_S, NCS_FLOW_UNIT_UL_MIN,
  NCS_FLOW_UNIT_UL_H, NCS_FLOW_UNIT_ML_MIN, NCS_FLOW_UNIT_ML_H, NCS_FLOW_UNIT_MM_S
}
 Flow unit identifiers. More...
 
enum  eValveActions { NCS_VALVE_ACTION_OUT = 0x00, NCS_VALVE_ACTION_IN = 0x01, NCS_VALVE_ACTION_NONE = 0xFF }
 Valve action identifiers. More...
 
enum  eVolUnitId {
  NCS_VOL_UNIT_NL = 0, NCS_VOL_UNIT_UL, NCS_VOL_UNIT_ML, NCS_VOL_UNIT_L,
  NCS_VOL_UNIT_MM
}
 Volume unit identifiers. More...
 

Functions

NCS_Func long __stdcall NCS_AddFlowProfileValue (ncs_hdl hDevice, unsigned char DosingUnit, double Flow, unsigned int FlowUnit, unsigned long Duration, unsigned int ValveAction)
 Add single flow profile value to flow profile of certain dosing unit. More...
 
NCS_Func long __stdcall NCS_Calibrate (ncs_hdl hDevice, unsigned char DosingUnit)
 Execute calibration for single dosing unit. More...
 
NCS_Func long __stdcall NCS_ClearFault (ncs_hdl hDevice, unsigned char DosingUnit)
 Clears fault state of single dosing unit. More...
 
NCS_Func long __stdcall NCS_ClearFlowProfile (ncs_hdl hDevice, unsigned char DosingUnit)
 Clear flow profile. More...
 
NCS_Func long __stdcall NCS_CloseDevice (ncs_hdl hDevice)
 Closes connection and frees all resources. More...
 
NCS_Func long __stdcall NCS_DoseVolume (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume, double *pFlowRate)
 Doses a defined volume with a defined flow rate. More...
 
NCS_Func long __stdcall NCS_DoseVolumeEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume, TVolUnitId VolUnit, double *pFlowRate, TFlowUnitId FlowUnit)
 Doses a defined volume with a defined flow rate. More...
 
NCS_Func long __stdcall NCS_EmergencyStopAllUnits (ncs_hdl hDevice)
 Performs quick stop for all dosing units. More...
 
NCS_Func long __stdcall NCS_EmptySyringe (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate)
 Eympties syringe by moving pusher to lower limit of dosing unit. More...
 
NCS_Func long __stdcall NCS_EmptySyringeEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate, TFlowUnitId FlowUnit)
 Eympties syringe by moving pusher to lower limit of dosing unit. More...
 
NCS_Func long __stdcall NCS_FindHome (ncs_hdl hDevice, unsigned char DosingUnit, char HomingMethod)
 Execute homing move (calibration) with a certain homing method. More...
 
NCS_Func long __stdcall NCS_GenerateFlow (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate)
 Generate define fluid stream until dosing unit reaches its limits. More...
 
NCS_Func long __stdcall NCS_GenerateFlowEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate, TFlowUnitId FlowUnit)
 Generate define fluid stream until dosing unit reaches its limits. More...
 
NCS_Func long __stdcall NCS_GetActiveFlowUnit (ncs_hdl hDevice, unsigned char DosingUnit)
 Get identifier of active flow unit. More...
 
NCS_Func long __stdcall NCS_GetActiveVolumeUnit (ncs_hdl hDevice, unsigned char DosingUnit)
 Get identifier of active svolume unit. More...
 
NCS_Func long __stdcall NCS_GetCurrentIs (ncs_hdl hDevice, unsigned char DosingUnit, short *pCurrent)
 Get actual current value of single dosing unit in mA. More...
 
NCS_Func long __stdcall NCS_GetDevErrorMsg (ncs_hdl hDevice, unsigned char DosingUnit, long DevErrCode, char *pErrString, unsigned char MaxErrStringSize)
 Get an descriptive error message for a certain device error code. More...
 
NCS_Func void __stdcall NCS_GetErrorMsg (long ErrCode, char *pErrMsgBuf, unsigned long ErrMsgBugSize)
 Get an descriptive error message for a certain error code. More...
 
NCS_Func long __stdcall NCS_GetFlowProfileState (ncs_hdl hDevice, unsigned char DosingUnit, unsigned long *pRemainingCycles, unsigned long *pActiveValueIndex)
 Get state of runnning flow profile. More...
 
NCS_Func long __stdcall NCS_GetFlowProfileValue (ncs_hdl hDevice, unsigned char DosingUnit, unsigned long Index, double *pValue)
 Read a certain entry from flow profile table. More...
 
NCS_Func long __stdcall NCS_GetFlowRateIs (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRateIs)
 Get actual flow rate of single dosing unit. More...
 
NCS_Func long __stdcall NCS_GetFlowRateIsEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRateIs, TFlowUnitId FlowUnit)
 Get actual flow rate of single dosing unit (extended version). More...
 
NCS_Func long __stdcall NCS_GetFlowRateMax (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRateMax)
 Get maximum flow rate that is realizable with current dosing unit configuration. More...
 
NCS_Func long __stdcall NCS_GetFlowRateMaxEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRateMax, TFlowUnitId FlowUnit)
 Get maximum flow rate that is realizable with current dosing unit configuration. More...
 
NCS_Func long __stdcall NCS_GetFlowUnitString (ncs_hdl hDevice, unsigned char FlowUnitId, char *pUnitStringShort, unsigned char MaxStringShortSize, char *pUnitStringLong, unsigned char MaxStringLongSize)
 Get string for certain flow unit. More...
 
NCS_Func long __stdcall NCS_GetLastDevErr (ncs_hdl hDevice, unsigned char DosingUnit, long *pLastErr)
 Get last error from device that is in fault state. More...
 
NCS_Func long __stdcall NCS_GetNumberOfDosingUnits (ncs_hdl hDevice)
 Get number of dosing unnits connected to dosing platform. More...
 
NCS_Func long __stdcall NCS_GetNumberOfFlowProfileValues (ncs_hdl hDevice, unsigned char DosingUnit, unsigned long *pNumberOfValues)
 Query number of flow values values in current flow profile. More...
 
NCS_Func long __stdcall NCS_GetNumberOfFlowUnits (ncs_hdl hDevice)
 Get number of supported flow units (i.e. More...
 
NCS_Func long __stdcall NCS_GetNumberOfVolumeUnits (ncs_hdl hDevice)
 Get number of supported volume units (i.e. More...
 
NCS_Func long __stdcall NCS_GetPressureIs (ncs_hdl hDevice, unsigned char DosingUnit, float *pPressure)
 Get actual pressure value of single dosing unit in bar. More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelIs (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume)
 Get actual syringe fill level. More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelIsEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume, TVolUnitId VolUnit)
 Get actual syringe fill level (extended version). More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelMax (ncs_hdl hDevice, unsigned char DosingUnit, double *pSyringeLevelMax)
 Get maximum syringe fill level for a single dosing unit. More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelMaxEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pSyringeLevelMax, TVolUnitId VolUnit)
 Get maximum syringe fill level for a single dosing unit. More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelMin (ncs_hdl hDevice, unsigned char DosingUnit, double *pSyringeLevelMin)
 Get minimum syringe fill level for a single dosing unit. More...
 
NCS_Func long __stdcall NCS_GetSyringeLevelMinEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pSyringeLevelMin, TVolUnitId VolUnit)
 Get minimum syringe fill level for a single dosing unit. More...
 
NCS_Func long __stdcall NCS_GetSyringeLimits (ncs_hdl hDevice, unsigned char DosingUnit, double *pLimitMin_mm, double *pLimitMax_mm)
 Returns syringe limits. More...
 
NCS_Func long __stdcall NCS_GetSyringeParam (ncs_hdl hDevice, unsigned char DosingUnit, double *pInnerDiameter_mm, double *pMaxPistonStroke_mm)
 Read syringe parameters. More...
 
NCS_Func long __stdcall NCS_GetVolumeUnitString (ncs_hdl hDevice, unsigned char VolUnitId, char *pUnitStringShort, unsigned char MaxStringShortSize, char *pUnitStringLong, unsigned char MaxStringLongSize)
 Get string for certain volume unit. More...
 
NCS_Func long __stdcall NCS_IsCalibrationFinished (ncs_hdl hDevice, unsigned char DosingUnit)
 Get actual flow rate of single dosing unit. More...
 
NCS_Func long __stdcall NCS_IsDosingFinished (ncs_hdl hDevice, unsigned char DosingUnit)
 Check if dosing unit finished dosing (is stopped). More...
 
NCS_Func long __stdcall NCS_IsHighPressureModule (ncs_hdl hDevice, unsigned char DosingUnit)
 Checks if a certain dosing unit is a high pressure module. More...
 
NCS_Func long __stdcall NCS_IsInFaultState (ncs_hdl hDevice, unsigned char DosingUnit)
 Check if dosing unit is in fault state. More...
 
NCS_Func long __stdcall NCS_IsInvertedValveSwitchingOn (ncs_hdl hDevice, unsigned char DosingUnit)
 Checks if inverted valve switching is on or off. More...
 
NCS_Func long __stdcall NCS_IsOperational (ncs_hdl hDevice, unsigned char DosingUnit)
 Check if dosing unit is operational. More...
 
NCS_Func long __stdcall NCS_IsValveAutomaticOn (ncs_hdl hDevice, unsigned char DosingUnit)
 Checks if valve automatic is switched on or off. More...
 
NCS_Func long __stdcall NCS_IsValveInstalled (ncs_hdl hDevice, unsigned char DosingUnit)
 Checks if a valve is installed. More...
 
NCS_Func long __stdcall NCS_IsValveSwitchedToOutput (ncs_hdl hDevice, unsigned char DosingUnit)
 Check status of valve. More...
 
NCS_Func long __stdcall NCS_OpenDevice (unsigned char bShowStatusWnd, ncs_hdl *phDevice)
 Opens a connection for sending and receiving data. More...
 
NCS_Func long __stdcall NCS_ReadAnalogInput (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char Channel, short *pVoltageAnalogIn)
 Read analog input state of one channel of a single dosing unit. More...
 
NCS_Func long __stdcall NCS_ReadDigInput (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char Channel, unsigned char *pDigInState)
 Read digital input state of one channel of a single dosing unit. More...
 
NCS_Func long __stdcall NCS_ReadDigInputs (ncs_hdl hDevice, unsigned char DosingUnit, unsigned short *pDigInStates)
 Read all digital input states of a single dosing unit. More...
 
NCS_Func long __stdcall NCS_ReadObjDicEntry (ncs_hdl hDevice, unsigned char DosingUnit, void *pDataBuf, unsigned short wSize, unsigned short wObjDicIdx, unsigned char ObjDicSub, bool bConsiderEndian)
 Read object dictionary entry. More...
 
NCS_Func long __stdcall NCS_ReadObjDicEntryInt (ncs_hdl hDevice, unsigned char DosingUnit, long *pDataBuf, unsigned char ByteSize, unsigned short wObjDicIdx, unsigned char ObjDicSub)
 Read object dictionary entry and interpret as signed integer value. More...
 
NCS_Func long __stdcall NCS_ReadProcData (ncs_hdl hDevice, unsigned char DosingUnit, void *pBuf, unsigned short wSize, unsigned short wObjDicIdx, unsigned char ObjDicSub)
 Read process data. More...
 
NCS_Func long __stdcall NCS_ReadProcDataInt (ncs_hdl hDevice, unsigned char DosingUnit, long *pBuf, unsigned char ByteSize, unsigned short wObjDicIdx, unsigned char ObjDicSub)
 Read process data and interpret it as an signed integer value. More...
 
NCS_Func long __stdcall NCS_RefillSyringe (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate)
 Refills syringe by moving pusher to upper limit of dosing unit. More...
 
NCS_Func long __stdcall NCS_RefillSyringeEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pFlowRate, TFlowUnitId FlowUnit)
 Refills syringe by moving pusher to upper limit of dosing unit. More...
 
NCS_Func long __stdcall NCS_SetActiveFlowUnit (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char FlowUnit)
 Set active flow unit for single device. More...
 
NCS_Func long __stdcall NCS_SetActiveVolumeUnit (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char VolUnit)
 Set active volume unit for single device. More...
 
NCS_Func long __stdcall NCS_SetDisabled (ncs_hdl hDevice, unsigned char DosingUnit)
 Sets dosing unit into an disabled state. More...
 
NCS_Func long __stdcall NCS_SetInvertedValveSwitching (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char Invert)
 Activate / deactivate inverted valve switching. More...
 
NCS_Func long __stdcall NCS_SetOperational (ncs_hdl hDevice, unsigned char DosingUnit)
 Sets dosing unit into an operational state and apply voltage to pump drive. More...
 
NCS_Func long __stdcall NCS_SetSyringeLevel (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume, double *pFlowRate)
 Moves the pusher until syringe content reaches a certain level. More...
 
NCS_Func long __stdcall NCS_SetSyringeLevelEx (ncs_hdl hDevice, unsigned char DosingUnit, double *pVolume, TVolUnitId VolUnit, double *pFlowRate, TFlowUnitId FlowUnit)
 Moves the pusher until syringe content reaches a certain level. More...
 
NCS_Func long __stdcall NCS_SetSyringeLimits (ncs_hdl hDevice, unsigned char DosingUnit, double LimitMin_mm, double LimitMax_mm)
 Set syringe limits. More...
 
NCS_Func long __stdcall NCS_SetSyringeParam (ncs_hdl hDevice, unsigned char DosingUnit, double InnerDiameter_mm, double MaxPistonStroke_mm)
 Set syringe parameters. More...
 
NCS_Func long __stdcall NCS_SetValveAutomatic (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char ValveAutomaticOn)
 Turn valve automatic on / off. More...
 
NCS_Func long __stdcall NCS_StartFlowProfile (ncs_hdl hDevice, unsigned char DosingUnit, unsigned long StartIndex, unsigned long Cycles)
 Start processing of flow profile for single dosing unit. More...
 
NCS_Func long __stdcall NCS_Stop (ncs_hdl hDevice, unsigned char DosingUnit)
 Stop dosing of single unit. More...
 
NCS_Func long __stdcall NCS_StopAllUnits (ncs_hdl hDevice)
 Stops movement of all dosing units. More...
 
NCS_Func long __stdcall NCS_SwitchValve (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char SwitchToOutput)
 Switch valve to input or output. More...
 
NCS_Func long __stdcall NCS_WriteDigOutput (ncs_hdl hDevice, unsigned char DosingUnit, unsigned char Channel, unsigned char DigOutState)
 Write digital output state of one channel of a single dosing unit. More...
 
NCS_Func long __stdcall NCS_WriteDigOutputs (ncs_hdl hDevice, unsigned char DosingUnit, unsigned short DigOutStates)
 Write all digital output states of a single dosing unit. More...
 
NCS_Func long __stdcall NCS_WriteObjDicEntry (ncs_hdl hDevice, unsigned char DosingUnit, const void *pDataBuf, unsigned short wSize, unsigned short wObjDicIdx, unsigned char ObjDicSub, bool bConsiderEndian)
 Write an object dictionary entry. More...
 
NCS_Func long __stdcall NCS_WriteObjDicEntryInt (ncs_hdl hDevice, unsigned char DosingUnit, long Data, unsigned char ByteSize, unsigned short wObjDicIdx, unsigned char ObjDicSub)
 Write a signed integer object dictionary entry. More...
 
NCS_Func long __stdcall NCS_WriteProcData (ncs_hdl hDevice, unsigned char DosingUnit, void *pBuf, unsigned short wSize, unsigned short wObjDicIdx, unsigned char ObjDicSub, bool bImmediately)
 Write data into process image of this device. More...
 
NCS_Func long __stdcall NCS_WriteProcDataInt (ncs_hdl hDevice, unsigned char DosingUnit, long Data, unsigned char ByteSize, unsigned short wObjDicIdx, unsigned char ObjDicSub, bool bImmediately)
 Write a signed integer value into process image of this device. More...
 

Detailed Description

API for programming neMESYS devices (NCS - NEMESYS COMMAND SET)

Author
Uwe Kindler (UK)
Version
2.07
Date
2012-04-16

Typedef Documentation

typedef enum eFlowUnitId TFlowUnitId

Flow unit identifiers.

This enumeration defines the identifiers for all supported flow rate units. Whenever you call a function that requires or returns a flow value you need these identifiers to configure the type of flow rate unit.

Valve action identifiers.

These identifiers specify the valve action for single flow profile entries. At the start of each flow profile entry a certain valve action can be triggered.

typedef enum eVolUnitId TVolUnitId

Volume unit identifiers.

This enumeration defines the identifiers for all supported volume units. (i.e. for NCS_SetActiveVolumeUnit() and NCS_GetActiveVolumeUnit)

Enumeration Type Documentation

Flow unit identifiers.

This enumeration defines the identifiers for all supported flow rate units. Whenever you call a function that requires or returns a flow value you need these identifiers to configure the type of flow rate unit.

Enumerator
NCS_FLOW_UNIT_NL_S 

nanolitres per second

NCS_FLOW_UNIT_NL_MIN 

nanolitres per minute

NCS_FLOW_UNIT_UL_S 

microlitres per second

NCS_FLOW_UNIT_UL_MIN 

microliters per minute

NCS_FLOW_UNIT_UL_H 

microlitres per hour

NCS_FLOW_UNIT_ML_MIN 

millilitres per minute

NCS_FLOW_UNIT_ML_H 

millilitres per hour

NCS_FLOW_UNIT_MM_S 

millimetres per second - this unit is independent from syringe congiguration

Valve action identifiers.

These identifiers specify the valve action for single flow profile entries. At the start of each flow profile entry a certain valve action can be triggered.

Enumerator
NCS_VALVE_ACTION_OUT 

switch valve to output (dispense)

NCS_VALVE_ACTION_IN 

switch valve to input (aspirate)

NCS_VALVE_ACTION_NONE 

do not change the state of the valve

enum eVolUnitId

Volume unit identifiers.

This enumeration defines the identifiers for all supported volume units. (i.e. for NCS_SetActiveVolumeUnit() and NCS_GetActiveVolumeUnit)

Enumerator
NCS_VOL_UNIT_NL 

nanolitres

NCS_VOL_UNIT_UL 

microlitres

NCS_VOL_UNIT_ML 

millilitres

NCS_VOL_UNIT_L 

litres

NCS_VOL_UNIT_MM 

millimetres - this unit is independent from syringe configuration