跳转至

GTN_SetGroupDynamicCoordinateTransform

指令原型:

GT_API GTN_SetGroupDynamicCoordinateTransform (short core,short group,short enable,TDynamicCoordinateTransform *pDynCoordTrans,TListInfo *pListInfo)

指令类型:

group指令。

指令说明:

设置group的动态坐标系描述参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
group group号,正整数,取值范围请参照group号参数范围一栏。
enable 使能参数,取值范围:[0,1]。0:不使能。1:使能。
pDynCoordTrans 动态坐标系变换描述参数结构体指针。详情说明请参照TDynamicCoordinateTransform
TDynamicCoordinateTransform
typedef struct DynamicCoordinateTransform
{
    short mode;
    short pad[3];
    TDynamicCoordinateTransformUnion prm;
}TDynamicCoordinateTransform;
mode:参数模式。设置为0。
pad:保留参数,必须为0。
prm:动态坐标系变换描述参数。详情说明请参照TDynamicCoordinateTransformUnion
TDynamicCoordinateTransformUnion
typedef union DynamicCoordinateTransformUnion
{
    TDynamicCoordinateTransformData trans;
    double reserve[60];
}TDynamicCoordinateTransformUnion;
trans:参数模式。设置为0。
pad:保留参数,必须为0。
trans:动态坐标系变换描述参数。详情说明请参照TDynamicCoordinateTransformData
TDynamicCoordinateTransformData
typedef struct DynamicCoordinateTransformData
{
    short masterType;
    short masterIndex;
    short masterMoveType;
    short trackMode;
    double originPrfPos;
    TCartesianParameter masterOrigin;
    TCartesianParameter pcsToMasterTcs;
    TCartesianParameter dynamicPcsToSlaveMcs;
}TDynamicCoordinateTransformData;
masterType:master类型,指定master为单轴或者group。
MC_GROUP_PROFILE(501):Group规划器。
MC_PROFILE(31):规划器。
masterIndex:master索引。
masterMoveType:master索引。
0:master运动时带着工件运动。
1:master运动时带着工具运动,即带着slave运动。
当masterType为MC_GROUP_PROFILE时,masterMoveType只允许设置为0,即只允许group运动时是带着工件运动。
trackMode:前只支持0
0:slave没有运动规划时,不进行动态工件坐标系跟踪.
1:slave没有运动规划时,也进行动态工件坐标系跟踪。
originPrfPos:当master为MC_PROFILE时,设置master处于零点时的规划位置值,单位:mm或度。
masterOrigin:master的零点。如果master为MC_Profile,指定profile轴的零点位置坐标系相对当前group的MCS的坐标系变换关系,master坐标系以零点位置为原点,profile运动正方向为X轴正方向定义坐标系。如果master为MC_GROUP_PROFILE,指定master的MCS相对当前group的MCS的坐标系变换关系。详情说明请参照TCartesianParameter
TCartesianParameter
typedef struct CartesianParameter
{
    double transX;
    double transY;
    double transZ;
    double rotAngle1;
    double rotAngle2;
    double rotAngle3;
}TCartesianParameter;
transX:X轴偏移量。单位:mm。
transY:Y轴偏移量。单位:mm。
transZ:Z轴偏移量。单位:mm。
rotAngle1:旋转角度1。单位:度。
rotAngle2:旋转角度2。单位:度。
rotAngle3:旋转角度3。单位:度。
pcsToMasterTcs:设置PCS相对master的TCS的坐标系变换关系。该参数需要标定,可以在标定位姿下,根据pcsToSlaveMcs和masterTcsToMasterMcs 就可以得到PCS相对master的末端TCS的坐标系。详情说明请参照TCartesianParameter
TCartesianParameter
typedef struct CartesianParameter
{
    double transX;
    double transY;
    double transZ;
    double rotAngle1;
    double rotAngle2;
    double rotAngle3;
}TCartesianParameter;
transX:X轴偏移量。单位:mm。
transY:Y轴偏移量。单位:mm。
transZ:Z轴偏移量。单位:mm。
rotAngle1:旋转角度1。单位:度。
rotAngle2:旋转角度2。单位:度。
rotAngle3:旋转角度3。单位:度。
dynamicPcsToSlaveMcs:动态PCS相对slave的MCS的坐标系变换关系,该参数不用设置,可以用于读取实时的动态PCS信息。详情说明请参照TCartesianParameter
TCartesianParameter
typedef struct CartesianParameter
{
    double transX;
    double transY;
    double transZ;
    double rotAngle1;
    double rotAngle2;
    double rotAngle3;
}TCartesianParameter;
transX:X轴偏移量。单位:mm。
transY:Y轴偏移量。单位:mm。
transZ:Z轴偏移量。单位:mm。
rotAngle1:旋转角度1。单位:度。
rotAngle2:旋转角度2。单位:度。
rotAngle3:旋转角度3。单位:度。
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。

指令返回值:

请参照通用返回值说明