王安翔
摘要
本文主要從干擾源較多的現(xiàn)場環(huán)境考慮,介紹PLC控制系統(tǒng)中模擬量信號采樣針對隨機(jī)干擾提出的幾種濾波方法,并用仿真和應(yīng)用實(shí)例證明了其有效性和可行性。
【關(guān)鍵詞】PLC 隨機(jī)干擾 軟件濾波
可編程序控制器PLC是一種進(jìn)行數(shù)字運(yùn)算的電子系統(tǒng),是專門為在工業(yè)環(huán)境下的應(yīng)用而設(shè)計(jì)的工業(yè)控制器。因其具有編程簡單、使用方便,功能完善且對環(huán)境適應(yīng)性強(qiáng)等特點(diǎn),PLC己被廣泛應(yīng)用于各行各業(yè)。但在工程實(shí)際中,由于工業(yè)生產(chǎn)的現(xiàn)場環(huán)境非常惡劣,干擾源比較多,所以計(jì)算機(jī)采集到的現(xiàn)場數(shù)據(jù)信號中難免混有干擾。因此,在處理模擬量信號時,為了消除其中一部分隨機(jī)干擾,準(zhǔn)確的獲得真實(shí)信號己達(dá)到準(zhǔn)確的測量與控制,就需要通過軟件編程時增加一部分濾波程序來對輸入的模擬量采樣信號的進(jìn)行濾波,方便系統(tǒng)控制。
1 方式與方法
1.1 消抖濾波法
設(shè)置一個濾波計(jì)數(shù)器,計(jì)數(shù)次數(shù)為N。將每次采樣值與當(dāng)前有效值比較:如果采樣值=當(dāng)前有效值,則計(jì)數(shù)器清零;如果采樣值◇當(dāng)前有效值,則計(jì)數(shù)器+1,并判斷計(jì)數(shù)器是否>=上限N(溢出),如果計(jì)數(shù)器溢出,則將本次值替換當(dāng)前有效值,并將計(jì)數(shù)器清零。
從圖1中看出,系統(tǒng)在靜態(tài)時,消抖濾波效果比較好;系統(tǒng)動態(tài)時,濾波效果就不明顯。由此得出消抖濾波法的特點(diǎn)
1.1.1 優(yōu)點(diǎn)
(1)適用于系統(tǒng)靜態(tài)過程較多的場合;
(2)可基本避免在現(xiàn)場環(huán)境中隨機(jī)干擾造成的數(shù)值抖動。
1.1.2 缺點(diǎn)
(1)對于系統(tǒng)在動態(tài)時的被測參數(shù)濾波效果不明顯;
(2)從曲線的后半段凸起可以看出,如果在計(jì)數(shù)器溢出的那一次采樣值恰好是干擾值,則會將干擾值當(dāng)作有效值導(dǎo)入系統(tǒng),造成系統(tǒng)隨機(jī)性抖動。
1.2 —階滯后濾波法
取a=0至1之間;本次濾波結(jié)果=a*本次采樣值+(1-a)*上次濾波結(jié)果。
從圖2上看出,濾波后所有干擾的效果都按比例減小。由此可得出該方法的特點(diǎn)。
1.2.1 優(yōu)點(diǎn)
(1)在系統(tǒng)動態(tài)或靜態(tài)時對隨機(jī)干擾具有一定的抑制作用;
(2)由于系統(tǒng)動態(tài)時效果好于消抖濾波法,適用于系統(tǒng)動態(tài)過程較多的場合。
1.2.2 缺點(diǎn)
(1)相位滯后,靈敏度低,滯后程度取決于a值大小。a越小,滯后程度越;
(2)由于濾波算法選用相鄰兩個采樣值進(jìn)行運(yùn)算,如果這兩個采樣值恰好都是同方向的干擾值,則得出結(jié)果也是干擾值。
1.3 算術(shù)平均濾波法
本次濾波值=(采樣值1+采樣值2+...+采樣值N)/N。
從圖3上看出,濾波后所有干擾的效果都明顯減小。由此可得出該方法的特點(diǎn)。
1.3.1 優(yōu)點(diǎn)
(1)由于用于采樣數(shù)據(jù)量大于一階滯后濾波法的兩個采樣數(shù)據(jù),同時出現(xiàn)多個同方向的干擾值得機(jī)會減小,濾波效果就比一階滯后濾波法好,而且N值越大,濾波效果越明顯;
(2)這樣有效值的特點(diǎn)是多個采樣值的平均值,采樣值會在有效值范圍附近上下波動,有效值會比采樣值的波形平滑了許多。
1.3.2 缺點(diǎn)
(1)系統(tǒng)滯后較為明顯,滯后時間為采樣周期的N倍。而且N次采集,得出一個結(jié)果,濾波值變化周期為采集周期的N倍,對于測量速度較慢或要求數(shù)據(jù)計(jì)算速度較快的實(shí)時控制不適用;
(2)軟件處理中,除了需要多次運(yùn)算(N-1次加法運(yùn)算;1次除法運(yùn)算),因?yàn)椴蓸又禂?shù)據(jù)是有效值數(shù)據(jù)的N倍,這樣比較浪費(fèi)PLC的RAM。
2 結(jié)論
以上三種方式各有優(yōu)缺點(diǎn),在變化緩慢的系統(tǒng)中(例如溫控系統(tǒng)),適合使用消抖濾波'法在變化快速的系統(tǒng)中(例如調(diào)速系統(tǒng)),適合使用一階滯后濾波或算術(shù)平均值法。如果在一階滯后濾波法中,a=0.5,也是求平均值的方法。中和這兩種濾波方法,我們可以制作一個較好的算法,稱為遞推平均濾波法。
制作一個采樣計(jì)數(shù)器,每次采集一個數(shù)據(jù),計(jì)數(shù)器+1,當(dāng)計(jì)數(shù)器等于N時,清零。這時候采集到的數(shù)據(jù)就可以根據(jù)計(jì)數(shù)器的數(shù)值存放到相應(yīng)的寄存器當(dāng)中。
本次濾波值=(寄存器0+寄存器1+...+寄存器N-1)/N
該方法具備了算術(shù)平均濾波法的優(yōu)點(diǎn),同時也消除了濾波周期過慢的缺點(diǎn),它的濾波周期與采集周期一致(最初的N個采集周期除外)。
注意:以上方法中N值取值范圍不宜過大,理論上,采樣濾波滯后時間不能大于系統(tǒng)控制時間的一半,最好小于系統(tǒng)控制時間的一個數(shù)量級,即為系統(tǒng)控制時間的0.1倍。例如遞推平均濾波法的N—般取4或8。
3 結(jié)束語
本文針對PLC控制系統(tǒng)中,采集數(shù)據(jù)受到隨機(jī)干擾產(chǎn)生系統(tǒng)波動的問題,提出軟件濾波的一些方法。這些方法保證了采集數(shù)據(jù)的可靠性,一定程度解決一些過程控制系統(tǒng)的波動問題。
參考文獻(xiàn)
[1]沈精虎主編.西門子系列PLC原理與應(yīng)用[M].北京:人民郵電出版社,2009.
[2]胡學(xué)林主編.可編程控制器教程[M].北京:電子工業(yè)出版社,2003.