跳转至

GTN_SetGroupPathMode

指令原型:

GT_API GTN_SetGroupPathMode(short core,short group,TGroupPathPrm *pPrm,TListInfo *pListInfo)

指令类型:

group指令。

指令说明:

设置group的插补模式。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
group group号,正整数,取值范围请参照group号参数范围一栏。
pPrm 插补模式描述参数结构体指针。详情说明请参照TGroupPathPrm
TGroupPathPrm
typedef struct GroupPathPrm
{
    short mode;
    short reserve[3];
    TGroupPathUnion data;
} TGroupPathPrm;
mode:插补模式。
GROUP_PATH_MODE_GENERAL(0):通用插补模式。
GROUP_PATH_MODE_POLAR(1):极坐标插补模式。
GROUP_PATH_MODE_CYNLINDER(22):圆柱插补模式。
reserve:保留参数,必须为0。
data:插补模式描述参数,详情说明请参照TGroupPathUnion
TGroupPathUnion
typedef union GroupPathUnion
{
    TGroupPathPolar polar;
    TGroupPathCynlinder cynlinder;
    double value[20];
} TGroupPathUnion;
polar:极坐标插补模式参数,详情说明请参照TGroupPathPolar
TGroupPathPolar
typedef struct GroupPathPolar
{
    short plane;
    short reserve1[5];
    short rotateIdent;
    short setOriginFlag;
    double origin[3];
    double rotateOrigin;
    double reserve2[14];
} TGroupPathPolar;
plane:极坐标插补平面。
GROUP_PATH_PLANE_XY(0):XY平面。
GROUP_PATH_PLANE_YZ(1):YZ平面。
GROUP_PATH_PLANE_ZX(2):ZX平面。
reserve1:保留参数,必须为0。
rotateIdent:极坐标旋转轴在group中的索引。范围:[1,group最大轴数], rotateIdent不允许为插补平面中的第一个轴的索引即直线轴的索引。
setOriginFlag:设置极坐标系零点标志,范围:[0,1]。
0:极坐标零点为当前PCS的零点。
1:通过origin[3]设置零点。
origin:极坐标系零点相对MCS坐标系的偏移。单位:mm。
rotateOrigin:旋转轴零点,用于设置位于极坐标系X轴时旋转轴的理论ACS位置,单位:度。
reserve2:保留参数,必须为0。

cynlinder:圆柱坐标插补模式参数,详情说明请参照TGroupPathCynlinder
TGroupPathCynlinder
typedef struct GroupPathCynlinder
{
    short plane;
    short reserve1[4];
    short linearIdent;
    short rotateIdent;
    short setOriginFlag;
    double r;
    double origin[3];
    double rotateOrigin;
    double reserve2[13];
} TGroupPathCynlinder;
plane:圆柱坐标插补平面。
GROUP_PATH_PLANE_XY(0):XY平面。
GROUP_PATH_PLANE_YZ(1):YZ平面。
GROUP_PATH_PLANE_ZX(2):ZX平面。
reserve1:保留参数,必须为0。
linearIdent:圆柱坐标直线轴在group中的索引。范围:[1,group最大轴数],linearIdent必须为插补平面中的一个轴。
rotateIdent:圆柱坐标旋转轴在group中的索引。范围:[1,group最大轴数],rotateIdent不允许和直线轴索引一样。
setOriginFlag:设置置圆柱坐标系零点标志,范围:[0,1]。
0:极坐标零点为当前PCS的零点。
1:通过origin[3]设置零点。
origin:圆柱坐标系零点相对MCS坐标系的偏移。单位:mm。
rotateOrigin:旋转轴零点,用于设置位于极坐标系X轴时旋转轴的理论ACS位置,单位:度。
reserve2:保留参数,必须为0。

value:保留参数,必须为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。

指令返回值:

请参照通用返回值说明

注意事项:

极坐标系或圆柱坐标系等插补模式下。
规划坐标系必须为PCS或MCS。
指令位置坐标系允许为PCS,MCS,ACS,或者对应插补模式的坐标系。
姿态模式必须为ORI_MODE_NONE。
Group中的轴只允许进行插补运动,不允许进行其他运动模式的运动。