跳转至

GTN_GetAxisPressCompensate

指令原型:

GT_API GTN_GetAxisPressCompensate(short core,short axis, TAxisPressCompensate *pPressComp)

指令类型:

立即指令,调用后立即生效。

指令说明:

获取压力补偿参数。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
axis 轴号,正整数,取值范围请参照轴号参数范围一栏。
pPressComp 压力补偿参数结构体。详情说明请参照TAxisPressCompensate
TAxisPressCompensate
typedef struct AxisPressCompensate
{
    short enable;                  //是否使能,0-关闭,1-使能
    short type;                    //输入类型,电压或网络模块数据
    short dimension;               //补偿输入的维度,最大3维
    short index[3];                //输入的索引,DAC从1开始,ECAT IO模块站号从0开始
    short subIndex[3];             //输入的子索引,,DAC该参数无效,ECAT IO模块的IOMAP从0开始
    short mode;                    //模式,线性还是查表
    short revolveAxis;             //用来计算旋转角度的轴号
    short regionAxisIndex;         //补偿功能区间有效的参考轴
    short relatedMasterIndex;      //随动主轴的索引
    short pad1[3];
    double target;                 //目标力或电压
    double thredshold;             //thredshold,什么时候开始补偿
    double deadZone;               //死区力或电压,死区内不补偿
    double factor;                 //力和位移的转化系数
    double revolveOffset;          //初始旋转的脉冲数,默认合成方向和ingdex[0]的方向重合
    double revolveScale;           //旋转轴的一圈脉冲数
    TAxisPressPid pid;
    long compPosMaxP;              //输出补偿位置区间[N,P]的端点P
    long compPosMaxN;              //输出补偿位置区间[N,P]的端点N
    double k;                      //补偿量滤波系数 0-1 数值越大滤波越强
    double pad2[4];
    long activeRegionP;            //补偿功能有效的规划位置区间[N,P]的端点P
    long activeRegionN;            //补偿功能有效的规划位置区间[N,P]的端点N
    long activeRegionInterval;     //补偿功能有效的规划位置区间内的自学习间隔。
                                   //当mode=PRESS_COMPENSATE_MODE_REGION_LEARN时有效
    long relatedMasterEven;        //随动主轴的比例
    long relatedSlaveEven;         //随动从轴的比例
    long pad3[3];
} TAxisPressCompensate;
enable:是否使能。0:关闭,1:使能。
type:输入类型,电压或网络模块数据。
MC_ADC(24):模拟量输入。
MC_AU_ADC(17):非轴模拟量输入。
MC_PRESS_SENSOR(1500):压力传感器输入。
dimension:补偿输入的维度,最大3维。
index:输入的索引,DAC从1开始,EtherCat IO模块站号从0开始。
subIndex:输入的子索引,DAC该参数无效,EtherCat IO模块的MAP从0开始。
mode:补偿模式。
PRESS_COMPENSATE_MODE_LINEAR(0):线性补偿。
PRESS_COMPENSATE_MODE_TABLE(1):查表补偿。
PRESS_COMPENSATE_MODE_REGION_LEARN(2):区域内自学习补偿。
revolveAxis:用来计算旋转角度的轴号。
regionAxisIndex:补偿功能区间有效的参考轴。
relatedMasterIndex:随动主轴的索引。
pad1:保留参数,必须为0。
target:目标力或电压。
thredshold:阈值,什么时候开始补偿。
deadZone:死区力或电压,死区内不补偿。
factor:力和位移的转化系数。
revolveOffset:初始旋转的脉冲数,默认合成方向和index[0]的方向重合。
revolveScale:旋转轴的一圈脉冲数。
pid:PID参数结构体。详情说明请参照TAxisPressPid
TAxisPressPid
typedef struct AxisPressPid
{
    double kp;
    double ki;
    double kd;
    double integralLimit;   //积分极限
    double derivativeLimit; //微分极限
    double limit;           //调节限制(力或电压)
    double pad1[4];
}TAxisPressPid;
kp:比例增益系数。
ki:积分系数。
kd:微分系数。
integralLimit:积分极限。
derivativeLimit:微分极限。
limit:调节限制(力或电压)。
pad1:保留参数,必须为0。
compPosMaxP:输出补偿位置区间[N,P]的端点P。
compPosMaxN:输出补偿位置区间[N,P]的端点N。
k:补偿量滤波系数 0-1 数值越大滤波越强。
pad2:保留参数,必须为0。
activeRegionP:补偿功能有效的规划位置区间[N,P]的端点P。
activeRegionN:补偿功能有效的规划位置区间[N,P]的端点N。
activeRegionInterval:补偿功能有效的规划位置区间内的自学习间隔,
当mode=PRESS_COMPENSATE_MODE_REGION_LEARN时有效。
relatedMasterEven:随动主轴的比例。
relatedSlaveEven:随动从轴的比例。
pad3:保留参数,必须为0。

指令返回值:

请参照通用返回值说明

相关指令:

GTN_SetAxisPressCompensate