'************************************************************************************* '* '* Visual Basic module for use TCL_API_drivers.dll create with XPS-C8 Firmware V2.4.x '* '************************************************************************************* Declare Function TCP_ConnectToServer Lib "TCL_API_drivers.dll" (ByVal Ip_Address As String, ByVal Ip_Port As Long, ByVal TimeOut As Double) As Long Declare Sub TCP_SetTimeout Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Timeout As Double) Declare Sub TCP_CloseSocket Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) Declare Function TCP_GetError Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As String Declare Function GetLibraryVersion Lib "TCL_API_drivers.dll" () As String Declare Function ElapsedTimeGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ElapsedTime As Double) As Long ' Return elapsed time from controller power on Declare Function ErrorStringGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ErrorCode As Long, ByVal ErrorString As String) As Long ' Return the error string corresponding to the error code Declare Function FirmwareVersionGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Version As String) As Long ' Return firmware version Declare Function TCLScriptExecute Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TCLFileName As String, ByVal TaskName As String, ByVal ParametersList As String) As Long ' Execute a TCL script from a TCL file Declare Function TCLScriptExecuteAndWait Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TCLFileName As String, ByVal TaskName As String, ByVal InputParametersList As String, ByVal OutputParametersList As String) As Long ' Execute a TCL script from a TCL file and wait the end of execution to return Declare Function TCLScriptKill Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TaskName As String) As Long ' Kill TCL Task Declare Function TimerGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TimerName As String, FrequencyTicks As Long) As Long ' Get a timer Declare Function TimerSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TimerName As String, ByVal FrequencyTicks As Long) As Long ' Set a timer Declare Function Reboot Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Reboot the controller Declare Function Login Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Name As String, ByVal Password As String) As Long ' Log in Declare Function CloseAllOtherSockets Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Close all socket beside the one used to send this command Declare Function EventAdd Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal EventName As String, ByVal EventParameter As String, ByVal ActionName As String, ByVal ActionParameter1 As String, ByVal ActionParameter2 As String, ByVal ActionParameter3 As String) As Long ' ** OBSOLETE ** Add an event Declare Function EventGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal EventsAndActionsList As String) As Long ' ** OBSOLETE ** Read events and actions list Declare Function EventRemove Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal EventName As String, ByVal EventParameter As String) As Long ' ** OBSOLETE ** Delete an event Declare Function EventWait Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal EventName As String, ByVal EventParameter As String) As Long ' ** OBSOLETE ** Wait an event Declare Function EventExtendedConfigurationTriggerSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal ExtendedEventNameList As String, ByVal EventParameter1 As String, ByVal EventParameter2 As String, ByVal EventParameter3 As String, ByVal EventParameter4 As String) As Long ' Configure one or several events Declare Function EventExtendedConfigurationTriggerGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal EventTriggerConfiguration As String) As Long ' Read the event configuration Declare Function EventExtendedConfigurationActionSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal ExtendedActionNameList As String, ByVal ActionParameter1 As String, ByVal ActionParameter2 As String, ByVal ActionParameter3 As String, ByVal ActionParameter4 As String) As Long ' Configure one or several actions Declare Function EventExtendedConfigurationActionGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ActionConfiguration As String) As Long ' Read the action configuration Declare Function EventExtendedStart Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ID As Long) As Long ' Launch the last event and action configuration and return an ID Declare Function EventExtendedAllGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal EventActionConfigurations As String) As Long ' Read all event and action configurations Declare Function EventExtendedGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ID As Long, ByVal EventTriggerConfiguration As String, ByVal ActionConfiguration As String) As Long ' Read the event and action configuration defined by ID Declare Function EventExtendedRemove Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ID As Long) As Long ' Remove the event and action configuration defined by ID Declare Function EventExtendedWait Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Wait events from the last event configuration Declare Function GatheringConfigurationGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TypeName As String) As Long ' Read different mnemonique type Declare Function GatheringConfigurationSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal TypeNameList As String) As Long ' Configuration acquisition Declare Function GatheringCurrentNumberGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, CurrentNumber As Long, MaximumSamplesNumber As Long) As Long ' Maximum number of samples and current number during acquisition Declare Function GatheringStopAndSave Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Stop acquisition and save data Declare Function GatheringDataAcquire Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Acquire a configured data Declare Function GatheringDataGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal IndexPoint As Long, ByVal DataBufferLine As String) As Long ' Get a data line from gathering buffer Declare Function GatheringReset Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Empty the gathered data in memory to start new gathering from scratch Declare Function GatheringRun Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal DataNumber As Long, ByVal Divisor As Long) As Long ' Start a new gathering Declare Function GatheringStop Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Stop the data gathering (without saving to file) Declare Function GatheringExternalConfigurationSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal TypeNameList As String) As Long ' Configuration acquisition Declare Function GatheringExternalConfigurationGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TypeName As String) As Long ' Read different mnemonique type Declare Function GatheringExternalCurrentNumberGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, CurrentNumber As Long, MaximumSamplesNumber As Long) As Long ' Maximum number of samples and current number during acquisition Declare Function GatheringExternalStopAndSave Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Stop acquisition and save data Declare Function GlobalArrayGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Number As Long, ByVal ValueString As String) As Long ' Get global array value Declare Function GlobalArraySet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Number As Long, ByVal ValueString As String) As Long ' Set global array value Declare Function DoubleGlobalArrayGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Number As Long, DoubleValue As Double) As Long ' Get double global array value Declare Function DoubleGlobalArraySet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Number As Long, ByVal DoubleValue As Double) As Long ' Set double global array value Declare Function GPIOAnalogGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal GPIONameList As String, AnalogValue As Double) As Long ' Read analog input or analog output for one or few input Declare Function GPIOAnalogSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal GPIONameList As String, AnalogOutputValue As Double) As Long ' Set analog output for one or few output Declare Function GPIOAnalogGainGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal GPIONameList As String, AnalogInputGainValue As Long) As Long ' Read analog input gain (1, 2, 4 or 8) for one or few input Declare Function GPIOAnalogGainSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal NbElements As Long, ByVal GPIONameList As String, AnalogInputGainValue As Long) As Long ' Set analog input gain (1, 2, 4 or 8) for one or few input Declare Function GPIODigitalGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GPIOName As String, DigitalValue As Integer) As Long ' Read digital output or digital input Declare Function GPIODigitalSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GPIOName As String, ByVal Mask As Integer, ByVal DigitalOutputValue As Integer) As Long ' Set Digital Output for one or few output TTL Declare Function GroupAnalogTrackingModeEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TypeName As String) As Long ' Enable Analog Tracking mode on selected group Declare Function GroupAnalogTrackingModeDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Disable Analog Tracking mode on selected group Declare Function GroupCorrectorOutputGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, CorrectorOutput As Double) As Long ' Return corrector outputs Declare Function GroupHomeSearch Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Start home search sequence Declare Function GroupHomeSearchAndRelativeMove Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, TargetDisplacement As Double) As Long ' Start home search sequence and execute a displacement Declare Function GroupInitialize Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Start the initialization Declare Function GroupInitializeWithEncoderCalibration Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Start the initialization with encoder calibration Declare Function GroupJogParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, Velocity As Double, Acceleration As Double) As Long ' Modify Jog parameters on selected group and activate the continuous move Declare Function GroupJogParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, Velocity As Double, Acceleration As Double) As Long ' Get Jog parameters on selected group Declare Function GroupJogCurrentGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, Velocity As Double, Acceleration As Double) As Long ' Get Jog current on selected group Declare Function GroupJogModeEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Enable Jog mode on selected group Declare Function GroupJogModeDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Disable Jog mode on selected group Declare Function GroupKill Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Kill the group Declare Function GroupMoveAbort Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Abort a move Declare Function GroupMoveAbsolute Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, TargetPosition As Double) As Long ' Do an absolute move Declare Function GroupMoveRelative Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, TargetDisplacement As Double) As Long ' Do a relative move Declare Function GroupMotionDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Set Motion disable on selected group Declare Function GroupMotionEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Set Motion enable on selected group Declare Function GroupPositionCorrectedProfilerGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal PositionX As Double, ByVal PositionY As Double, CorrectedProfilerPositionX As Double, CorrectedProfilerPositionY As Double) As Long ' Return corrected profiler positions Declare Function GroupPositionCurrentGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, CurrentEncoderPosition As Double) As Long ' Return current positions Declare Function GroupPositionSetpointGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, SetPointPosition As Double) As Long ' Return setpoint positions Declare Function GroupPositionTargetGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, TargetPosition As Double) As Long ' Return target positions Declare Function GroupReferencingActionExecute Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ReferencingAction As String, ByVal ReferencingSensor As String, ByVal ReferencingParameter As Double) As Long ' Execute an action in referencing mode Declare Function GroupReferencingStart Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Enter referencing mode Declare Function GroupReferencingStop Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Exit referencing mode Declare Function GroupStatusGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, Status As Long) As Long ' Return group status Declare Function GroupStatusStringGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupStatusCode As Long, ByVal GroupStatusString As String) As Long ' Return the group status string corresponding to the group status code Declare Function GroupVelocityCurrentGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal NbElements As Long, CurrentVelocity As Double) As Long ' Return current velocities Declare Function KillAll Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long) As Long ' Put all groups in 'Not initialized' state Declare Function PositionerAnalogTrackingPositionParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal GPIOName As String, Offset As Double, ScaleValue As Double, Velocity As Double, Acceleration As Double) As Long ' Read dynamic parameters for one axe of a group for a future analog tracking position Declare Function PositionerAnalogTrackingPositionParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal GPIOName As String, ByVal Offset As Double, ByVal ScaleValue As Double, ByVal Velocity As Double, ByVal Acceleration As Double) As Long ' Update dynamic parameters for one axe of a group for a future analog tracking position Declare Function PositionerAnalogTrackingVelocityParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal GPIOName As String, Offset As Double, ScaleValue As Double, DeadBandThreshold As Double, Order As Long, Velocity As Double, Acceleration As Double) As Long ' Read dynamic parameters for one axe of a group for a future analog tracking velocity Declare Function PositionerAnalogTrackingVelocityParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal GPIOName As String, ByVal Offset As Double, ByVal ScaleValue As Double, ByVal DeadBandThreshold As Double, ByVal Order As Long, ByVal Velocity As Double, ByVal Acceleration As Double) As Long ' Update dynamic parameters for one axe of a group for a future analog tracking velocity Declare Function PositionerBacklashGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, BacklashValue As Double, ByVal BacklaskStatus As String) As Long ' Read backlash value and status Declare Function PositionerBacklashSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal BacklashValue As Double) As Long ' Set backlash value Declare Function PositionerBacklashEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Enable the backlash Declare Function PositionerBacklashDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Disable the backlash Declare Function PositionerCorrectorNotchFiltersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal NotchFrequency1 As Double, ByVal NotchBandwith1 As Double, ByVal NotchGain1 As Double, ByVal NotchFrequency2 As Double, ByVal NotchBandwith2 As Double, ByVal NotchGain2 As Double) As Long ' Update filters parameters Declare Function PositionerCorrectorNotchFiltersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, NotchFrequency1 As Double, NotchBandwith1 As Double, NotchGain1 As Double, NotchFrequency2 As Double, NotchBandwith2 As Double, NotchGain2 As Double) As Long ' Read filters parameters Declare Function PositionerCorrectorPIDFFAccelerationSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainAcceleration As Double) As Long ' Update corrector parameters Declare Function PositionerCorrectorPIDFFAccelerationGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainAcceleration As Double) As Long ' Read corrector parameters Declare Function PositionerCorrectorPIDFFVelocitySet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainVelocity As Double) As Long ' Update corrector parameters Declare Function PositionerCorrectorPIDFFVelocityGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainVelocity As Double) As Long ' Read corrector parameters Declare Function PositionerCorrectorPIDDualFFVoltageSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal KD As Double, ByVal KS As Double, ByVal IntegrationTime As Double, ByVal DerivativeFilterCutOffFrequency As Double, ByVal GKP As Double, ByVal GKI As Double, ByVal GKD As Double, ByVal KForm As Double, ByVal FeedForwardGainVelocity As Double, ByVal FeedForwardGainAcceleration As Double, ByVal Friction As Double) As Long ' Update corrector parameters Declare Function PositionerCorrectorPIDDualFFVoltageGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, KD As Double, KS As Double, IntegrationTime As Double, DerivativeFilterCutOffFrequency As Double, GKP As Double, GKI As Double, GKD As Double, KForm As Double, FeedForwardGainVelocity As Double, FeedForwardGainAcceleration As Double, Friction As Double) As Long ' Read corrector parameters Declare Function PositionerCorrectorPIPositionSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ClosedLoopStatus As Boolean, ByVal KP As Double, ByVal KI As Double, ByVal IntegrationTime As Double) As Long ' Update corrector parameters Declare Function PositionerCorrectorPIPositionGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ClosedLoopStatus As Boolean, KP As Double, KI As Double, IntegrationTime As Double) As Long ' Read corrector parameters Declare Function PositionerCorrectorTypeGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal CorrectorType As String) As Long ' Read corrector type Declare Function PositionerCurrentVelocityAccelerationFiltersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal CurrentVelocityCutOffFrequency As Double, ByVal CurrentAccelerationCutOffFrequency As Double) As Long ' Set current velocity and acceleration cut off frequencies Declare Function PositionerCurrentVelocityAccelerationFiltersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, CurrentVelocityCutOffFrequency As Double, CurrentAccelerationCutOffFrequency As Double) As Long ' Get current velocity and acceleration cut off frequencies Declare Function PositionerDriverStatusGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, DriverStatus As Long) As Long ' Read positioner driver status Declare Function PositionerDriverStatusStringGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerDriverStatus As Long, ByVal PositionerDriverStatusString As String) As Long ' Return the positioner driver status string corresponding to the positioner error code Declare Function PositionerEncoderAmplitudeValuesGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, CalibrationSinusAmplitude As Double, CurrentSinusAmplitude As Double, CalibrationCosinusAmplitude As Double, CurrentCosinusAmplitude As Double) As Long ' Read analog interpolated encoder amplitude values Declare Function PositionerEncoderCalibrationParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, SinusOffset As Double, CosinusOffset As Double, DifferentialGain As Double, PhaseCompensation As Double) As Long ' Read analog interpolated encoder calibration parameters Declare Function PositionerErrorGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ErrorCode As Long) As Long ' Read and clear positioner error code Declare Function PositionerErrorRead Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ErrorCode As Long) As Long ' Read only positioner error code without clear it Declare Function PositionerErrorStringGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerErrorCode As Long, ByVal PositionerErrorString As String) As Long ' Return the positioner status string corresponding to the positioner error code Declare Function PositionerHardwareStatusGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, HardwareStatus As Long) As Long ' Read positioner hardware status Declare Function PositionerHardwareStatusStringGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerHardwareStatus As Long, ByVal PositionerHardwareStatusString As String) As Long ' Return the positioner hardware status string corresponding to the positioner error code Declare Function PositionerHardInterpolatorFactorGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, InterpolationFactor As Long) As Long ' Get hard interpolator parameters Declare Function PositionerHardInterpolatorFactorSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal InterpolationFactor As Long) As Long ' Set hard interpolator parameters Declare Function PositionerMaximumVelocityAndAccelerationGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, MaximumVelocity As Double, MaximumAcceleration As Double) As Long ' Return maximum velocity and acceleration of the positioner Declare Function PositionerMotionDoneGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, PositionWindow As Double, VelocityWindow As Double, CheckingTime As Double, MeanPeriod As Double, TimeOut As Double) As Long ' Read motion done parameters Declare Function PositionerMotionDoneSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal PositionWindow As Double, ByVal VelocityWindow As Double, ByVal CheckingTime As Double, ByVal MeanPeriod As Double, ByVal TimeOut As Double) As Long ' Update motion done parameters Declare Function PositionerPositionCompareGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, MinimumPosition As Double, MaximumPosition As Double, PositionStep As Double, EnableState As Boolean) As Long ' Read position compare parameters Declare Function PositionerPositionCompareSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal MinimumPosition As Double, ByVal MaximumPosition As Double, ByVal PositionStep As Double) As Long ' Set position compare parameters Declare Function PositionerPositionCompareEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Enable position compare Declare Function PositionerPositionCompareDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Disable position compare Declare Function PositionerPositionComparePulseParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, PCOPulseWidth As Double, EncoderSettlingTime As Double) As Long ' Get position compare PCO pulse parameters Declare Function PositionerPositionComparePulseParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal PCOPulseWidth As Double, ByVal EncoderSettlingTime As Double) As Long ' Set position compare PCO pulse parameters Declare Function PositionersEncoderIndexDifferenceGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, distance As Double) As Long ' Return the difference between index of primary axis and secondary axis (only after homesearch) Declare Function PositionerSGammaExactVelocityAjustedDisplacementGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal DesiredDisplacement As Double, AdjustedDisplacement As Double) As Long ' Return adjusted displacement to get exact velocity Declare Function PositionerSGammaParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, Velocity As Double, Acceleration As Double, MinimumTjerkTime As Double, MaximumTjerkTime As Double) As Long ' Read dynamic parameters for one axe of a group for a future displacement Declare Function PositionerSGammaParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal Velocity As Double, ByVal Acceleration As Double, ByVal MinimumTjerkTime As Double, ByVal MaximumTjerkTime As Double) As Long ' Update dynamic parameters for one axe of a group for a future displacement Declare Function PositionerSGammaPreviousMotionTimesGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, SettingTime As Double, SettlingTime As Double) As Long ' Read SettingTime and SettlingTime Declare Function PositionerStageParameterGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ParameterName As String, ByVal ParameterValue As String) As Long ' Return the stage parameter Declare Function PositionerStageParameterSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal ParameterName As String, ByVal ParameterValue As String) As Long ' Save the stage parameter Declare Function PositionerTimeFlasherGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, MinimumPosition As Double, MaximumPosition As Double, PositionStep As Double, EnableState As Boolean) As Long ' Read time flasher parameters Declare Function PositionerTimeFlasherSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal MinimumPosition As Double, ByVal MaximumPosition As Double, ByVal TimeInterval As Double) As Long ' Set time flasher parameters Declare Function PositionerTimeFlasherEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Enable time flasher Declare Function PositionerTimeFlasherDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String) As Long ' Disable time flasher Declare Function PositionerUserTravelLimitsGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, UserMinimumTarget As Double, UserMaximumTarget As Double) As Long ' Read UserMinimumTarget and UserMaximumTarget Declare Function PositionerUserTravelLimitsSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal UserMinimumTarget As Double, ByVal UserMaximumTarget As Double) As Long ' Update UserMinimumTarget and UserMaximumTarget Declare Function PositionerCorrectorAutoTuning Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal TuningMode As Long, KP As Double, KI As Double, KD As Double) As Long ' Astrom&Hagglund based auto-tuning Declare Function PositionerAccelerationAutoScaling Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, Scaling As Double) As Long ' Astrom&Hagglund based auto-scaling Declare Function MultipleAxesPVTVerification Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String) As Long ' Multiple axes PVT trajectory verification Declare Function MultipleAxesPVTVerificationResultGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) As Long ' Multiple axes PVT trajectory verification result get Declare Function MultipleAxesPVTExecution Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String, ByVal ExecutionNumber As Long) As Long ' Multiple axes PVT trajectory execution Declare Function MultipleAxesPVTParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal FileName As String, CurrentElementNumber As Long) As Long ' Multiple axes PVT trajectory get parameters Declare Function MultipleAxesPVTPulseOutputSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal StartElement As Long, ByVal EndElement As Long, ByVal TimeInterval As Double) As Long ' Configure pulse output on trajectory Declare Function MultipleAxesPVTPulseOutputGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, StartElement As Long, EndElement As Long, TimeInterval As Double) As Long ' Get pulse output on trajectory configuration Declare Function SingleAxisSlaveModeEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Enable the slave mode Declare Function SingleAxisSlaveModeDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Disable the slave mode Declare Function SingleAxisSlaveParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal PositionerName As String, ByVal Ratio As Double) As Long ' Set slave parameters Declare Function SingleAxisSlaveParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal PositionerName As String, Ratio As Double) As Long ' Get slave parameters Declare Function SpindleSlaveModeEnable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Enable the slave mode Declare Function SpindleSlaveModeDisable Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String) As Long ' Disable the slave mode Declare Function SpindleSlaveParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal PositionerName As String, ByVal Ratio As Double) As Long ' Set slave parameters Declare Function SpindleSlaveParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal PositionerName As String, Ratio As Double) As Long ' Get slave parameters Declare Function GroupSpinParametersSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal Velocity As Double, ByVal Acceleration As Double) As Long ' Modify Spin parameters on selected group and activate the continuous move Declare Function GroupSpinParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, Velocity As Double, Acceleration As Double) As Long ' Get Spin parameters on selected group Declare Function GroupSpinCurrentGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, Velocity As Double, Acceleration As Double) As Long ' Get Spin current on selected group Declare Function GroupSpinModeStop Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal Acceleration As Double) As Long ' Stop Spin mode on selected group with specified acceleration Declare Function XYLineArcVerification Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String) As Long ' XY trajectory verification Declare Function XYLineArcVerificationResultGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) As Long ' XY trajectory verification result get Declare Function XYLineArcExecution Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String, ByVal Velocity As Double, ByVal Acceleration As Double, ByVal ExecutionNumber As Long) As Long ' XY trajectory execution Declare Function XYLineArcParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal FileName As String, Velocity As Double, Acceleration As Double, CurrentElementNumber As Long) As Long ' XY trajectory get parameters Declare Function XYLineArcPulseOutputSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal StartLength As Double, ByVal EndLength As Double, ByVal PathLengthInterval As Double) As Long ' Configure pulse output on trajectory Declare Function XYLineArcPulseOutputGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, StartLength As Double, EndLength As Double, PathLengthInterval As Double) As Long ' Get pulse output on trajectory configuration Declare Function XYZSplineVerification Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String) As Long ' XYZ trajectory verifivation Declare Function XYZSplineVerificationResultGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerName As String, ByVal FileName As String, MinimumPosition As Double, MaximumPosition As Double, MaximumVelocity As Double, MaximumAcceleration As Double) As Long ' XYZ trajectory verification result get Declare Function XYZSplineExecution Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal TrajectoryFileName As String, ByVal Velocity As Double, ByVal Acceleration As Double) As Long ' XYZ trajectory execution Declare Function XYZSplineParametersGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupName As String, ByVal FileName As String, Velocity As Double, Acceleration As Double, CurrentElementNumber As Long) As Long ' XYZ trajectory get parameters Declare Function OptionalModuleExecute Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ModuleFileName As String, ByVal TaskName As String) As Long ' Execute an optional module Declare Function OptionalModuleKill Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal TaskName As String) As Long ' Kill an optional module Declare Function EEPROMCIESet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal CardNumber As Long, ByVal ReferenceString As String) As Long ' Set CIE EEPROM reference string Declare Function EEPROMDACOffsetCIESet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PlugNumber As Long, ByVal DAC1Offset As Double, ByVal DAC2Offset As Double) As Long ' Set CIE DAC offsets Declare Function EEPROMDriverSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PlugNumber As Long, ByVal ReferenceString As String) As Long ' Set Driver EEPROM reference string Declare Function EEPROMINTSet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal CardNumber As Long, ByVal ReferenceString As String) As Long ' Set INT EEPROM reference string Declare Function CPUCoreAndBoardSupplyVoltagesGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, VoltageCPUCore As Double, SupplyVoltage1P5V As Double, SupplyVoltage3P3V As Double, SupplyVoltage5V As Double, SupplyVoltage12V As Double, SupplyVoltageM12V As Double, SupplyVoltageM5V As Double, SupplyVoltage5VSB As Double) As Long ' Get power informations Declare Function CPUTemperatureAndFanSpeedGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, CPUTemperature As Double, CPUFanSpeed As Double) As Long ' Get CPU temperature and fan speed Declare Function ActionListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ActionList As String) As Long ' Action list Declare Function ActionExtendedListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ActionList As String) As Long ' Action extended list Declare Function APIExtendedListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Method As String) As Long ' API method list Declare Function APIListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal Method As String) As Long ' API method list without extended API Declare Function ErrorListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ErrorsList As String) As Long ' Error list Declare Function EventListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal EventList As String) As Long ' General event list Declare Function GatheringListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal list As String) As Long ' Gathering type list Declare Function GatheringExtendedListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal list As String) As Long ' Gathering type extended list Declare Function GatheringExternalListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal list As String) As Long ' External Gathering type list Declare Function GroupStatusListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal GroupStatusList As String) As Long ' Group status list Declare Function HardwareInternalListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal InternalHardwareList As String) As Long ' Internal hardware list Declare Function HardwareDriverAndStageGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PlugNumber As Long, ByVal DriverName As String, ByVal StageName As String) As Long ' Smart hardware Declare Function ObjectsListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal ObjectsList As String) As Long ' Group name and positioner name Declare Function PositionerErrorListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerErrorList As String) As Long ' Positioner error list Declare Function PositionerHardwareStatusListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerHardwareStatusList As String) As Long ' Positioner hardware status list Declare Function PositionerDriverStatusListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal PositionerDriverStatusList As String) As Long ' Positioner driver status list Declare Function ReferencingActionListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal list As String) As Long ' Get referencing action list Declare Function ReferencingSensorListGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal list As String) As Long ' Get referencing sensor list Declare Function GatheringUserDatasGet Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, UserData1 As Double, UserData2 As Double, UserData3 As Double, UserData4 As Double, UserData5 As Double, UserData6 As Double, UserData7 As Double, UserData8 As Double) As Long ' Return UserDatas values Declare Function TestTCP Lib "TCL_API_drivers.dll" (ByVal SocketIndex As Long, ByVal InputString As String, ByVal ReturnString As String) As Long ' Test TCP/IP transfert