免费论文查重: 大雅 万方 维普 turnitin paperpass

通用中位值平均滤波法PLC程序设计与实现-

最后更新时间:2024-03-07 作者:用户投稿原创标记本站原创 点赞:6910 浏览:22895
论文导读:PLC;因为第一:重介选煤厂内的变频器、软起动器等设备影响,第二:控制电缆和动力电缆交叉敷设的影响;4-20mA信号不可避免的会受到各种干扰,引起信号突变,影响控制系统的稳定性和控制效果;使用软件如何消除硬件的干扰,编制一个通用的模拟量滤波功能块就显得特别重要。

二、程序设计关键(一)滤干扰本次设计采用“中位

摘要:介绍了一种通用中位值平均滤波PLC程序的设计方法。该程序是通用的西门子S7-300和400PLC功能块,适用于模拟量的滤波。实际应用表明,该功能块通用性、移植性高,减少了重介选煤厂控制系统的编程时间和调试时间。
关键词:通用;滤波;西门子;PLC;功能块
1007-9599 (2012) 11-0000-02
一、引言
水位平衡闭环、粘度闭环、压力闭环、密度闭环是重介选煤厂最关键的4个闭环控制,其中水位、磁性物含量、压力、密度等参数一般都是4-20mA的模拟量信号进PLC;因为第一:重介选煤厂内的变频器、软起动器等设备影响,第二:控制电缆和动力电缆交叉敷设的影响;4-20mA信号不可避免的会受到各种干扰,引起信号突变,影响控制系统的稳定性和控制效果;使用软件如何消除硬件的干扰,编制一个通用的模拟量滤波功能块就显得特别重要。

二、程序设计关键

(一)滤干扰
本次设计采用“中位值滤波法+算术平均滤波法”相结合的方法,连续采集N个模拟量信号数据,去掉其中的一个最大值和一个最小值,然后计算N-2个数据的算术平均值。能滤去因偶然因素引起的波动干扰致使模拟量信号数据发生突变。
(二)通用性
调用程序功能块时,不必修改程序内部代码,只要输入功能块的输入、输出接口地址即可。
(三)可移植
程序功能块能在任何一款西门子S7-300和400系列PLC中运行,不需要做任何特别设置。
针对以上3点,功能块设计如下。

三、程序设计与实现

以下摘自:7彩论文网毕业论文怎么写www.7ctime.com
以西门子的PLC编程软件Step7 V5.4来介绍滤波通用功能块的具体实现。Step7有自定义功能块的功能,此次我们使用其中的FC功能块来实现,FC功能块可以在S7-300和400PLC通用。

(一)算法步骤,如图一

(二)接口定义

(三)程序代码

L #DB_no //打开DB块
T #temp1
OPN DB [#temp1]
L #DB_addr_begin//找到DB块存储区的开始地址
SLD 3
T #temp2
A #Time_base//时基到,采集数据
JCN end
L #Mid
L 1
+I
T #Mid
L #Mid
L #Degree
>=I
JCa1//采集次数未到,继续采集;达到,程序转到a1
L #Mid
L 4
*I
SLD 3
L #temp2
+D
T #temp3
L #Piw_addr
ITD
T DBD [#temp3]
JUend
a1: L #temp2 //求最大值
LAR1
L DBD [AR1,P#0.0]
T #temp4
L #Degree
max:T #temp6
L #Degree
L #temp6
-I
L 4
*I
SLD 3
L #temp2
+D
T #temp7
L #temp4
L DBD [#temp7]
>D
JCa2
L DBD [#temp7]
T #temp4
a2: L #temp6
LOOPmax
L #temp2 //求最小值
LAR1
L DBD [AR1,P#0.0]
T #temp5
L #Degree
min:T #temp8
L #Degree
L #temp8
-I
L 4
*I
SLD 3
L #temp2
+D
T #temp9
L DBD [#temp9]
L #temp5
>D
JCa3
L DBD [#temp9]
T #temp5
a3: L #temp8
LOOPmin
L 0 //求和
T #temp12
L #Degree
sum:T #temp10
L #Degree
L #temp10
-I
L 4
*I
SLD 3
L #temp2
+D
T #temp11
L #temp12
L DBD [#temp11]
+D
T #temp12
L #temp10
LOOPsumL #temp12
L #temp4//减去最大值
-D
T #temp12
L #temp12
L #temp5//减去最小值
-D
T #temp12
L #temp12
L #Degree
DEC 1
DEC 1
ITD
/D
T #result
L #result
T #Average 摘自:7彩论文网毕业论文摘要范文www.7ctime.com
//输出平均值结果
L -1
T #Mid
L #Degree
init: T #temp10 //初始化
L #Degree
L #temp10
-I
L 4
*I
SLD 3
L #temp2
+D
论文导读:越慢,控制的实时性越慢。采样的次数Degree,次数越多,得到的平均值结果越慢,控制的实时性越慢。四、结语该程序功能块在石板选煤厂压力闭环、给煤定量控制和渡市选煤厂压力控制中得到成功应用,节省了项目的编程和调试时间,具有很强的通用性。参考文献:崔坚,李佳,杨光.西门子工业网络通信指南.北京:机械工
T #temp11
L #temp12
L DBD [#temp11]
+D
T #temp12
L #temp10
LOOPinit
end:NOP 0
(四)功能块
(五)注意点
模拟量输入的地址Piw_addr类型为Int,但平均值结果result类型为Dint,是因为采集到Piw_addr的数据相加,可能会大于int的最大范围65536,所以类型为Dint。
地址指针类型为DWord,采用的是存储器双字指针格式间接寻址,要求长度是双字。
采样频率Time_base采用CPU的Clock Memory,有0.1s、0.2s、0.4s、0.5s、0.8s、1s、

1.6s、2s几种,时间越长,得到的平均值结果越慢,控制的实时性越慢。

采样的次数Degree,次数越多,得到的平均值结果越慢,控制的实时性越慢。
四、结语
该程序功能块在石板选煤厂压力闭环、给煤定量控制和渡市选煤厂压力控制中得到成功应用,节省了项目的编程和调试时间,具有很强的通用性。
参考文献:
崔坚,李佳,杨光.西门子工业网络通信指南.北京:机械工业出版社,2005
刘锴,周海.深入浅出西门子S7-300PLC.北京:航空航天大学出版社,2004