跳转至

GTN_SetScanDelayPrmPro

指令原型:

GT_API GTN_SetScanDelayPrmPro(short core, short scanCrd, TScanDelayParameterPro *pPrm, TListInfo *pListInfo)

指令类型:

指令流指令,只支持立即模式。

指令说明:

设置振镜激光延迟参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
scanCrd 振镜插补坐标系索引,正整数,取值范围请参照振镜坐标系序号参数范围一栏。
pPrm 振镜运动延时参数结构体指针。详情说明请参照TScanDelayParameterPro
TScanDelayParameterPro
typedef struct
{
    short multiMarkDelayMode;
    unsigned short jumpDelayLengthLimit;
    short pad[2];
    double multiMarkLaserOffDelay;
    double multiMarkDelayConst;
    double markDelay;
    double minJumpDelay;
    double maxJumpDelay;
}TScanDelayParameterPro;
multiMarkDelayMode:连续标刻运动延时的模式。
SCAN_MARK_DELAY_MODE_CONST(0):固定时间延时模式。
SCAN_MARK_DELAY_MODE_CHANGE(1):变延时模式,变延时系数由控制器底层根据两
                                条运动指令的夹角大小自动调整。
jumpDelayLengthLimit:minJumpDelay、jumpDelayLengthLimit和maxJumpDelay可以构成一个线性的函数。当跳转运动的长度大于 jumpDelayLengthLimit时,直接把maxJumpDelay作为跳转运动延时。如果跳转的长度小于jumpDelayLengthLimit时,需要根据这个线性的函数确定跳转延时的时间。如果jumpDelayLengthLimit=0,则表示禁止了可变的跳转运动延时的模式,仍旧采用固定时间延时的模式。
pad:保留参数,必须为0。
multiMarkLaserOffDelay:当多段标刻运动之间的延时超过该值时,需要关闭激光,延时完成后再打开激光执行下一条标刻运动,小于该值时,激光不关闭,单位:μs。
multiMarkDelayConst:连续标刻运动的延时,单位:μs,取值范围:[0, 65535]。
markDelay:单段标刻运动的延时,单位:μs,取值范围:[0, 65535]。
minJumpDelay:跳转运动最小延时,单位:μs,取值范围:[0, 65535]。
maxJumpDelay:跳转运动最大延时,单位:μs,取值范围:[0, 65535]。
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。

指令返回值:

请参照通用返回值说明