您现在所在的是:

PLC论坛

回帖:0个,阅读:497 [上一页] [1] [下一页]
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2010/12/6 8:09:38
#0楼
      最近网友hxinstar问我有关直线插补算法的问题,使我想起当年我在设计闸门开度测量程序时的往事。某水电站的进水闸门的开度用绝对式编码器来测量,得到的是格雷码(我将另外介绍格雷码转换为二进制数的方法)。转换后的二进制数实际上只与提升闸门的钢丝绳的垂直位移成正比,与闸门开度之间为非线性关系。那一次我没有到现场,事先也不知道这个情况,以为转换后的二进制数乘以一个比例系数就可以了。由于非线性较大,无论怎样调整比例系数,我们的测量值和原有测量装置的测量值都不能吻合。我们到现场的年轻人一看这个情况就紧张了,打电话问我怎么办。我说没有关系,你在现场将格雷码转换后的二进制数测量值大致划分为10段,在分界点和两端的端点处记录我们的测量装置和原有测量装置的测量值告诉我。
      我采用的是分段线性化的方法,例如用下图中的3条线段近似曲线。如果用10条线段来近似图中的曲线,误差就不会太大了,分段还可以更多一些。

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

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=130239&Name=liaochangchu
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002