跳转至

GTN_SetGroupWeaveParameter

指令原型:

GT_API GTN_SetGroupWeaveParameter(short core,short group,TGroupWeaveParameter *pWeave,TListInfo *pListInfo)
指令类型:

group指令。

指令说明:

设置摆弧参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
group group号,正整数,取值范围请参照group号参数范围一栏。
pWeave 摆弧描述参数结构体指针。详情说明请参照TGroupWeaveParameter
TGroupWeaveParameter
typedef struct WeaveParameter
{
    short type;
    short weaveMode;
    short frequencyMode;
    short pad1;
    double amplitude;
    double frequency;
    double weavePrm [10];
    short startPosition;
    short dweelFullStop;
    short pad2[2];
    double dweelLeft;
    double dwellMid;
    double dwellRight;
    short orientaionMode;
    short pad3[3];
    double rotateAngleX;
    double rotateAngleY;
    double rotateAngleZ;
}TWeaveParameter;
type:摆弧类型。
WEAVE_TYPE_SINE(0):正弦形摆弧,摆弧叠加到叠加坐标系的Y轴方向。
WEAVE_TYPE_SINE_DIR_X(WEAVE_TYPE_SINE+100):正弦形摆弧,摆弧叠加到叠加坐标系的X轴方向。
weaveMode:摆弧模式。在读取参数时,必须设置该参数才能正确读取参数。
0:摆弧,表示该结构体参数设置的是摆弧参数。
1:预摆弧,表示该结构体参数设置的是预摆弧参数。
frequencyMode:频率模式。
0:正负摆弧为同一频率。
1:正负摆弧通过weavePrm[0]和weavePrm[1]设置频率比例。
pad1:保留参数,必须为0。
amplitude:摆弧振幅,范围:(0,10],单位:mm。
frequency:摆弧频率,范围:(0,100],单位:Hz。
weavePrm:摆弧几何参数,大小为10的数组。
当摆弧类型为正弦型摆弧时,通过weavePrm[0]和weavePrm[1]参数分别描述正向和负向的幅值比例,取值范围为[0,1]。
当摆弧类型为锯齿形摆弧时,通过weavePrm[0]参数描述锯齿形摆弧的几何参数k,取值范围为[-1.5,1.5]。
startPosition:摆弧开始位置。
0:从中间开始摆弧。
1:从左侧开始摆弧,从叠加值为最大正振幅开始摆动。
2:从右侧开始摆弧,从叠加值为最大负振幅开始摆动。
dweelFullStop:完全停止使能。
0:不使能。当摆弧停留时间不为0时,运动规划不停止,只是不进行摆弧运动。
1:使能。当摆弧停留时间不为0时,规划停止。当摆弧停留时间为0时,dweelFullStop使能或不使能,规划都不停止。
pad2:保留参数,必须为0。
dweelLeft:摆弧左停留时间,在叠加值为最大正振幅时的停留时间,单位:ms。
dwellMid:摆弧中停留时间,在叠加值为0时的停留时间,单位:ms。
dwellRight:摆弧右停留时间,在叠加值为最大负振幅时的停留时间,单位:ms。
oriControlMode:摆弧姿态控制模式。
0:摆动过程中不改变原有姿态。
1:摆动过程中启动姿态控制,原规划姿态不生效。(暂不支持)
pad3:保留参数,必须为0。
rotateAngleX:rotateAngleX:绕运动坐标系的X轴的旋转角,用于控制内外倾旋转角,即旋转角大于0,为外倾,旋转角小于0,为内倾,范围:[-90,90],单位:度。
rotateAngleY:绕运动坐标系的Y轴的旋转角,用于控制前后倾旋转角,旋转角大于0,为前倾,旋转角小于0,为后倾,范围:[-90,90],单位:度。
rotateAngleZ:绕运动坐标系的Z轴的旋转角,范围:[-90,90],单位:度。
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。

指令返回值:

请参照通用返回值说明