跳转至

GTN_ScanLinearPro

指令原型:

GT_API GTN_ScanLinearPro(short core, short scanCrd, short motionMode, TScanLinearMotionPro *pPrm, TListInfo *pListInfo)

指令类型:

指令流指令。

指令说明:

振镜直线运动指令。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
scanCrd 振镜插补坐标系索引,正整数,取值范围请参照振镜坐标系序号参数范围一栏。
motionMode 振镜直线运动模式,JUMP运动激光为关,MARK运动激光为开,取值范围如下:
SCAN_MOTION_MODE_JUMP(1):JUMP模式。
SCAN_MOTION_MODE_JUMP_POINT(2):JUMP_POINT模式。
SCAN_MOTION_MODE_JUMP_TIME(3):JUMP_TIME模式。
SCAN_MOTION_MODE_JUMP_TIME_POINT(4):JUMP_TIME_POINT模式。
SCAN_MOTION_MODE_MARK(5):MARK模式。
SCAN_MOTION_MODE_MARK_TIME(6):MARK_TIME模式。
pPrm 振镜直线运动参数结构体指针。详情说明请参照TScanLinearMotionPro
TScanLinearMotionPro
ypedef struct
{
    double pos[3];
    double reserve;
    TScanMotionPrmUnionPro motionPrm;
}TScanLinearMotionPro;
pos:振镜直线运动终点坐标值。
reserve:保留参数,必须为0。
motionPrm:振镜运动参数联合体。详情说明请参照TScanMotionPrmUnionPro
TScanMotionPrmUnionPro
typedef union
{
    TVelModePro velMode;
    TTimeModePro timeMode;
    TVelPointModePro velPointMode;
    TTimePointModePro timePointMode;
    double data[8];
}TScanMotionoPrmUnionPro;
velMode:速度模式参数结构体。详情说明请参照TVelModePro
TVelModePro
typedef struct
{
    double acc;
    double dec;
    double vel;
}TVelModePro;
acc:加速度,单位:pulse/ms^2。
dec:减速度,单位:pulse/ms^2。
vel:速度,单位:pulse/ms,取值范围:(0, 32767]。
timeMode:时间模式参数结构体。详情说明请参照TTimeModePro
TTimeModePro
typedef struct
{
    double acc;
    double dec;
    unsigned long time;
    long pad;
}TTimeModePro; 
acc:加速度,单位:pulse/ms^2。
dec:减速度,单位:pulse/ms^2。
time:运动时间,单位:μs,取值范围:[1, 65535]。
pad:保留参数,必须为0。
velPointMode:速度打点模式参数结构体。详情说明请参照TVelPointModePro
TVelPointModePro
typedef struct
{
    double acc;
    double dec;
    double vel;
    unsigned long motionDelayTime;
    unsigned long laserDelayTime;
}TVelPointModePro; 
acc:加速度,单位:pulse/ms^2。
dec:减速度,单位:pulse/ms^2。
vel:速度,单位:pulse/ms,取值范围:(0, 32767]。
motionDelayTime:运动延时时间,单位:μs,取值范围:[32, 2147483646]。
laserDelayTime:激光延时时间,单位:μs,取值范围:[32, 2147483646]。
timePointMode:时间打点模式参数结构体。详情说明请参照TTimePointModePro
TTimePointModePro
typedef struct
{
    double acc;
    double dec;
    unsigned long time;
    unsigned long motionDelayTime;
    unsigned long laserDelayTime;
    long pad;
} TTimePointModePro; 
acc:加速度,单位:pulse/ms^2。
dec:减速度,单位:pulse/ms^2。
time:运动时间,单位:μs,取值范围:[1, 65535]。
motionDelayTime:运动延时时间,单位:μs,取值范围:[32, 2147483646]。
laserDelayTime:激光延时时间,单位:μs,取值范围:[32, 2147483646]。
pad:保留参数,必须为0。
data:保留参数,必须为0。
pListInfo 振镜前瞻参数结构体指针。详情说明请参照TListInfo
TListInfo
typedef struct  
{
    short list; 
    short reserve1[2];
    short modal;
    long segNum;
    long reserve2[3];
    double reserve3[4];
} TListInfo;
list:指令压入的指令流号,取值范围:[0, 4]。
当pListInfo为空或者list=0时,指令为立即指令,调用后立即生效。
当list>0时,指令为list指令,调用后被发送到指令流中,在启动指令流后顺序执行到该指令才生效。
modal:为1时表示阻塞指令流,等待当前指令完成。本指令不需要设置此参数。
segNum:指令段号,取值范围:[-2147483648, 2147483647]。
reserve1:保留参数,必须为0。
reserve2:保留参数,必须为0。
reserve3:保留参数,必须为0。

指令返回值:

请参照通用返回值说明