GTN_SetAxisPressCompensate
指令原型:
GT_API GTN_SetAxisPressCompensate(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_GetAxisPressCompensate