液压加载系统的载荷传感器非线性误差矫正
一.简述
1通道反馈模式设置为CustomFeedBack并创建一个参考轴;
2添加一条Curve,描述传感器信号关系;
3添加一个循环运行的Task,计算反馈值;
二.详述
1.通道设置为CustomFeedBack模式
1.1.进入Axis Definitions轴定义
1.2.进入通道配置界面
1.3.将Using处修改为Custom
1.4 创建一个参考轴,并选择传感器接入的通道进行关联
1.5 选择参考轴输入信号类型和单位
2.添加一条描述反馈关系的Curve曲线
2.1新建一条曲线
2.2.以载荷传感器信号类型为-10-10V对应量程(-100-100KN)为例,其中:
1) -10V~-6V对应反馈为-100kN~-65kN;
2) -6V~-2V对应反馈为-65kN~-13kN;
3) -2V~+2V对应反馈为-13kN~13kN;
4) +2V~+6V对应反馈为13kN~65kN;
5) +6V~+10V对应反馈为65kN~100kN;
按传感器要求画一条Curve,其中X Value代表电压值,Y Value代表载荷值;
避免传感器在量程两端的传感器信号溢出,需要将两端稍微延长;
3添加一个循环运行的Task,计算反馈值;
3.1.新建一个Program,并命名为Fdbk
3.2按下图在113号命令(Expression)中写入_Axis[0].CustomCounts:=CRV_INTERP_Y(0,_Axis[2].ActFrc),下载并保存。
_Axis[0].CustomCounts:Custom反馈值;
CRV_INTERRP(id,X):控制器内置函数,通过Curve号(id)和X值,得到曲线对应的Y值;
0:指Curve的ID号,参考第二步中的CurveID;
_Axis[2].ActFrc:通道2的实际载荷,由于通道2为载荷参考轴,关联了传感器,并且Scal=1,offset=0所以通道2的实际载荷其实是传感器的反馈信号。
因此通过这条程序可以将实际的传感器反馈值写入_Axis[0].CustomCounts中。
3.3在Programming Properties中将控制器起始状态设置为RUN模式
3.4在Program Triggers中建立一个_FirstScan条件;
在Task列中选择刚刚创建的Program(Fdbk),并确保在task列中没有其他的用户程序。
3.5进入Programming Properties->Halts,选择Stop the Following Tasks,除去刚刚执行Fdbk的Task,其余全部打勾。下载并保存。
4.错误处理
将轴0的_Axis[0].CustomErrorBits.NoTrans(传感器断线)与轴2(参考轴)的_Axis[2].StatusBits.FeedbackOK(反馈接入良好关联)