摘 要:介紹PLC應(yīng)用中軟件濾波功能、方法,以及臺達PLC在自動控制中軟件濾波程序應(yīng)用。
關(guān)鍵詞:PLC 模擬量采集 噪聲和干擾 濾波電路 濾波方法 閉環(huán)調(diào)節(jié)
1 、引言
工業(yè)自動化系統(tǒng)中的大型系統(tǒng)或是小型設(shè)備,均含有各種噪聲和干擾。干擾既有來自信號源本體或傳感器,也有來自外界干擾。為了進行準確測量和控制,必須消除被測信號中的噪聲和干擾。特別是隨著自動化程度的提高,許多控制功能通過自動閉環(huán)調(diào)節(jié)來完成,設(shè)備控制的效果取決于外部模擬量采集、控制算法、執(zhí)行輸出等等環(huán)節(jié),而在現(xiàn)場工業(yè)環(huán)境中,電磁干擾、電源干擾、甚至于傳感器本身都會影響外部信號,導(dǎo)致得到的數(shù)據(jù)失真、波動,如果在數(shù)據(jù)采集環(huán)節(jié)即出現(xiàn)問題,那整個系統(tǒng)將無法正常工作。本文分析解決的是如何利用軟件數(shù)字濾波的方式處理外部信號的正確采集,從而才能得到真實的數(shù)據(jù),實現(xiàn)自動控制,否則設(shè)備的自動化控制將無從談起。
2 、軟件濾波功能簡介
2.1 軟件濾波
軟件濾波即是通過軟件算法將數(shù)據(jù)進行適當(dāng)處理,從而屏蔽掉噪聲和干擾雜波信號,獲得可用的真實數(shù)據(jù)的一種方法,也可以說是通過程序處理的方式完成數(shù)據(jù)采集信號的處理。
對于采集信號的處理,除了軟件濾波之外,也可以采用硬件電路實現(xiàn)濾波處理,比如常見的RC濾波、LC濾波等等,圖1為采用電容濾波電路的信號曲線。
圖1 電容濾波電路的信號曲線
硬件濾波的優(yōu)點在于我們在程序中不再需要進行復(fù)雜的程序處理,而且數(shù)據(jù)變化響應(yīng)性高;而軟件濾波的優(yōu)勢在于不需要硬件的投入,簡化了電路設(shè)計,對于不同的信號干擾可以很方便的調(diào)整軟件參數(shù)達到濾波效果,雖然有些方法在信號處理上會有一定的滯后,但只要合理使用各種不同的濾波方式則完全避免因此而帶來的影響。
2.2 數(shù)字軟件濾波優(yōu)點
(1) 數(shù)字濾波用軟件實現(xiàn),不需要增加硬設(shè)備,因而可靠性高、穩(wěn)定性好,不存在阻抗匹配問題。
(2) 模擬濾波通常是各通道專用,而數(shù)字濾波則可多通道共享,從而降低了成本。
(3) 數(shù)字濾波可以對頻率很低(如0.01 Hz)的信號進行濾波,而模擬濾波由于受電容容量的限制,頻率不可能太低。
(4) 數(shù)字濾波可以根據(jù)信號的不同,采用不同的濾波方法或濾波參數(shù),具有靈活、方便、功能強的特點。
3 實現(xiàn)軟件濾波的方法
軟件濾波有很多種方法,主要是針對不同干擾信號采取不同的方法將其消除,這里列舉了一些方法并針對性說明有缺點,使大家可以正確選擇采用的濾波方法。
3.1限幅濾波法
(1)方法。根據(jù)經(jīng)驗判斷,確定兩次采樣允許的最大偏差值(設(shè)為A),每次檢測到新值時判斷:如果本次值與上次值之差<=A,則本次值有效;如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值。
(2)優(yōu)點。能有效克服因偶然因素引起的脈沖干擾。
(3)缺點。無法抑制周期性的干擾,平滑度較差。
(4)分析。限幅濾波法是比較簡單易行的一種方法,難點在于需要由經(jīng)驗判斷合理的偏差值,如果偏差值設(shè)小了,起不到濾波作用,設(shè)定過大,將不能及時采集外部信號的細小變化。
3.2中位值濾波法
(1)方法。連續(xù)采樣N次(N取奇數(shù)),把N次采樣值按大小排列,取中間值為本次有效值。
(2)優(yōu)點。能有效克服因偶然因素引起的波動干擾,對溫度、液位的變化緩慢的被測參數(shù)有良好的濾波效果
(3)缺點。對流量、速度等快速變化的參數(shù)不宜。
(4)分析。采樣次數(shù)決定了濾波效果,次數(shù)越大,濾波作用越大,但不能對信號進行快速響應(yīng)。
3.3算術(shù)平均濾波法
(1)方法。連續(xù)取N個采樣值進行算術(shù)平均運算。N值較大時:信號平滑度較高,但靈敏度較低;N值較小時:信號平滑度較低,但靈敏度較高。N值的選取:流量,N=12;壓力:N=4。
(2)優(yōu)點。適用于對一般具有隨機干擾的信號進行濾波,這樣信號的特點是有一個平均值,信號在某一數(shù)值范圍附近上下波動。
(3)缺點。對于測量速度較慢或要求數(shù)據(jù)計算速度較快的實時控制不適用,比較浪費RAM。
3.4遞推平均濾波法
(1)方法。連續(xù)取N個采樣值,作為一個隊列,每次采樣到一個新數(shù)據(jù)放入隊尾,并扔掉原來隊首的一次數(shù)據(jù),把隊列中的N個數(shù)據(jù)進行算術(shù)平均運算,就可獲得新的濾波結(jié)果。N值的選?。毫髁?,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4。
(2)優(yōu)點。對周期性干擾有良好的抑制作用,平滑度高,適用于高頻振蕩的系統(tǒng)。
(3)缺點。靈敏度低,對偶然出現(xiàn)的脈沖性干擾的抑制作用較差,不易消除由于脈沖干擾所引起的采樣值偏差,不適用于脈沖干擾比較嚴重的場合,比較浪費RAM。
3.5一階滯后濾波法
(1)方法。取a=0~1,本次濾波結(jié)果=(1-a)*本次采樣值+a*上次濾波結(jié)果。
(2)優(yōu)點。對周期性干擾具有良好的抑制作用,適用于波動頻率較高的場合。
(3)缺點。相位滯后,靈敏度低,滯后程度取決于a值大小,不能消除濾波頻率高于采樣頻率的1/2的干擾信號。
3.6消抖濾波法
(1)方法。設(shè)置一個濾波計數(shù)器,將每次采樣值與當(dāng)前有效值比較:如果采樣值=當(dāng)前有效值,則計數(shù)器清零;如果采樣值<>當(dāng)前有效值,則計數(shù)器+1,并判斷計數(shù)器是否>=上限N(溢出);如果計數(shù)器溢出,則將本次值替換當(dāng)前有效值,并清計數(shù)器。
(2)優(yōu)點。對于變化緩慢的被測參數(shù)有較好的濾波效果,可避免在臨界值附近控制器的反復(fù)開/關(guān)跳動或顯示器上數(shù)值抖動。
(3)缺點。對于快速變化的參數(shù)不宜,如果在計數(shù)器溢出的那一次采樣到的值恰好是干擾值,則會將干擾值當(dāng)作有效值導(dǎo)入系統(tǒng)。
4 臺達PLC軟件濾波應(yīng)用
上面簡單描述了六種濾波的方法,實際上濾波的方法很多,而且針對不同的信號可以將兩種或三種方法綜合使用以滿足信號處理的要求。
臺達PLC的模擬量采集主要有模塊和混合型主機兩種。
4.1使用模擬量采集模塊
臺達模擬量模塊分為兩大類,-S和-H,分別配合SS/SA/SC主機和EH主機,如DVP04AD-S、DVP06XA-S、DVP04PT-S、DVP04TC-S為-S模塊,DVP04AD-H、DVP06XA-H、DVP04PT-H、DVP04TC-H為-H為-H模塊。無論哪一款模塊,對應(yīng)模塊每個輸入通道都有軟件濾波功能,也就是模塊內(nèi)部控制寄存器中的平均次數(shù)設(shè)置(通道獨立),在此采用的是遞推平均濾波法,設(shè)置的次數(shù)是上文中提到的采樣N值,可以設(shè)置1~20,不同的濾波系數(shù)適應(yīng)不同的信號,另外當(dāng)輸入有雜波造成配線受噪聲干擾時還可以連接0.1~0.47 μF 25V做電容濾波,即硬件濾波,如圖2所示。
圖 2 硬件濾波
4.2 混合型主機
臺達也提供集成模擬量的主機類型,主要有DVP20EX(8DI/6DO/4AI/2AO)和DVP10SX(4DI/2DO/2AI/2AO),以及在EH主機上可以擴展F2AD卡作為模擬量采集,在PLC中有平均次數(shù)設(shè)置的內(nèi)部特殊寄存器D1062,可以設(shè)置1~4作軟件濾波,同樣的采用的也是遞推平均濾波法??梢钥闯觯_達PLC作為工業(yè)控制產(chǎn)品,在模擬量采集的處理上作了比較完善的軟、硬件處理滿足大多數(shù)應(yīng)用場合,當(dāng)然并不是說他能滿足所有的信號處理,特別是混合型主機的平均次數(shù)比較少,因此可能在某些場合不能滿足要求,在此基礎(chǔ)上我們可以根據(jù)現(xiàn)場信號的不同特性在程序中作濾波處理。
4.3 基于臺達PLC的一階滯后濾波程序設(shè)計
下面是以燃煤熱水鍋爐系統(tǒng)的爐膛微負壓為設(shè)計背景,用臺達PLC編制的一個一階滯后濾波程序案例,以此簡單介紹濾波程序的編寫方法。
案例采用氧化硅壓力傳感器測量,由于爐膛負壓是一個較小的壓力量,大概在正負幾百帕之間,很容易受到外界影響(如鼓風(fēng)機、引風(fēng)機等),因此這是一個波動較大的采集量,如果直接使用采集值,波動將很大(可能是正負幾十帕的波動),根本沒有辦法調(diào)節(jié)控制到正負20Pa,因此必須對采集值作處理,減小其周期性波動才能完成控制。
一階滯后濾波算法公式:
濾波后輸出值=(1-A)* 本次采樣值 + A*上次濾波結(jié)果
其中A為濾波系數(shù),范圍是0~1
程序中各寄存器定義:
D0: 濾波系數(shù)A
D2: 1- A
D4: “(1-A)* 本次采樣值”的運算結(jié)果
D6:“A*上次濾波結(jié)果”的存儲寄存器
D50:上次濾波暫存值
D110: 采集值通過FLT指令轉(zhuǎn)換為浮點數(shù)
D150:濾波后結(jié)果
程序中主要是將直接采集值經(jīng)過上述公式的浮點數(shù)運算得到濾波后結(jié)果,從算法中可以看出,當(dāng)濾波系數(shù)為0時,就是當(dāng)前的采集值,而濾波系數(shù)越大,濾波作用越強。程序運行后可以看到,當(dāng)采集值D110有變化時,濾波值是逐漸逼向當(dāng)前采集值,因此對于突波信號具有抑制作用,使采集值比較穩(wěn)定,減小波動。
5 結(jié)束語
本文介紹了6種數(shù)字軟件濾波算法和臺達PLC如何實現(xiàn)濾波的程序編制,每種濾波算法都有其各自的特點,在實際應(yīng)用中,應(yīng)根據(jù)具體的測量參數(shù)合理的選用。不適當(dāng)?shù)貞?yīng)用數(shù)字濾波,不僅達不到濾波效果,反而會降低控制品質(zhì),甚至失控,這點必須予以注意。
在案例中通過一階滯后濾波算法得到的濾波結(jié)果,大大消除了采集值的波動,使負壓控制相對穩(wěn)定,得到較好的控制效果。