登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:闸门开度测量的应急处理——非线性特性线性化的应用

点击:463 回复:0

      最近网友hxinstar问我有关直线插补算法的问题,使我想起当年我在设计闸门开度测量程序时的往事。某水电站的进水闸门的开度用绝对式编码器来测量,得到的是格雷码(我将另外介绍格雷码转换为二进制数的方法)。转换后的二进制数实际上只与提升闸门的钢丝绳的垂直位移成正比,与闸门开度之间为非线性关系。那一次我没有到现场,事先也不知道这个情况,以为转换后的二进制数乘以一个比例系数就可以了。由于非线性较大,无论怎样调整比例系数,我们的测量值和原有测量装置的测量值都不能吻合。我们到现场的年轻人一看这个情况就紧张了,打电话问我怎么办。我说没有关系,你在现场将格雷码转换后的二进制数测量值大致划分为10段,在分界点和两端的端点处记录我们的测量装置和原有测量装置的测量值告诉我。
      我采用的是分段线性化的方法,例如用下图中的3条线段近似曲线。如果用10条线段来近似图中的曲线,误差就不会太大了,分段还可以更多一些。

http://blog.gkong.com/uploadfile4/20101268316785.jpg
从下图可以推导出分段线性化的公式,即已知横坐标x,求x处线段上的纵坐标f(x),其精确值为x处曲线上的纵坐标f(x)。由图中横轴和纵轴上线段长度的比例关系,可以得到式(1),经整理后可得到用于线性化计算的式(2)。横坐标上x1和x0之间的线段长度为x1-x0。
http://blog.gkong.com/uploadfile4/2010126851828.jpg
http://blog.gkong.com/uploadfile4/20101268547114.jpg
      根据式(2),我编写了一个线性化计算程序,将10条线段的起点和终点的x、y坐标保存到表格中。首先判断当前格雷码转换后的二进制数测量值x属于哪个分区,然后取出该分区线段的起点和终点的x、y轴的坐标x0、x1、f(x0)和f(x1)。带入式(2),就可以求出线性化后的测量值。这是好几年前的事了,水电站一般都在很偏僻的山沟里,幸好那个水电站可以上网,我将改好的程序用邮件发到电站,我们的闸门开度的显示值与原有测量装置的显示值吻合得很到,得到用户的认可,顺利地通过了验收。

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=130239&Name=liaochangchu
10-12-06 08:09

工控新闻

更多新闻资讯