|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#define GT_API extern "C" short __stdcall
|
|
|
|
|
|
|
|
|
|
#define DLL_VERSION_0 2
|
|
|
|
|
#define DLL_VERSION_1 1
|
|
|
|
|
#define DLL_VERSION_2 0
|
|
|
|
|
|
|
|
|
|
#define DLL_VERSION_3 1
|
|
|
|
|
#define DLL_VERSION_4 5
|
|
|
|
|
#define DLL_VERSION_5 0
|
|
|
|
|
#define DLL_VERSION_6 6
|
|
|
|
|
#define DLL_VERSION_7 0
|
|
|
|
|
#define DLL_VERSION_8 7
|
|
|
|
|
|
|
|
|
|
#define MC_NONE -1
|
|
|
|
|
|
|
|
|
|
#define MC_LIMIT_POSITIVE 0
|
|
|
|
|
#define MC_LIMIT_NEGATIVE 1
|
|
|
|
|
#define MC_ALARM 2
|
|
|
|
|
#define MC_HOME 3
|
|
|
|
|
#define MC_GPI 4
|
|
|
|
|
#define MC_ARRIVE 5
|
|
|
|
|
#define MC_MPG 6
|
|
|
|
|
|
|
|
|
|
#define MC_ENABLE 10
|
|
|
|
|
#define MC_CLEAR 11
|
|
|
|
|
#define MC_GPO 12
|
|
|
|
|
|
|
|
|
|
#define MC_DAC 20
|
|
|
|
|
#define MC_STEP 21
|
|
|
|
|
#define MC_PULSE 22
|
|
|
|
|
#define MC_ENCODER 23
|
|
|
|
|
#define MC_ADC 24
|
|
|
|
|
|
|
|
|
|
#define MC_AXIS 30
|
|
|
|
|
#define MC_PROFILE 31
|
|
|
|
|
#define MC_CONTROL 32
|
|
|
|
|
|
|
|
|
|
#define CAPTURE_HOME 1
|
|
|
|
|
#define CAPTURE_INDEX 2
|
|
|
|
|
#define CAPTURE_PROBE 3
|
|
|
|
|
#define CAPTURE_HSIO0 6
|
|
|
|
|
#define CAPTURE_HSIO1 7
|
|
|
|
|
#define CAPTURE_HOME_GPI 8
|
|
|
|
|
|
|
|
|
|
#define PT_MODE_STATIC 0
|
|
|
|
|
#define PT_MODE_DYNAMIC 1
|
|
|
|
|
|
|
|
|
|
#define PT_SEGMENT_NORMAL 0
|
|
|
|
|
#define PT_SEGMENT_EVEN 1
|
|
|
|
|
#define PT_SEGMENT_STOP 2
|
|
|
|
|
|
|
|
|
|
#define GEAR_MASTER_ENCODER 1
|
|
|
|
|
#define GEAR_MASTER_PROFILE 2
|
|
|
|
|
#define GEAR_MASTER_AXIS 3
|
|
|
|
|
|
|
|
|
|
#define FOLLOW_MASTER_ENCODER 1
|
|
|
|
|
#define FOLLOW_MASTER_PROFILE 2
|
|
|
|
|
#define FOLLOW_MASTER_AXIS 3
|
|
|
|
|
|
|
|
|
|
#define FOLLOW_EVENT_START 1
|
|
|
|
|
#define FOLLOW_EVENT_PASS 2
|
|
|
|
|
|
|
|
|
|
#define GEAR_EVENT_START 1
|
|
|
|
|
#define GEAR_EVENT_PASS 2
|
|
|
|
|
#define GEAR_EVENT_AREA 5
|
|
|
|
|
|
|
|
|
|
#define FOLLOW_SEGMENT_NORMAL 0
|
|
|
|
|
#define FOLLOW_SEGMENT_EVEN 1
|
|
|
|
|
#define FOLLOW_SEGMENT_STOP 2
|
|
|
|
|
#define FOLLOW_SEGMENT_CONTINUE 3
|
|
|
|
|
|
|
|
|
|
#define INTERPOLATION_AXIS_MAX 4
|
|
|
|
|
#define CRD_FIFO_MAX 4096
|
|
|
|
|
#define FIFO_MAX 2
|
|
|
|
|
#define CRD_MAX 2
|
|
|
|
|
#define CRD_OPERATION_DATA_EXT_MAX 2
|
|
|
|
|
|
|
|
|
|
#define CRD_OPERATION_TYPE_NONE 0
|
|
|
|
|
#define CRD_OPERATION_TYPE_BUF_IO_DELAY 1
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_ON 2
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_OFF 3
|
|
|
|
|
#define CRD_OPERATION_TYPE_BUF_DA 4
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_CMD 5
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_RATIO 6
|
|
|
|
|
#define CRD_OPERATION_TYPE_LMTS_ON 7
|
|
|
|
|
#define CRD_OPERATION_TYPE_LMTS_OFF 8
|
|
|
|
|
#define CRD_OPERATION_TYPE_SET_STOP_IO 9
|
|
|
|
|
#define CRD_OPERATION_TYPE_BUF_MOVE 10
|
|
|
|
|
#define CRD_OPERATION_TYPE_BUF_GEAR 11
|
|
|
|
|
#define CRD_OPERATION_TYPE_SET_SEG_NUM 12
|
|
|
|
|
#define CRD_OPERATION_TYPE_STOP_MOTION 13
|
|
|
|
|
#define CRD_OPERATION_TYPE_SET_VAR_VALUE 14
|
|
|
|
|
#define CRD_OPERATION_TYPE_JUMP_NEXT_SEG 15
|
|
|
|
|
#define CRD_OPERATION_TYPE_SYNCH_PRF_POS 16
|
|
|
|
|
#define CRD_OPERATION_TYPE_VIRTUAL_TO_ACTUAL 17
|
|
|
|
|
#define CRD_OPERATION_TYPE_SET_USER_VAR 18
|
|
|
|
|
#define CRD_OPERATION_TYPE_SET_DO_BIT_PULSE 19
|
|
|
|
|
#define CRD_OPERATION_TYPE_BUF_COMPAREPULSE 20
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_ON_EX 21
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_OFF_EX 22
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_CMD_EX 23
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_RATIO_EX 24
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_MODE 25
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_OFF 26
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_OFF_EX 27
|
|
|
|
|
#define CRD_OPERATION_TYPE_LASER_FOLLOW_SPLINE 28
|
|
|
|
|
#define CRD_OPERATION_TYPE_MOTION_DATA 29
|
|
|
|
|
|
|
|
|
|
#define INTERPOLATION_MOTION_TYPE_LINE 0
|
|
|
|
|
#define INTERPOLATION_MOTION_TYPE_CIRCLE 1
|
|
|
|
|
#define INTERPOLATION_MOTION_TYPE_HELIX 2
|
|
|
|
|
#define INTERPOLATION_MOTION_TYPE_CIRCLE_3D 3
|
|
|
|
|
|
|
|
|
|
#define INTERPOLATION_CIRCLE_PLAT_XY 0
|
|
|
|
|
#define INTERPOLATION_CIRCLE_PLAT_YZ 1
|
|
|
|
|
#define INTERPOLATION_CIRCLE_PLAT_ZX 2
|
|
|
|
|
|
|
|
|
|
#define INTERPOLATION_HELIX_CIRCLE_XY_LINE_Z 0
|
|
|
|
|
#define INTERPOLATION_HELIX_CIRCLE_YZ_LINE_X 1
|
|
|
|
|
#define INTERPOLATION_HELIX_CIRCLE_ZX_LINE_Y 2
|
|
|
|
|
|
|
|
|
|
#define INTERPOLATION_CIRCLE_DIR_CW 0
|
|
|
|
|
#define INTERPOLATION_CIRCLE_DIR_CCW 1
|
|
|
|
|
|
|
|
|
|
#define COMPARE_PORT_HSIO (0) //??zW??HSIO?
|
|
|
|
|
#define COMPARE_PORT_GPO (1) //??zW??GPO?
|
|
|
|
|
|
|
|
|
|
#define COMPARE2D_MODE_2D 1
|
|
|
|
|
#define COMPARE2D_MODE_1D 0
|
|
|
|
|
|
|
|
|
|
#define INTERFACEBOARD20 2
|
|
|
|
|
#define INTERFACEBOARD30 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define AXIS_LASER 7
|
|
|
|
|
#define AXIS_LASER_EX 8
|
|
|
|
|
|
|
|
|
|
#define LASER_CTRL_MODE_PWM1 (0) // ??:PWM1
|
|
|
|
|
#define LASER_CTRL_FREQUENCY (1) // ??:?
|
|
|
|
|
#define LASER_CTRL_VOLTAGE (2) // ??:?
|
|
|
|
|
#define LASER_CTRL_MODE_PWM2 (3) // ??:PWM2
|
|
|
|
|
|
|
|
|
|
typedef struct TrapPrm
|
|
|
|
|
{
|
|
|
|
|
double acc;
|
|
|
|
|
double dec;
|
|
|
|
|
double velStart;
|
|
|
|
|
short smoothTime;
|
|
|
|
|
} TTrapPrm;
|
|
|
|
|
|
|
|
|
|
typedef struct JogPrm
|
|
|
|
|
{
|
|
|
|
|
double acc;
|
|
|
|
|
double dec;
|
|
|
|
|
double smooth;
|
|
|
|
|
} TJogPrm;
|
|
|
|
|
|
|
|
|
|
typedef struct Pid
|
|
|
|
|
{
|
|
|
|
|
double kp;
|
|
|
|
|
double ki;
|
|
|
|
|
double kd;
|
|
|
|
|
double kvff;
|
|
|
|
|
double kaff;
|
|
|
|
|
long integralLimit;
|
|
|
|
|
long derivativeLimit;
|
|
|
|
|
short limit;
|
|
|
|
|
} TPid;
|
|
|
|
|
|
|
|
|
|
typedef struct ThreadSts
|
|
|
|
|
{
|
|
|
|
|
short run;
|
|
|
|
|
short error;
|
|
|
|
|
double result;
|
|
|
|
|
short line;
|
|
|
|
|
} TThreadSts;
|
|
|
|
|
|
|
|
|
|
typedef struct VarInfo
|
|
|
|
|
{
|
|
|
|
|
short id;
|
|
|
|
|
short dataType;
|
|
|
|
|
char name[32];
|
|
|
|
|
} TVarInfo;
|
|
|
|
|
|
|
|
|
|
typedef struct CompileInfo
|
|
|
|
|
{
|
|
|
|
|
char *pFileName;
|
|
|
|
|
short *pLineNo;
|
|
|
|
|
char *pMessage;
|
|
|
|
|
} TCompileInfo;
|
|
|
|
|
|
|
|
|
|
typedef struct CrdPrm
|
|
|
|
|
{
|
|
|
|
|
short dimension; // <20><><EFBFBD><EFBFBD>ϵά<CFB5><CEAC>
|
|
|
|
|
short profile[8]; // <20><><EFBFBD><EFBFBD>profile<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double synVelMax; // <20><><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3>ٶ<EFBFBD>
|
|
|
|
|
double synAccMax; // <20><><EFBFBD><EFBFBD><EFBFBD>ϳɼ<CFB3><C9BC>ٶ<EFBFBD>
|
|
|
|
|
short evenTime; // <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
short setOriginFlag; // <20><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>־,0:Ĭ<>ϵ<EFBFBD>ǰ<EFBFBD>滮λ<E6BBAE><CEBB>Ϊԭ<CEAA><D4AD>λ<EFBFBD><CEBB>;1:<3A>û<EFBFBD>ָ<EFBFBD><D6B8>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
|
|
|
|
|
long originPos[8]; // <20>û<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB>
|
|
|
|
|
}TCrdPrm;
|
|
|
|
|
|
|
|
|
|
typedef struct CrdBufOperation
|
|
|
|
|
{
|
|
|
|
|
short flag; // <20><>־<EFBFBD>ò岹<C3B2><E5B2B9><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD>ʱ
|
|
|
|
|
unsigned short delay; // <20><>ʱʱ<CAB1><CAB1>
|
|
|
|
|
short doType; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO
|
|
|
|
|
unsigned short doMask; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
unsigned short doValue; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
unsigned short dataExt[CRD_OPERATION_DATA_EXT_MAX]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|
|
|
|
}TCrdBufOperation;
|
|
|
|
|
|
|
|
|
|
typedef struct CrdData
|
|
|
|
|
{
|
|
|
|
|
short motionType; // <20>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>,0:ֱ<>߲岹,1:Բ<><D4B2><EFBFBD>岹
|
|
|
|
|
short circlePlat; // Բ<><D4B2><EFBFBD>岹<EFBFBD><E5B2B9>ƽ<EFBFBD><C6BD>
|
|
|
|
|
long pos[INTERPOLATION_AXIS_MAX]; // <20><>ǰ<EFBFBD>θ<EFBFBD><CEB8><EFBFBD><EFBFBD>յ<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
double radius; // Բ<><D4B2><EFBFBD>岹<EFBFBD>İ뾶
|
|
|
|
|
short circleDir; // Բ<><D4B2><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>,0:˳ʱ<CBB3><CAB1>;1:<3A><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
double center[3]; // Բ<><D4B2><EFBFBD>岹<EFBFBD><E5B2B9>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
double vel; // <20><>ǰ<EFBFBD>κϳ<CEBA>Ŀ<EFBFBD><C4BF><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
double acc; // <20><>ǰ<EFBFBD>κϳɼ<CFB3><C9BC>ٶ<EFBFBD>
|
|
|
|
|
short velEndZero; // <20><>־<EFBFBD><D6BE>ǰ<EFBFBD>ε<EFBFBD><CEB5>յ<EFBFBD><D5B5>ٶ<EFBFBD><D9B6>Ƿ<EFBFBD>ǿ<EFBFBD><C7BF>Ϊ0,0:<3A><>ǿ<EFBFBD><C7BF>Ϊ0;1:ǿ<><C7BF>Ϊ0
|
|
|
|
|
TCrdBufOperation operation; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>IO<49>ṹ<EFBFBD><E1B9B9>
|
|
|
|
|
|
|
|
|
|
double cos[INTERPOLATION_AXIS_MAX]; // <20><>ǰ<EFBFBD>θ<EFBFBD><CEB8><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
double velEnd; // <20><>ǰ<EFBFBD>κϳ<CEBA><CFB3>յ<EFBFBD><D5B5>ٶ<EFBFBD>
|
|
|
|
|
double velEndAdjust; // <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>ٶ<EFBFBD>ʱ<EFBFBD>õ<EFBFBD><C3B5>ı<EFBFBD><C4B1><EFBFBD>(ǰհģ<D5B0><C4A3>)
|
|
|
|
|
double r; // <20><>ǰ<EFBFBD>κϳ<CEBA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|
|
|
|
}TCrdData;
|
|
|
|
|
|
|
|
|
|
typedef struct Trigger
|
|
|
|
|
{
|
|
|
|
|
short encoder;
|
|
|
|
|
short probeType;
|
|
|
|
|
short probeIndex;
|
|
|
|
|
short offset;
|
|
|
|
|
short windowOnly;
|
|
|
|
|
long firstPosition;
|
|
|
|
|
long lastPosition;
|
|
|
|
|
}TTrigger;
|
|
|
|
|
|
|
|
|
|
typedef struct TriggerStatus
|
|
|
|
|
{
|
|
|
|
|
short execute;
|
|
|
|
|
short done;
|
|
|
|
|
long position;
|
|
|
|
|
}TTriggerStatus;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
long px;
|
|
|
|
|
long py;
|
|
|
|
|
} T2DCompareData;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short encx;
|
|
|
|
|
short ency;
|
|
|
|
|
short source;
|
|
|
|
|
short outputType;
|
|
|
|
|
short startLevel;
|
|
|
|
|
short time;
|
|
|
|
|
short maxerr;
|
|
|
|
|
short threshold;
|
|
|
|
|
} T2DComparePrm;
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetDllVersion(char **pDllVersion);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetCardNo(short index);
|
|
|
|
|
GT_API GT_GetCardNo(short *pIndex);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetVersion(short cardNum,char **pVersion);
|
|
|
|
|
GT_API GT_GetInterfaceBoardSts(short cardNum,short *pStatus);
|
|
|
|
|
GT_API GT_SetInterfaceBoardSts(short cardNum,short type);
|
|
|
|
|
GT_API GT_Open(short cardNum,short channel=0,short param=1);
|
|
|
|
|
GT_API GT_Close(short cardNum);
|
|
|
|
|
|
|
|
|
|
GT_API GT_LoadConfig(short cardNum,char *pFile);
|
|
|
|
|
|
|
|
|
|
GT_API GT_AlarmOff(short cardNum,short axis);
|
|
|
|
|
GT_API GT_AlarmOn(short cardNum,short axis);
|
|
|
|
|
GT_API GT_LmtsOn(short cardNum,short axis,short limitType=-1);
|
|
|
|
|
GT_API GT_LmtsOff(short cardNum,short axis,short limitType=-1);
|
|
|
|
|
GT_API GT_ProfileScale(short cardNum,short axis,short alpha,short beta);
|
|
|
|
|
GT_API GT_EncScale(short cardNum,short axis,short alpha,short beta);
|
|
|
|
|
GT_API GT_StepDir(short cardNum,short step);
|
|
|
|
|
GT_API GT_StepPulse(short cardNum,short step);
|
|
|
|
|
GT_API GT_SetMtrBias(short cardNum,short dac,short bias);
|
|
|
|
|
GT_API GT_GetMtrBias(short cardNum,short dac,short *pBias);
|
|
|
|
|
GT_API GT_SetMtrLmt(short cardNum,short dac,short limit);
|
|
|
|
|
GT_API GT_GetMtrLmt(short cardNum,short dac,short *pLimit);
|
|
|
|
|
GT_API GT_EncSns(short cardNum,unsigned short sense);
|
|
|
|
|
GT_API GT_EncOn(short cardNum,short encoder);
|
|
|
|
|
GT_API GT_EncOff(short cardNum,short encoder);
|
|
|
|
|
GT_API GT_SetPosErr(short cardNum,short control,long error);
|
|
|
|
|
GT_API GT_GetPosErr(short cardNum,short control,long *pError);
|
|
|
|
|
GT_API GT_SetStopDec(short cardNum,short profile,double decSmoothStop,double decAbruptStop);
|
|
|
|
|
GT_API GT_GetStopDec(short cardNum,short profile,double *pDecSmoothStop,double *pDecAbruptStop);
|
|
|
|
|
GT_API GT_LmtSns(short cardNum,unsigned short sense);
|
|
|
|
|
GT_API GT_CtrlMode(short cardNum,short axis,short mode);
|
|
|
|
|
GT_API GT_SetStopIo(short cardNum,short axis,short stopType,short inputType,short inputIndex);
|
|
|
|
|
GT_API GT_GpiSns(short cardNum,unsigned short sense);
|
|
|
|
|
GT_API GT_SetAdcFilter(short cardNum,short adc,short filterTime);
|
|
|
|
|
GT_API GT_SetAxisPrfVelFilter(short cardNum,short axis,short filterNumExp);
|
|
|
|
|
GT_API GT_GetAxisPrfVelFilter(short cardNum,short axis,short *pFilterNumExp);
|
|
|
|
|
GT_API GT_SetAxisEncVelFilter(short cardNum,short axis,short filterNumExp);
|
|
|
|
|
GT_API GT_GetAxisEncVelFilter(short cardNum,short axis,short *pFilterNumExp);
|
|
|
|
|
GT_API GT_SetAxisInputShaping(short cardNum,short axis,short enable,short count,double k);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetDo(short cardNum,short doType,long value);
|
|
|
|
|
GT_API GT_SetDoBit(short cardNum,short doType,short doIndex,short value);
|
|
|
|
|
GT_API GT_GetDo(short cardNum,short doType,long *pValue);
|
|
|
|
|
GT_API GT_SetDoBitReverse(short cardNum,short doType,short doIndex,short value,short reverseTime);
|
|
|
|
|
GT_API GT_SetDoMask(short cardNum,short doType,unsigned short doMask,long value);
|
|
|
|
|
GT_API GT_EnableDoBitPulse(short cardNum,short doType,short doIndex,unsigned short highLevelTime,unsigned short lowLevelTime,long pulseNum,short firstLevel);
|
|
|
|
|
GT_API GT_DisableDoBitPulse(short cardNum,short doType,short doIndex);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetDi(short cardNum,short diType,long *pValue);
|
|
|
|
|
GT_API GT_GetDiReverseCount(short cardNum,short diType,short diIndex,unsigned long *pReverseCount,short count=1);
|
|
|
|
|
GT_API GT_SetDiReverseCount(short cardNum,short diType,short diIndex,unsigned long *pReverseCount,short count=1);
|
|
|
|
|
GT_API GT_GetDiRaw(short cardNum,short diType,long *pValue);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetDac(short cardNum,short dac,short *pValue,short count=1);
|
|
|
|
|
GT_API GT_GetDac(short cardNum,short dac,short *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetAdc(short cardNum,short adc,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAdcValue(short cardNum,short adc,short *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetEncPos(short cardNum,short encoder,long encPos);
|
|
|
|
|
GT_API GT_GetEncPos(short cardNum,short encoder,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetEncPosPre(short cardNum,short encoder,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetEncVel(short cardNum,short encoder,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetCaptureMode(short cardNum,short encoder,short mode);
|
|
|
|
|
GT_API GT_GetCaptureMode(short cardNum,short encoder,short *pMode,short count=1);
|
|
|
|
|
GT_API GT_GetCaptureStatus(short cardNum,short encoder,short *pStatus,long *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_SetCaptureSense(short cardNum,short encoder,short mode,short sense);
|
|
|
|
|
GT_API GT_ClearCaptureStatus(short cardNum,short encoder);
|
|
|
|
|
GT_API GT_SetCaptureRepeat(short cardNum,short encoder,short count);
|
|
|
|
|
GT_API GT_GetCaptureRepeatStatus(short cardNum,short encoder,short *pCount);
|
|
|
|
|
GT_API GT_GetCaptureRepeatPos(short cardNum,short encoder,long *pValue,short startNum,short count);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetCaptureEncoder(short cardNum,short trigger,short encoder);
|
|
|
|
|
GT_API GT_GetCaptureWidth(short cardNum,short trigger,short *pWidth,short count=1);
|
|
|
|
|
GT_API GT_GetCaptureHomeGpi(short cardNum,short trigger,short pHomeSts,short *pHomePos,short pGpiSts,short *pGpiPos,short count=1);
|
|
|
|
|
|
|
|
|
|
GT_API GT_Reset(short cardNum);
|
|
|
|
|
GT_API GT_GetClock(short cardNum,unsigned long *pClock,unsigned long *pLoop=NULL);
|
|
|
|
|
GT_API GT_GetClockHighPrecision(short cardNum,unsigned long *pClock);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetSts(short cardNum,short axis,long *pSts,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_ClrSts(short cardNum,short axis,short count=1);
|
|
|
|
|
GT_API GT_AxisOn(short cardNum,short axis);
|
|
|
|
|
GT_API GT_AxisOff(short cardNum,short axis);
|
|
|
|
|
GT_API GT_Stop(short cardNum,long mask,long option);
|
|
|
|
|
GT_API GT_SetPrfPos(short cardNum,short profile,long prfPos);
|
|
|
|
|
GT_API GT_SynchAxisPos(short cardNum,long mask);
|
|
|
|
|
GT_API GT_ZeroPos(short cardNum,short axis,short count=1);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetSoftLimit(short cardNum,short axis,long positive,long negative);
|
|
|
|
|
GT_API GT_GetSoftLimit(short cardNum,short axis,long *pPositive,long *pNegative);
|
|
|
|
|
GT_API GT_SetAxisBand(short cardNum,short axis,long band,long time);
|
|
|
|
|
GT_API GT_GetAxisBand(short cardNum,short axis,long *pBand,long *pTime);
|
|
|
|
|
GT_API GT_SetBacklash(short cardNum,short axis,long compValue,double compChangeValue,long compDir);
|
|
|
|
|
GT_API GT_GetBacklash(short cardNum,short axis,long *pCompValue,double *pCompChangeValue,long *pCompDir);
|
|
|
|
|
GT_API GT_SetLeadScrewComp(short cardNum,short axis,short n,long startPos,long lenPos,long *pCompPos,long *pCompNeg);
|
|
|
|
|
GT_API GT_EnableLeadScrewComp(short cardNum,short axis,short mode);
|
|
|
|
|
GT_API GT_GetCompensate(short cardNum,short axis,double *pPitchError,double *pCrossError,double *pBacklashError,double *pEncPos,double *pPrfPos);
|
|
|
|
|
|
|
|
|
|
GT_API GT_EnableGantry(short cardNum,short gantryMaster,short gantrySlave,double masterKp,double slaveKp);
|
|
|
|
|
GT_API GT_DisableGantry(short cardNum);
|
|
|
|
|
GT_API GT_SetGantryErrLmt(short cardNum,long gantryErrLmt);
|
|
|
|
|
GT_API GT_GetGantryErrLmt(short cardNum,long *pGantryErrLmt);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetPrfPos(short cardNum,short profile,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetPrfVel(short cardNum,short profile,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetPrfAcc(short cardNum,short profile,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetPrfMode(short cardNum,short profile,long *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetAxisPrfPos(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisPrfVel(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisPrfAcc(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisEncPos(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisEncVel(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisEncAcc(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
GT_API GT_GetAxisError(short cardNum,short axis,double *pValue,short count=1,unsigned long *pClock=NULL);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetLongVar(short cardNum,short index,long value);
|
|
|
|
|
GT_API GT_GetLongVar(short cardNum,short index,long *pValue);
|
|
|
|
|
GT_API GT_SetDoubleVar(short cardNum,short index,double pValue);
|
|
|
|
|
GT_API GT_GetDoubleVar(short cardNum,short index,double *pValue);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetControlFilter(short cardNum,short control,short index);
|
|
|
|
|
GT_API GT_GetControlFilter(short cardNum,short control,short *pIndex);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetPid(short cardNum,short control,short index,TPid *pPid);
|
|
|
|
|
GT_API GT_GetPid(short cardNum,short control,short index,TPid *pPid);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetKvffFilter(short cardNum,short control,short index,short kvffFilterExp,double accMax);
|
|
|
|
|
GT_API GT_GetKvffFilter(short cardNum,short control,short index,short *pKvffFilterExp,double *pAccMax);
|
|
|
|
|
|
|
|
|
|
GT_API GT_Update(short cardNum,long mask);
|
|
|
|
|
GT_API GT_SetPos(short cardNum,short profile,long pos);
|
|
|
|
|
GT_API GT_GetPos(short cardNum,short profile,long *pPos);
|
|
|
|
|
GT_API GT_SetVel(short cardNum,short profile,double vel);
|
|
|
|
|
GT_API GT_GetVel(short cardNum,short profile,double *pVel);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfTrap(short cardNum,short profile);
|
|
|
|
|
GT_API GT_SetTrapPrm(short cardNum,short profile,TTrapPrm *pPrm);
|
|
|
|
|
GT_API GT_GetTrapPrm(short cardNum,short profile,TTrapPrm *pPrm);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfJog(short cardNum,short profile);
|
|
|
|
|
GT_API GT_SetJogPrm(short cardNum,short profile,TJogPrm *pPrm);
|
|
|
|
|
GT_API GT_GetJogPrm(short cardNum,short profile,TJogPrm *pPrm);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfPt(short cardNum,short profile,short mode=PT_MODE_STATIC);
|
|
|
|
|
GT_API GT_SetPtLoop(short cardNum,short profile,long loop);
|
|
|
|
|
GT_API GT_GetPtLoop(short cardNum,short profile,long *pLoop);
|
|
|
|
|
GT_API GT_PtSpace(short cardNum,short profile,short *pSpace,short fifo=0);
|
|
|
|
|
GT_API GT_PtData(short cardNum,short profile,double pos,long time,short type=PT_SEGMENT_NORMAL,short fifo=0);
|
|
|
|
|
GT_API GT_PtDataWN(short cardNum,short profile,double pos,long time,short type=PT_SEGMENT_NORMAL,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_PtClear(short cardNum,short profile,short fifo=0);
|
|
|
|
|
GT_API GT_PtStart(short cardNum,long mask,long option=0);
|
|
|
|
|
GT_API GT_SetPtMemory(short cardNum,short profile,short memory);
|
|
|
|
|
GT_API GT_GetPtMemory(short cardNum,short profile,short *pMemory);
|
|
|
|
|
GT_API GT_PtGetSegNum(short cardNum,short profile,long *pSegNum);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfGear(short cardNum,short profile,short dir=0);
|
|
|
|
|
GT_API GT_SetGearMaster(short cardNum,short profile,short masterIndex,short masterType=GEAR_MASTER_PROFILE,short masterItem=0);
|
|
|
|
|
GT_API GT_GetGearMaster(short cardNum,short profile,short *pMasterIndex,short *pMasterType=NULL,short *pMasterItem=NULL);
|
|
|
|
|
GT_API GT_SetGearRatio(short cardNum,short profile,long masterEven,long slaveEven,long masterSlope=0);
|
|
|
|
|
GT_API GT_GetGearRatio(short cardNum,short profile,long *pMasterEven,long *pSlaveEven,long *pMasterSlope=NULL);
|
|
|
|
|
GT_API GT_GearStart(short cardNum,long mask);
|
|
|
|
|
GT_API GT_SetGearEvent(short cardNum,short profile,short event,long startPara0,long startPara1);
|
|
|
|
|
GT_API GT_GetGearEvent(short cardNum,short profile,short *pEvent,long *pStartPara0,long *pStartPara1);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfFollow(short cardNum,short profile,short dir=0);
|
|
|
|
|
GT_API GT_SetFollowMaster(short cardNum,short profile,short masterIndex,short masterType=FOLLOW_MASTER_PROFILE,short masterItem=0);
|
|
|
|
|
GT_API GT_GetFollowMaster(short cardNum,short profile,short *pMasterIndex,short *pMasterType=NULL,short *pMasterItem=NULL);
|
|
|
|
|
GT_API GT_SetFollowLoop(short cardNum,short profile,long loop);
|
|
|
|
|
GT_API GT_GetFollowLoop(short cardNum,short profile,long *pLoop);
|
|
|
|
|
GT_API GT_SetFollowEvent(short cardNum,short profile,short event,short masterDir,long pos=0);
|
|
|
|
|
GT_API GT_GetFollowEvent(short cardNum,short profile,short *pEvent,short *pMasterDir,long *pPos=NULL);
|
|
|
|
|
GT_API GT_FollowSpace(short cardNum,short profile,short *pSpace,short fifo=0);
|
|
|
|
|
GT_API GT_FollowData(short cardNum,short profile,long masterSegment,double slaveSegment,short type=FOLLOW_SEGMENT_NORMAL,short fifo=0);
|
|
|
|
|
GT_API GT_FollowClear(short cardNum,short profile,short fifo=0);
|
|
|
|
|
GT_API GT_FollowStart(short cardNum,long mask,long option=0);
|
|
|
|
|
GT_API GT_FollowSwitch(short cardNum,long mask);
|
|
|
|
|
GT_API GT_SetFollowMemory(short cardNum,short profile,short memory);
|
|
|
|
|
GT_API GT_GetFollowMemory(short cardNum,short profile,short *pMemory);
|
|
|
|
|
GT_API GT_GetFollowStatus(short cardNum,short profile,short *pFifoNum,short *pSwitchStatus);
|
|
|
|
|
GT_API GT_SetFollowPhasing(short cardNum,short profile,short profilePhasing);
|
|
|
|
|
GT_API GT_GetFollowPhasing(short cardNum,short profile,short *pProfilePhasing);
|
|
|
|
|
|
|
|
|
|
GT_API GT_Compile(short cardNum,char *pFileName,TCompileInfo *pWrongInfo);
|
|
|
|
|
GT_API GT_Download(short cardNum,char *pFileName);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetFunId(short cardNum,char *pFunName,short *pFunId);
|
|
|
|
|
GT_API GT_Bind(short cardNum,short thread,short funId,short page);
|
|
|
|
|
|
|
|
|
|
GT_API GT_RunThread(short cardNum,short thread);
|
|
|
|
|
GT_API GT_StopThread(short cardNum,short thread);
|
|
|
|
|
GT_API GT_PauseThread(short cardNum,short thread);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetThreadSts(short cardNum,short thread,TThreadSts *pThreadSts);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetVarId(short cardNum,char *pFunName,char *pVarName,TVarInfo *pVarInfo);
|
|
|
|
|
GT_API GT_SetVarValue(short cardNum,short page,TVarInfo *pVarInfo,double *pValue,short count=1);
|
|
|
|
|
GT_API GT_GetVarValue(short cardNum,short page,TVarInfo *pVarInfo,double *pValue,short count=1);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetCrdPrm(short cardNum,short crd,TCrdPrm *pCrdPrm);
|
|
|
|
|
GT_API GT_GetCrdPrm(short cardNum,short crd,TCrdPrm *pCrdPrm);
|
|
|
|
|
GT_API GT_CrdSpace(short cardNum,short crd,long *pSpace,short fifo=0);
|
|
|
|
|
GT_API GT_CrdData(short cardNum,short crd,TCrdData *pCrdData,short fifo=0);
|
|
|
|
|
GT_API GT_CrdDataCircle(short cardNum,short crd,TCrdData *pCrdData,short fifo=0);
|
|
|
|
|
GT_API GT_LnXY(short cardNum,short crd,long x,long y,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZ(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZA(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYG0(short cardNum,short crd,long x,long y,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZG0(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAG0(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYR(short cardNum,short crd,long x,long y,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYC(short cardNum,short crd,long x,long y,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZR(short cardNum,short crd,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZC(short cardNum,short crd,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXR(short cardNum,short crd,long z,long x,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXC(short cardNum,short crd,long z,long x,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYZ(short cardNum,short crd,long x,long y,long z,double interX,double interY,double interZ,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYOverride2(short cardNum,short crd,long x,long y,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZOverride2(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAOverride2(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYG0Override2(short cardNum,short crd,long x,long y,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZG0Override2(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAG0Override2(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYROverride2(short cardNum,short crd,long x,long y,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYCOverride2(short cardNum,short crd,long x,long y,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZROverride2(short cardNum,short crd,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZCOverride2(short cardNum,short crd,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXROverride2(short cardNum,short crd,long z,long x,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXCOverride2(short cardNum,short crd,long z,long x,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYRZ(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYCZ(short cardNum,short crd,long x,long y,long z,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZRX(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZCX(short cardNum,short crd,long x,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXRY(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXCY(short cardNum,short crd,long x,long y,long z,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYRZOverride2(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYCZOverride2(short cardNum,short crd,long x,long y,long z,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZRXOverride2(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZCXOverride2(short cardNum,short crd,long x,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXRYOverride2(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXCYOverride2(short cardNum,short crd,long x,long y,long z,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYWN(short cardNum,short crd,long x,long y,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZWN(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAWN(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYG0WN(short cardNum,short crd,long x,long y,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZG0WN(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAG0WN(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYRWN(short cardNum,short crd,long x,long y,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYCWN(short cardNum,short crd,long x,long y,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZRWN(short cardNum,short crd,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZCWN(short cardNum,short crd,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXRWN(short cardNum,short crd,long z,long x,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXCWN(short cardNum,short crd,long z,long x,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYZWN(short cardNum,short crd,long x,long y,long z,double interX,double interY,double interZ,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYOverride2WN(short cardNum,short crd,long x,long y,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZOverride2WN(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAOverride2WN(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYG0Override2WN(short cardNum,short crd,long x,long y,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZG0Override2WN(short cardNum,short crd,long x,long y,long z,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_LnXYZAG0Override2WN(short cardNum,short crd,long x,long y,long z,long a,double synVel,double synAcc,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYROverride2WN(short cardNum,short crd,long x,long y,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcXYCOverride2WN(short cardNum,short crd,long x,long y,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZROverride2WN(short cardNum,short crd,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcYZCOverride2WN(short cardNum,short crd,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXROverride2WN(short cardNum,short crd,long z,long x,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_ArcZXCOverride2WN(short cardNum,short crd,long z,long x,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYRZWN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYCZWN(short cardNum,short crd,long x,long y,long z,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZRXWN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZCXWN(short cardNum,short crd,long x,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXRYWN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXCYWN(short cardNum,short crd,long x,long y,long z,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYRZOverride2WN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixXYCZOverride2WN(short cardNum,short crd,long x,long y,long z,double xCenter,double yCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZRXOverride2WN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixYZCXOverride2WN(short cardNum,short crd,long x,long y,long z,double yCenter,double zCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXRYOverride2WN(short cardNum,short crd,long x,long y,long z,double radius,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_HelixZXCYOverride2WN(short cardNum,short crd,long x,long y,long z,double zCenter,double xCenter,short circleDir,double synVel,double synAcc,double velEnd=0,long segNum=0,short fifo=0);
|
|
|
|
|
GT_API GT_BufIO(short cardNum,short crd,unsigned short doType,unsigned short doMask,unsigned short doValue,short fifo=0);
|
|
|
|
|
GT_API GT_BufEnableDoBitPulse(short cardNum,short crd,short doType,short doIndex,unsigned short highLevelTime,unsigned short lowLevelTime,long pulseNum,short firstLevel,short fifo=0);
|
|
|
|
|
GT_API GT_BufDisableDoBitPulse(short cardNum,short crd,short doType,short doIndex,short fifo=0);
|
|
|
|
|
GT_API GT_BufDelay(short cardNum,short crd,unsigned short delayTime,short fifo=0);
|
|
|
|
|
GT_API GT_BufComparePulse(short cardNum,short crd,short level,short outputType,short time,short fifo=0);
|
|
|
|
|
GT_API GT_BufDA(short cardNum,short crd,short chn,short daValue,short fifo=0);
|
|
|
|
|
GT_API GT_BufLmtsOn(short cardNum,short crd,short axis,short limitType,short fifo=0);
|
|
|
|
|
GT_API GT_BufLmtsOff(short cardNum,short crd,short axis,short limitType,short fifo=0);
|
|
|
|
|
GT_API GT_BufSetStopIo(short cardNum,short crd,short axis,short stopType,short inputType,short inputIndex,short fifo=0);
|
|
|
|
|
GT_API GT_BufMove(short cardNum,short crd,short moveAxis,long pos,double vel,double acc,short modal,short fifo=0);
|
|
|
|
|
GT_API GT_BufGear(short cardNum,short crd,short gearAxis,long pos,short fifo=0);
|
|
|
|
|
GT_API GT_BufGearPercent(short cardNum,short crd,short gearAxis,long pos,short accPercent,short decPercent,short fifo=0);
|
|
|
|
|
GT_API GT_BufStopMotion(short cardNum,short crd,short fifo=0);
|
|
|
|
|
GT_API GT_BufSetVarValue(short cardNum,short crd,short pageId,TVarInfo *pVarInfo,double value,short fifo=0);
|
|
|
|
|
GT_API GT_BufJumpNextSeg(short cardNum,short crd,short axis,short limitType,short fifo=0);
|
|
|
|
|
GT_API GT_BufSynchPrfPos(short cardNum,short crd,short encoder,short profile,short fifo=0);
|
|
|
|
|
GT_API GT_BufVirtualToActual(short cardNum,short crd,short fifo=0);
|
|
|
|
|
GT_API GT_BufSetLongVar(short cardNum,short crd,short index,long value,short fifo=0);
|
|
|
|
|
GT_API GT_BufSetDoubleVar(short cardNum,short crd,short index,double value,short fifo=0);
|
|
|
|
|
GT_API GT_CrdStart(short cardNum,short mask,short option);
|
|
|
|
|
GT_API GT_CrdStartStep(short cardNum,short mask,short option);
|
|
|
|
|
GT_API GT_CrdStepMode(short cardNum,short mask,short option);
|
|
|
|
|
GT_API GT_SetOverride(short cardNum,short crd,double synVelRatio);
|
|
|
|
|
GT_API GT_SetOverride2(short cardNum,short crd,double synVelRatio);
|
|
|
|
|
GT_API GT_InitLookAhead(short cardNum,short crd,short fifo,double T,double accMax,short n,TCrdData *pLookAheadBuf);
|
|
|
|
|
GT_API GT_GetLookAheadSpace(short cardNum,short crd,long *pSpace,short fifo=0);
|
|
|
|
|
GT_API GT_GetLookAheadSegCount(short cardNum,short crd,long *pSegCount,short fifo=0);
|
|
|
|
|
GT_API GT_CrdClear(short cardNum,short crd,short fifo);
|
|
|
|
|
GT_API GT_CrdStatus(short cardNum,short crd,short *pRun,long *pSegment,short fifo=0);
|
|
|
|
|
GT_API GT_SetUserSegNum(short cardNum,short crd,long segNum,short fifo=0);
|
|
|
|
|
GT_API GT_GetUserSegNum(short cardNum,short crd,long *pSegment,short fifo=0);
|
|
|
|
|
GT_API GT_GetUserSegNumWN(short cardNum,short crd,long *pSegment,short fifo=0);
|
|
|
|
|
GT_API GT_GetRemainderSegNum(short cardNum,short crd,long *pSegment,short fifo=0);
|
|
|
|
|
GT_API GT_SetCrdStopDec(short cardNum,short crd,double decSmoothStop,double decAbruptStop);
|
|
|
|
|
GT_API GT_GetCrdStopDec(short cardNum,short crd,double *pDecSmoothStop,double *pDecAbruptStop);
|
|
|
|
|
GT_API GT_SetCrdLmtStopMode(short cardNum,short crd,short lmtStopMode);
|
|
|
|
|
GT_API GT_GetCrdLmtStopMode(short cardNum,short crd,short *pLmtStopMode);
|
|
|
|
|
GT_API GT_GetUserTargetVel(short cardNum,short crd,double *pTargetVel);
|
|
|
|
|
GT_API GT_GetSegTargetPos(short cardNum,short crd,long *pTargetPos);
|
|
|
|
|
GT_API GT_GetCrdPos(short cardNum,short crd,double *pPos);
|
|
|
|
|
GT_API GT_GetCrdVel(short cardNum,short crd,double *pSynVel);
|
|
|
|
|
GT_API GT_SetCrdSingleMaxVel(short cardNum,short crd,double *pMaxVel);
|
|
|
|
|
GT_API GT_GetCrdSingleMaxVel(short cardNum,short crd,double *pMaxVel);
|
|
|
|
|
GT_API GT_BufLaserOn(short cardNum,short crd,short fifo=0,short channel=0);
|
|
|
|
|
GT_API GT_BufLaserOff(short cardNum,short crd,short fifo=0,short channel=0);
|
|
|
|
|
GT_API GT_BufLaserPrfCmd(short cardNum,short crd,double laserPower,short fifo=0,short channel=0);
|
|
|
|
|
GT_API GT_BufLaserFollowRatio(short cardNum,short crd,double ratio,double minPower,double maxPower,short fifo=0,short channel=0);
|
|
|
|
|
GT_API GT_BufLaserFollowMode(short cardNum,short crd,short source =0,short fifo=0,short channel=0,double startPower =0);
|
|
|
|
|
GT_API GT_BufLaserFollowOff(short cardNum,short crd,short fifo=0,short channel=0);
|
|
|
|
|
GT_API GT_BufLaserFollowSpline(short cardNum,short crd,short tableId,double minPower,double maxPower,short fifo=0,short channel=0);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PrfPvt(short cardNum,short profile);
|
|
|
|
|
GT_API GT_SetPvtLoop(short cardNum,short profile,long loop);
|
|
|
|
|
GT_API GT_GetPvtLoop(short cardNum,short profile,long *pLoopCount,long *pLoop);
|
|
|
|
|
GT_API GT_PvtStatus(short cardNum,short profile,short *pTableId,double *pTime,short count=1);
|
|
|
|
|
GT_API GT_PvtStart(short cardNum,long mask);
|
|
|
|
|
GT_API GT_PvtTableSelect(short cardNum,short profile,short tableId);
|
|
|
|
|
|
|
|
|
|
GT_API GT_PvtTable(short cardNum,short tableId,long count,double *pTime,double *pPos,double *pVel);
|
|
|
|
|
GT_API GT_PvtTableEx(short cardNum,short tableId,long count,double *pTime,double *pPos,double *pVelBegin,double *pVelEnd);
|
|
|
|
|
GT_API GT_PvtTableComplete(short cardNum,short tableId,long count,double *pTime,double *pPos,double *pA,double *pB,double *pC,double velBegin=0,double velEnd=0);
|
|
|
|
|
GT_API GT_PvtTablePercent(short cardNum,short tableId,long count,double *pTime,double *pPos,double *pPercent,double velBegin=0);
|
|
|
|
|
GT_API GT_PvtPercentCalculate(short cardNum,long n,double *pTime,double *pPos,double *pPercent,double velBegin,double *pVel);
|
|
|
|
|
GT_API GT_PvtTableContinuous(short cardNum,short tableId,long count,double *pPos,double *pVel,double *pPercent,double *pVelMax,double *pAcc,double *pDec,double timeBegin);
|
|
|
|
|
GT_API GT_PvtContinuousCalculate(short cardNum,long n,double *pPos,double *pVel,double *pPercent,double *pVelMax,double *pAcc,double *pDec,double *pTime);
|
|
|
|
|
GT_API GT_PvtTableMovePercent(short cardNum,short tableId,long distance,double vm,double acc,double pa1,double pa2,double dec,double pd1,double pd2,double *pVel,double *pAcc,double *pDec,double *pTime);
|
|
|
|
|
|
|
|
|
|
GT_API GT_HomeInit(short cardNum);
|
|
|
|
|
GT_API GT_Home(short cardNum,short axis,long pos,double vel,double acc,long offset);
|
|
|
|
|
GT_API GT_Index(short cardNum,short axis,long pos,long offset);
|
|
|
|
|
GT_API GT_HomeStop(short cardNum,short axis,long pos,double vel,double acc);
|
|
|
|
|
GT_API GT_HomeSts(short cardNum,short axis,unsigned short *pStatus);
|
|
|
|
|
|
|
|
|
|
GT_API GT_HandwheelInit(short cardNum);
|
|
|
|
|
GT_API GT_SetHandwheelStopDec(short cardNum,short slave,double decSmoothStop,double decAbruptStop);
|
|
|
|
|
GT_API GT_StartHandwheel(short cardNum,short slave,short master,short masterEven,short slaveEven,short intervalTime,double acc,double dec,double vel,short stopWaitTime);
|
|
|
|
|
GT_API GT_EndHandwheel(short cardNum,short slave);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetTrigger(short cardNum,short i,TTrigger *pTrigger);
|
|
|
|
|
GT_API GT_GetTrigger(short cardNum,short i,TTrigger *pTrigger);
|
|
|
|
|
GT_API GT_GetTriggerStatus(short cardNum,short i,TTriggerStatus *pTriggerStatus,short count=1);
|
|
|
|
|
GT_API GT_ClearTriggerStatus(short cardNum,short i);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetComparePort(short cardNum,short channel,short hsio0,short hsio1);
|
|
|
|
|
|
|
|
|
|
GT_API GT_ComparePulse(short cardNum,short level,short outputType,short time);
|
|
|
|
|
GT_API GT_CompareStop(short cardNum);
|
|
|
|
|
GT_API GT_CompareStatus(short cardNum,short *pStatus,long *pCount);
|
|
|
|
|
GT_API GT_CompareData(short cardNum,short encoder,short source,short pulseType,short startLevel,short time,
|
|
|
|
|
long *pBuf1,short count1,long *pBuf2,short count2);
|
|
|
|
|
GT_API GT_CompareLinear(short cardNum,short encoder,short channel,long startPos,long repeatTimes,long interval,short time,short source);
|
|
|
|
|
GT_API GT_CompareContinuePulseMode(short mode,short count,short standTime);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetEncResponseCheck(short cardNum,short control,short dacThreshold,double minEncVel,long time);
|
|
|
|
|
GT_API GT_GetEncResponseCheck(short cardNum,short control,short *pDacThreshold,double *pMinEncVel,long *pTime);
|
|
|
|
|
GT_API GT_EnableEncResponseCheck(short cardNum,short control);
|
|
|
|
|
GT_API GT_DisableEncResponseCheck(short cardNum,short control);
|
|
|
|
|
|
|
|
|
|
GT_API GT_2DCompareMode(short cardNum,short chn,short mode);
|
|
|
|
|
GT_API GT_2DComparePulse(short cardNum,short chn,short level,short outputType,short time);
|
|
|
|
|
GT_API GT_2DCompareStop(short cardNum,short chn);
|
|
|
|
|
GT_API GT_2DCompareClear(short cardNum,short chn);
|
|
|
|
|
GT_API GT_2DCompareStatus(short cardNum,short chn,short *pStatus,long *pCount,short *pFifo,short *pFifoCount,short *pBufCount =NULL);
|
|
|
|
|
GT_API GT_2DCompareSetPrm(short cardNum,short chn,T2DComparePrm *pPrm);
|
|
|
|
|
GT_API GT_2DCompareData(short cardNum,short chn,short count,T2DCompareData *pBuf,short fifo);
|
|
|
|
|
GT_API GT_2DCompareStart(short cardNum,short chn);
|
|
|
|
|
GT_API GT_2DCompareClearData(short cardNum,short chn);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetAxisMode(short cardNum,short axis,short mode);
|
|
|
|
|
GT_API GT_GetAxisMode(short cardNum,short axis,short *pMode);
|
|
|
|
|
GT_API GT_SetHSIOOpt(short cardNum,unsigned short value,short channel=0);
|
|
|
|
|
GT_API GT_GetHSIOOpt(short cardNum,unsigned short *pValue,short channel=0);
|
|
|
|
|
GT_API GT_LaserPowerMode(short cardNum,short laserPowerMode,double maxValue,double minValue,short channel=0,short delaymode =0);
|
|
|
|
|
GT_API GT_LaserPrfCmd(short cardNum,double outputCmd,short channel=0);
|
|
|
|
|
GT_API GT_LaserOutFrq(short cardNum,double outFrq,short channel=0);
|
|
|
|
|
GT_API GT_SetPulseWidth(short cardNum,unsigned long width,short channel=0);
|
|
|
|
|
GT_API GT_SetWaitPulse(short cardNum,unsigned short mode,double waitPulseFrq,double waitPulseDuty,short channel=0);
|
|
|
|
|
GT_API GT_SetPreVltg(short cardNum,unsigned short mode,double voltageValue,short channel=0);
|
|
|
|
|
GT_API GT_SetLevelDelay(short cardNum,unsigned short offDelay,unsigned short onDelay,short channel=0);
|
|
|
|
|
GT_API GT_EnaFPK(short cardNum,unsigned short time1,unsigned short time2,unsigned short laserOffDelay,short channel=0);
|
|
|
|
|
GT_API GT_DisFPK(short cardNum,short channel=0);
|
|
|
|
|
GT_API GT_SetLaserDisMode(short cardNum,short mode,short source,long *pPos,double *pScale,short channel=0);
|
|
|
|
|
GT_API GT_SetLaserDisRatio(short cardNum,double *pRatio,double minPower,double maxPower,short channel=0);
|
|
|
|
|
GT_API GT_SetWaitPulseEx(short cardNum,unsigned short mode,double waitPulseFrq,double waitPulseDuty);
|
|
|
|
|
GT_API GT_SetLaserMode(short cardNum,short mode);
|
|
|
|
|
GT_API GT_SetLaserFollowSpline(short cardNum,short tableId,long n,double *pX,double *pY,double beginValue,double endValue,short channel=0);
|
|
|
|
|
GT_API GT_GetLaserFollowSpline(short cardNum,short tableId,long n,double *pX,double *pY,double *pA,double *pB,double *pC,long *pCount,short channel=0);
|
|
|
|
|
|
|
|
|
|
GT_API GT_OpenExtMdl(short cardNum,char *pDllName=NULL);
|
|
|
|
|
GT_API GT_CloseExtMdl(short cardNum);
|
|
|
|
|
GT_API GT_SwitchtoCardNoExtMdl(short cardNum,short card);
|
|
|
|
|
|
|
|
|
|
GT_API GT_ResetExtMdl(short cardNum);
|
|
|
|
|
GT_API GT_LoadExtConfig(short cardNum,char *pFileName);
|
|
|
|
|
GT_API GT_SetExtIoValue(short cardNum,short mdl,unsigned short value);
|
|
|
|
|
GT_API GT_GetExtIoValue(short cardNum,short mdl,unsigned short *pValue);
|
|
|
|
|
GT_API GT_SetExtIoBit(short cardNum,short mdl,short index,unsigned short value);
|
|
|
|
|
GT_API GT_GetExtIoBit(short cardNum,short mdl,short index,unsigned short *pValue);
|
|
|
|
|
GT_API GT_GetExtAdValue(short cardNum,short mdl,short chn,unsigned short *pValue);
|
|
|
|
|
GT_API GT_GetExtAdVoltage(short cardNum,short mdl,short chn,double *pValue);
|
|
|
|
|
GT_API GT_SetExtDaValue(short cardNum,short mdl,short chn,unsigned short value);
|
|
|
|
|
GT_API GT_SetExtDaVoltage(short cardNum,short mdl,short chn,double value);
|
|
|
|
|
GT_API GT_GetStsExtMdl(short cardNum,short mdl,short chn,unsigned short *pStatus);
|
|
|
|
|
GT_API GT_GetExtDoValue(short cardNum,short mdl,unsigned short *pValue);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetExtMdlMode(short cardNum,short *pMode);
|
|
|
|
|
GT_API GT_SetExtMdlMode(short cardNum,short mode);
|
|
|
|
|
GT_API GT_UploadConfig(short cardNum);
|
|
|
|
|
GT_API GT_DownloadConfig(short cardNum);
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetUuid(short cardNum,char *pCode,short count);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//2D Compensate
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short count[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СֵΪ2
|
|
|
|
|
long posBegin[2]; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
long step[2]; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
} TCompensate2DTable;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short enable; // 2D<32><44><EFBFBD><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD>־
|
|
|
|
|
short tableIndex; // <20><>ʹ<EFBFBD>õ<EFBFBD>2D<32><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short axisType[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short axisIndex[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
} TCompensate2D;
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetCompensate2DTable(short cardNum,short tableIndex,TCompensate2DTable *pTable,long *pData,short externComp=0);
|
|
|
|
|
GT_API GT_GetCompensate2DTable(short cardNum,short tableIndex,TCompensate2DTable *pTable,short *pExternComp=NULL);
|
|
|
|
|
GT_API GT_SetCompensate2D(short cardNum,short axis,TCompensate2D *pComp2d);
|
|
|
|
|
GT_API GT_GetCompensate2D(short cardNum,short axis,TCompensate2D *pComp2d);
|
|
|
|
|
GT_API GT_GetCompensate2DValue(short cardNum,short axis,double *pValue);
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//Smart Home
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
#define HOME_STAGE_IDLE (0)
|
|
|
|
|
#define HOME_STAGE_START (1)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_LIMIT (10)
|
|
|
|
|
#define HOME_STAGE_SEARCH_LIMIT_STOP (11)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_LIMIT_ESCAPE (13)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_LIMIT_RETURN (15)
|
|
|
|
|
#define HOME_STAGE_SEARCH_LIMIT_RETURN_STOP (16)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_HOME (20)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_HOME_RETURN (25)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_INDEX (30)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_GPI (40)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_SEARCH_GPI_RETURN (45)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_GO_HOME (80)
|
|
|
|
|
|
|
|
|
|
#define HOME_STAGE_END (100)
|
|
|
|
|
|
|
|
|
|
#define HOME_ERROR_NONE (0)
|
|
|
|
|
#define HOME_ERROR_NOT_TRAP_MODE (1)
|
|
|
|
|
#define HOME_ERROR_DISABLE (2)
|
|
|
|
|
#define HOME_ERROR_ALARM (3)
|
|
|
|
|
#define HOME_ERROR_STOP (4)
|
|
|
|
|
#define HOME_ERROR_STAGE (5)
|
|
|
|
|
#define HOME_ERROR_HOME_MODE (6)
|
|
|
|
|
#define HOME_ERROR_SET_CAPTURE_HOME (7)
|
|
|
|
|
#define HOME_ERROR_NO_HOME (8)
|
|
|
|
|
#define HOME_ERROR_SET_CAPTURE_INDEX (9)
|
|
|
|
|
#define HOME_ERROR_NO_INDEX (10)
|
|
|
|
|
|
|
|
|
|
#define HOME_MODE_LIMIT (10)
|
|
|
|
|
#define HOME_MODE_LIMIT_HOME (11)
|
|
|
|
|
#define HOME_MODE_LIMIT_INDEX (12)
|
|
|
|
|
#define HOME_MODE_LIMIT_HOME_INDEX (13)
|
|
|
|
|
|
|
|
|
|
#define HOME_MODE_HOME (20)
|
|
|
|
|
|
|
|
|
|
#define HOME_MODE_HOME_INDEX (22)
|
|
|
|
|
|
|
|
|
|
#define HOME_MODE_INDEX (30)
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short mode; // <20><><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
short moveDir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short indexDir; // <20><><EFBFBD><EFBFBD>Index<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short edge; // <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short triggerIndex; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ-1<><31>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD>Ӧ
|
|
|
|
|
short pad1[3]; // <20><><EFBFBD><EFBFBD>1
|
|
|
|
|
double velHigh; // Home<6D><65><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
double velLow; // Index<65><78><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
double acc;
|
|
|
|
|
double dec;
|
|
|
|
|
short smoothTime;
|
|
|
|
|
short pad2[3]; // <20><><EFBFBD><EFBFBD>2
|
|
|
|
|
long homeOffset; // ԭ<><D4AD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
long searchHomeDistance; // Home<6D><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬Ϊ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long searchIndexDistance; // Index<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬Ϊ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long escapeStep; // <20><><EFBFBD>벽<EFBFBD><EBB2BD>
|
|
|
|
|
long pad3[2]; // <20><><EFBFBD><EFBFBD>3
|
|
|
|
|
} THomePrm;
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short run;
|
|
|
|
|
short stage;
|
|
|
|
|
short error;
|
|
|
|
|
short pad1;
|
|
|
|
|
long capturePos;
|
|
|
|
|
long targetPos;
|
|
|
|
|
} THomeStatus;
|
|
|
|
|
|
|
|
|
|
GT_API GT_GoHome(short cardNum,short axis,THomePrm *pHomePrm);
|
|
|
|
|
GT_API GT_GetHomePrm(short cardNum,short axis,THomePrm *pHomePrm);
|
|
|
|
|
GT_API GT_GetHomeStatus(short cardNum,short axis,THomeStatus *pHomeStatus);
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//Extern Control
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
typedef struct ControlConfigEx
|
|
|
|
|
{
|
|
|
|
|
short refType; //<2F><><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>ͣ<EFBFBD>ֻ<EFBFBD><D6BB>ȡMC_AXIS
|
|
|
|
|
short refIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short feedbackType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ΪMC_ENCODERʱ<52><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪMC_ADCʱ<43><CAB1>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ѹ
|
|
|
|
|
short feedbackIndex; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
|
|
|
|
|
long errorLimit; //<2F><><EFBFBD><EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short feedbackSmooth; //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
short controlSmooth; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
}TControlConfigEx;
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetControlConfigEx(short cardNum,short control,TControlConfigEx *pControl);
|
|
|
|
|
GT_API GT_GetControlConfigEx(short cardNum,short control,TControlConfigEx *pControl);
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//Adc filter
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
typedef struct AdcConfig
|
|
|
|
|
{
|
|
|
|
|
short active;
|
|
|
|
|
short reverse;
|
|
|
|
|
double a; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>Ա任aֵ<61><D6B5>ȡֵΪ1
|
|
|
|
|
double b; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>Ա任bֵ<62><D6B5>ȡֵΪ0
|
|
|
|
|
short filterMode; //<2F>˲<EFBFBD>ģʽ<C4A3><CABD>0-FIR<49>˲<EFBFBD>ģʽ<C4A3><CABD>1-IIR<49>˲<EFBFBD>ģʽ
|
|
|
|
|
|
|
|
|
|
} TAdcConfig;
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetAdcConfig(short cardNum,short adc,TAdcConfig *pAdc);
|
|
|
|
|
GT_API GT_GetAdcConfig(short adc,TAdcConfig *pAdc);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetAdcFilterPrm(short cardNum,short adc,double k);
|
|
|
|
|
GT_API GT_GetAdcFilterPrm(short cardNum,short adc,double *pk);
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//Superimposed
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
GT_API GT_SetControlSuperimposed(short cardNum,short control,short superimposedType,short superimposedIndex);
|
|
|
|
|
GT_API GT_GetControlSuperimposed(short cardNum,short control,short *pSuperimposedType,short *pSuperimposedIndex);
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//Pci Interrupt
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
#define PCI_INTERRUPT_SOURCE_USER (1) //PCI<43>ж<EFBFBD>ԴΪ<D4B4>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD>
|
|
|
|
|
#define PCI_INTERRUPT_SOURCE_2DCOMPARE (2) //PCI<43>ж<EFBFBD>ԴΪ<D4B4><CEAA>άλ<CEAC>ñȽ<C3B1>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short source; //interrupt source of pci device
|
|
|
|
|
short param; //param coming with pci interrupt
|
|
|
|
|
short reserve;
|
|
|
|
|
}TInterrupt;
|
|
|
|
|
|
|
|
|
|
typedef short (*TInterruptCallback)(TInterrupt);
|
|
|
|
|
|
|
|
|
|
GT_API GT_InterruptOn(short cardNum,TInterruptCallback pCallback);
|
|
|
|
|
GT_API GT_InterruptOff(short cardNum);
|
|
|
|
|
GT_API GT_SetInterruptMask(short cardNum,long mask);
|
|
|
|
|
GT_API GT_GetInterruptMask(short cardNum,long *pMask);
|
|
|
|
|
GT_API GT_InterruptTrigger(short cardNum,short param);
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
GT_API GT_ZeroLaserOnTime(short cardNum,short channel);
|
|
|
|
|
GT_API GT_GetLaserOnTime(short cardNum,short channel,unsigned long *pTime);
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
short work; //<2F>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|
|
|
|
short n; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
long startPos; //<2F><>ʼλ<CABC><CEBB>
|
|
|
|
|
long lenPos; //<2F>ܳ<EFBFBD><DCB3><EFBFBD>
|
|
|
|
|
long compPos[256]; //<2F><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
long compNeg[256]; //<2F><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
}TLeadScrewPrm;
|
|
|
|
|
|
|
|
|
|
GT_API GT_GetLeadScrewCompInnerValue(short cardNum,short axis,short dir,long pos,long *pCompValue);
|
|
|
|
|
|
|
|
|
|
GT_API GT_SetProfileScale(short cardNum,short axis,long alpha,long beta);
|
|
|
|
|
GT_API GT_GetProfileScale(short cardNum,short axis,long *pAlpha,long *pBeta);
|