追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 4708|回复: 2

[已解决] s7-200PLC采样平均值滤波的问题

[复制链接]

升级  31.5%

该用户从未签到

发表于 2014-10-25 14:20:22 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
现须要在一个周期内(600MS),连续模拟量输入采样60次,并得出一个平均值,请问如何处理。请各位高手帮忙编一个程序。(我现在的思路是,使用一个10MS的时间中断,在中断程序中每10MS将采样值放入一个V存储器中,最后将60个采样的值相加,除以60,此程序太长,放在中断程序中不合适)
        问题补充:
如果没有前60个采样值,怎么除以60是平均值呢,请教一下具体是怎么做的呢。能否帮忙发下程序。(是否须要指针)
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
4710°C
2
  • ohvfqcr
  • tyr5507
过: 他们

升级  34.5%

该用户从未签到

发表于 2014-10-25 14:50:38 | 显示全部楼层
给你一个建议,如果你不需要记录每个采样的值是多少的话,你就在中断里面做一个累加的程序嘛,比如采样值是放在VD100中的,比如公式VD200=VD100(采样值)+VD200,然后做一个中断执行的次数计数,记到60次的时候就把第60次后VD200的值除以60就是平均值啦,同时把VD200和计数器清零,再进行下一轮采样与计算,这样做就会很简洁啊。问题补充回答:
                    我是这样理解的,比如你要采集AIW0的值,用10ms的 中断,中断每次执行的时候对应的肯定就是当前的aiw0的值,我的意思是,如果你不需要记录每一个值而只需要知道这60个值得平均值得话就可以这样做。那么前59次执行的时候只需要将每次的值与前面所有的值加起来就行了啊,直到60次的时候就可以产生一个平均值。不过这样做的坏处就是每600ms才能产生一个平均值,而不是每次采样都能产生一个新平均值。你自己斟酌下看。如果要每次都产生新平均值得话就只能利用200系列的“表”的功能了,建一个60个数据的表,当满了后,新值来了会把最老的那个值挤出去舍弃。                                                                                                                                                                                                                                                                                                                                                            
                                                                                                       50% (0)

升级  29%

该用户从未签到

发表于 2014-10-25 14:55:25 | 显示全部楼层
在中断中采数据样,在子程序中计算。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-3 11:06 , Processed in 0.425275 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表