跳转至

GTN_EllipseProEx

指令原型:

GT_API GTN_EllipseProEx(short core, short crd, short mode, void* pData, double synVel, double synAcc, double velEnd, long segNum, short fifo)

指令类型:

插补缓冲区指令。

指令说明:

椭圆插补指令。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
crd 插补坐标系号,正整数,取值范围请参照插补坐标系号参数范围一栏。
mode 椭圆描述模式。
ELLIPSE_MODE_AUX_POINT_2D(0):辅助点描述模式。
ELLIPSE_MODE_STANDARD_2D(1):标准描述模式。
pData 椭圆插补参数结构体指针。
当mode = ELLIPSE_MODE_AUX_POINT_2D,详情说明请参照TEllipseAuxPoint2D
TEllipseAuxPoint2D
typedef struct  
{
    short plane;
    short dir;
    short overrideSelect;
    short pad;
    double endPoint1;
    double endPoint2;
    double pos1[ELLIPSE_AUX_POINT_COUNT];
    double pos2[ELLIPSE_AUX_POINT_COUNT];
} TEllipseAuxPoint2D;
plane:椭圆平面选择。
NTERPOLATION_CIRCLE_PLAT_XY(0):XY。
INTERPOLATION_CIRCLE_PLAT_YZ(1):YZ。
INTERPOLATION_CIRCLE_PLAT_ZX(2):ZX。
dir:椭圆方向,0:顺时针;1:逆时针。
overrideSelect:速度倍率选择,0:第1组倍率;1:第2组倍率。
pad:保留参数,必须为0。
endPoint1:终点坐标1,意义根据参数plane来定,如果palne为XY平面,则endPoint1、pos1为X坐标,endPoint2、pos2为Y坐标。
endPoint2:终点坐标2。
pos1:椭圆上辅助点坐标1。
pos2:椭圆上辅助点坐标2。
当mode = ELLIPSE_MODE_STANDARD_2D,详情说明请参照TEllipseStandard2D
TEllipseStandard2D
typedef struct
{
    short plane;
    short dir;
    short overrideSelect;
    short pad;

    double endPoint1;
    double endPoint2;

    double centerPoint1;
    double centerPoint2;

    double theta;
    double a;
    double b;
}TEllipseStandard2D;
plane:椭圆平面选择。
NTERPOLATION_CIRCLE_PLAT_XY(0):XY。
INTERPOLATION_CIRCLE_PLAT_YZ(1):YZ。
INTERPOLATION_CIRCLE_PLAT_ZX(2):ZX。
dir:椭圆方向,0:顺时针;1:逆时针。
overrideSelect:速度倍率选择,0:第1组倍率;1:第2组倍率。
pad:保留参数,必须为0。
endPoint1:终点坐标1,意义根据参数plane来定,如果palne为XY平面,则endPoint1为X坐标,endPoint2为Y坐标。
endPoint2:终点坐标2。
centerPoint1:椭圆圆心坐标1,意义根据plane来定,如果palne为XY平面,则centerPoint1为X坐标,centerPoint2为Y坐标。
centerPoint2:椭圆圆心坐标2。
theta:椭圆旋转角度,单位:度。
a:椭圆长轴。
b:椭圆短轴,短轴必须比长轴短。
synVel 插补段的目标合成速度。取值范围:(0, 65536],单位:pulse/ms。
synAcc 插补段的合成加速度。取值范围:(0, 32767],单位:pulse/ms^2。
velEnd 插补段的终点速度。取值范围:[0, 32767],单位:pulse/ms。该值只有在没有使用前瞻预处理功能时才有意义,否则该值无效。默认值为:0。
segNum 用户段号。
fifo 插补缓存区序号。默认值为0,整数,取值范围请参照插补缓存区序号参数范围一栏。

指令返回值:

若返回值为1:
(1) 检查当前坐标系是否映射了相关轴。
(2) 检查是否向fifo1中传递数据,若是,则检查fifo0是否使用并运动,若运动,则返回错误。
(3) 检查相应的fifo是否已满。

其他返回值请参照通用返回值说明

指令示例:

注意事项: