跳转至

GTN_GetGroupDynamicCoordinateTransform

指令原型:

GT_API GTN_GetGroupDynamicCoordinateTransform(short core,short group,short *pEnable,TDynamicCoordinateTransform *pDynCoordTrans)

指令类型:

group指令。

指令说明:

读取group的动态坐标系描述参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
group group号,正整数,取值范围请参照group号参数范围一栏。
pEnable 使能参数。
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。单位:度。

指令返回值:

请参照通用返回值说明