[西门子] SCL编写模拟量滑动平均值滤波程序案例

[复制链接]
查看54 | 回复0 | 2024-11-2 08:51:30 | 显示全部楼层 |阅读模式
>

文末有55个实战案例资料

导读:在自动化设备中,如果采集模拟量的数据有波动,我们可以采用编写模拟量滤波程序来实现数据的稳定。常用的滤波方法有很多,如限幅滤波、中值滤波、平均值滤波、滑动平均值滤波等。同时,编写这个案例程序可以提高我们对SCL中的四则运算指令的应用。

滑动平均值滤波:就是把N个测量值看成一个队列,每次采样到一个新数据放入队尾,并扔掉原来队首的一个数据(先进先出原则),然后把队列中的N个数据进行算术平均值 运算。这种算法对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡系统。但灵 敏度低,对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲干扰所引起的干扰。

控制要求:

将模拟量采集10次的数据经过滑动平均值滤波后计算实际工程单位值。

程序编写:

1)新建FB程序块,并且定义好接口变量

2)程序行14是数据初始化

3)程序行610是采用先进先出的方式采集数据。当i等于0时,将#Buffer[1]的值复制到#Buffer[0]; i等于1时,将#Buffer[2]的值复制到#Buffer[1]; i等于2时,将#Buffer[3]的值复制到#Buffer[2],这样的话就可以依次压入堆栈,栈顶为最新的模拟输入#Ai_R

4)程序行1220是实现队列数据中最大值和最小值以及总和的计算

5) 程序行2224是是求得平局值和根据模拟量公式计算出工程单位实际值。

6)调用FB程序

最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则