很多时候使用模拟量时会有干扰,当做了抗干扰处理以后,还是解决不了,那么久可以通过滤波程序来解决这个问题,本文章讲会详细讲解西门子S7-200smart PLC通过间接寻址编写模拟量滤波程序。
软件使用 STEP 7-MicroWIN SMART,硬件为S7-200 SMART ST40
一、指令调用
调用库如图1所示,指令库说明如下:
Pointer为指针引脚,指向存放数据的起始地址,数据类型为字;
Number为数据的长度,可以是变量也可以是常量,数量不能输入负值;
INDX为FOR循环的次数地址,可以忽略,但是不能外部进行赋值干扰;
MAX为输入数值中的最大值;
MIN为输入数值中的最小值;
Out为求得平均值输出地址,数据类型为浮点数。
▲图1▲
二、AVG_MAX_MIN指令库编写重复调用的库,需要变量建立的正确,否则多次调用无法正常运行,如果你这边对建立库不太会,你这边可以先去看一下这方面的课程学习一下,对于指针指令不太熟悉的可以看看小编前面写的文章《西门子S7-200smart间接寻址的使用方法》
1、形参变量表建立
变量表建立如图2所示,每个变量表的作用可以看注释说明,这里不做介绍,如果有问题可以留言。
▲图2▲
2、AVG_MAX_MIN形参子程序
AVG_MAX_MIN子程序每一段程序都有注释讲解,如图3至图7所示,这里不做介绍,如果有问题可以留言。
▲图3▲
▲图4▲
▲图5▲
▲图6▲
▲图7▲
三、模拟量滤波程序1、系统块组态
由于文章设备接线为通道3,在系统块中选择通道3,如图8所示。步骤2 传感器输入是电流还是电压进去修改,通道2和通道3为一组,修改需要在通道2中修改电流或者电压。步骤3中选择滤波周期,输入通道采集多少次算平均值,并写入到AI存储区,设置组态后确认,需要下载到PLC中才生效。
▲图8▲
2、程序编写
每一段程序都有注释讲解,如图9和图10所示,这里不做介绍,如果有问题可以留言。
▲图9▲
▲图10▲
3、程序测试
程序检控可以看到模拟量采集的10个数值进行减去最大和最小值,然后求8个数的平均值,并输出到VD208中。
▲图11▲
总结:模拟量输入滤波处理,常用的有加磁环、等电位处理、加隔离设备。当加了抗干扰处理以后还是不理想可以考虑软件中的通道滤波处理,这些做完波动还是很大,那么就需要用到用到滤波程序,滤波程序有很多,这里小编举例了模拟量中位滤波程序。
以上就是整个西门子S7-200smart间接寻址应用—模拟量滤波程序的内容,文章内容如有错误或者有不懂的问题请联系我们。
注意:文章程序只供学习参考,实际应用需要修改并测试