电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

模拟量采集运算,S7-200SMART 如何减少流量累计误差?

作者:佚名    文章来源:本站原创    点击数:    更新时间:2024/8/25

一、流程描述
1.使用一个西门子200SMART模拟量输入模块采集流量瞬时值,通过模拟量转换指令S_ITR转换为工程量;

2.初始化相关变量地址并启用定时器中断;

3.中断程序内实现流量累计计算;

4.累积到一定值后,复位清空所有数据,重新开始累计。


二、硬件设备
1.西门子PLC :S7-200SMART CPUSR30 6ES7 288-1SR30-0AA1;
2.模拟量输入模块:EMAE04(4AI)6ES7 288-1AE04-0AA0。


三、软件
西门子200SMARTplc编程软件:STEP7-MicroWINSMART V2.7版。


四、地址分配


五、程序思路及编写
1.因有的十进制小数转化为二进制存储时会无限循环,而200SMART只能存储23位单精度浮点数的小数位,当前一个累积值比较大,而现时流量瞬时值较小时,两者相加会因舍弃小数值造成误差,累积次数越多,误差越大。为减小误差,可采用将采集的瞬时值分解成整数和小数两部分,整数部分相加,小数部分相加,两者的和再相加即为累积值,这样可极大的减小累积误差。

 

2.首先调用模拟量转换指令将采集到的模拟量通道值转换为实际工程值,假设工程值的上下限分别为0.0、50.0,如图1所示:

图1


3.接下来调用初始化指令,目的是每200MS采集一次瞬时流量值,因此需要建立定时中断,还需清空所有存储数据的变量地址,如图2所示:

图2


4.在定时中断程序中做数据的处理,先将瞬时流量分解为整数和小数,然后整数与前一次的整数累计和相加,小数和前一次的小数累积和相加,再将两者的和相加即为当前流量的累积值,需注意整数即整数和也需转化为浮点数,以便于和小数和相加,如图3所示:

 

 

 

图3


5.为不使累积值超出变量地址的存储范围,过一段时间后需将存储数据的地址清零,再从头开始累计,具体时间可根据现场实际要求而定,如图4所示:

 

图4

总结

该梯形图程序采用将浮点数分离为整数和小数两部分,各自求和后再分别相加,得出当前流量累积值,大大减小了累积误差,适用于要求精度不是很高的场合。

 

Tags:累计流量,模拟量采集,S7-200SMART  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询