|
中達電通公司
摘 要:介紹PLC應用中軟件濾波功能、方法,以及台達PLC在自動控製中軟件濾波程序應用。 關鍵詞:PLC 模擬量采集 噪聲和幹擾 濾波電路 濾波方法 閉環調節 1 引言 工(gong)業(ye)自(zi)動(dong)化(hua)係(xi)統(tong)中(zhong)的(de)大(da)型(xing)係(xi)統(tong)或(huo)是(shi)小(xiao)型(xing)設(she)備(bei),均(jun)含(han)有(you)各(ge)種(zhong)噪(zao)聲(sheng)和(he)幹(gan)擾(rao)。幹(gan)擾(rao)既(ji)有(you)來(lai)自(zi)信(xin)號(hao)源(yuan)本(ben)體(ti)或(huo)傳(chuan)感(gan)器(qi),也(ye)有(you)來(lai)自(zi)外(wai)界(jie)幹(gan)擾(rao)。為(wei)了(le)進(jin)行(xing)準(zhun)確(que)測(ce)量(liang)和(he)控(kong)製(zhi),必(bi)須(xu)消(xiao)除(chu)被(bei)測(ce)信(xin)號(hao)中(zhong)的(de)噪(zao)聲(sheng)和(he)幹(gan)擾(rao)。特(te)別(bie)是(shi)隨(sui)著(zhe)自(zi)動(dong)化(hua)程(cheng)度(du)的(de)提(ti)高(gao),許(xu)多(duo)控(kong)製(zhi)功(gong)能(neng)通(tong)過(guo)自(zi)動(dong)閉(bi)環(huan)調(tiao)節(jie)來(lai)完(wan)成(cheng),設(she)備(bei)控(kong)製(zhi)的(de)效(xiao)果(guo)取(qu)決(jue)於(yu)外(wai)部(bu)模(mo)擬(ni)量(liang)采(cai)集(ji)、控製算法、執行輸出等等環節,而在現場工業環境中,電磁幹擾、電源幹擾、甚至於傳感器本身都會影響外部信號,導致得到的數據失真、bodong,ruguozaishujucaijihuanjiejichuxianwenti,nazhenggexitongjiangwufazhengchanggongzuo。benwenfenxijiejuedeshiruheliyongruanjianshuzilvbodefangshichuliwaibuxinhaodezhengquecaiji,congercainengdedaozhenshideshuju,shixianzidongkongzhi,fouzeshebeidezidonghuakongzhijiangwucongtanqi。 2 軟件濾波功能簡介 2.1 軟件濾波 ruanjianlvbojishitongguoruanjiansuanfajiangshujujinxingshidangchuli,congerpingbidiaozaoshengheganraozaboxinhao,huodekeyongdezhenshishujudeyizhongfangfa,yekeyishuoshitongguochengxuchulidefangshiwanchengshujucaijixinhaodechuli。 對於采集信號的處理,除了軟件濾波之外,也可以采用硬件電路實現濾波處理,比如常見的RC濾波、LC濾波等等,圖1為采用電容濾波電路的信號曲線。
 圖1 電容濾波電路的信號曲線
硬件濾波的優點在於我們在程序中不再需要進行複雜的程序處理,而且數據變化響應性高;而(er)軟(ruan)件(jian)濾(lv)波(bo)的(de)優(you)勢(shi)在(zai)於(yu)不(bu)需(xu)要(yao)硬(ying)件(jian)的(de)投(tou)入(ru),簡(jian)化(hua)了(le)電(dian)路(lu)設(she)計(ji),對(dui)於(yu)不(bu)同(tong)的(de)信(xin)號(hao)幹(gan)擾(rao)可(ke)以(yi)很(hen)方(fang)便(bian)的(de)調(tiao)整(zheng)軟(ruan)件(jian)參(can)數(shu)達(da)到(dao)濾(lv)波(bo)效(xiao)果(guo),雖(sui)然(ran)有(you)些(xie)方(fang)法(fa)在(zai)信(xin)號(hao)處(chu)理(li)上(shang)會(hui)有(you)一(yi)定(ding)的(de)滯(zhi)後(hou),但(dan)隻(zhi)要(yao)合(he)理(li)使(shi)用(yong)各(ge)種(zhong)不(bu)同(tong)的(de)濾(lv)波(bo)方(fang)式(shi)則(ze)完(wan)全(quan)避(bi)免(mian)因(yin)此(ci)而(er)帶(dai)來(lai)的(de)影(ying)響(xiang)。 2.2 數字軟件濾波優點 (1) 數字濾波用軟件實現,不需要增加硬設備,因而可靠性高、穩定性好,不存在阻抗匹配問題。 (2) 模擬濾波通常是各通道專用,而數字濾波則可多通道共享,從而降低了成本。 (3) 數字濾波可以對頻率很低(如0.01 Hz)的信號進行濾波,而模擬濾波由於受電容容量的限製,頻率不可能太低。 (4) 數字濾波可以根據信號的不同,采用不同的濾波方法或濾波參數,具有靈活、方便、功能強的特點。 2 實現軟件濾波的方法 軟(ruan)件(jian)濾(lv)波(bo)有(you)很(hen)多(duo)種(zhong)方(fang)法(fa),主(zhu)要(yao)是(shi)針(zhen)對(dui)不(bu)同(tong)幹(gan)擾(rao)信(xin)號(hao)采(cai)取(qu)不(bu)同(tong)的(de)方(fang)法(fa)將(jiang)其(qi)消(xiao)除(chu),這(zhe)裏(li)列(lie)舉(ju)了(le)一(yi)些(xie)方(fang)法(fa)並(bing)針(zhen)對(dui)性(xing)說(shuo)明(ming)有(you)缺(que)點(dian),使(shi)大(da)家(jia)可(ke)以(yi)正(zheng)確(que)選(xuan)擇(ze)采(cai)用(yong)的(de)濾(lv)波(bo)方(fang)法(fa)。 3.1限幅濾波法 (1)方法。根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A),每次檢測到新值時判斷:如果本次值與上次值之差<=A,則本次值有效;如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值。 (2)優點。能有效克服因偶然因素引起的脈衝幹擾。 (3)缺點。無法抑製周期性的幹擾,平滑度較差。 (4)fenxi。xianfulvbofashibijiaojiandanyixingdeyizhongfangfa,nandianzaiyuxuyaoyoujingyanpanduanhelidepianchazhi,ruguopianchazhishexiaole,qibudaolvbozuoyong,shedingguoda,jiangbunengjishicaijiwaibuxinhaodexixiaobianhua。 3.2中位值濾波法 (1)方法。連續采樣N次(N取奇數),把N次采樣值按大小排列,取中間值為本次有效值。 (2)優點。能有效克服因偶然因素引起的波動幹擾,對溫度、液位的變化緩慢的被測參數有良好的濾波效果 (3)缺點。對流量、速度等快速變化的參數不宜。 (4)分析。采樣次數決定了濾波效果,次數越大,濾波作用越大,但不能對信號進行快速響應。 3.3算術平均濾波法 (1)方法。連續取N個采樣值進行算術平均運算。N值較大時:信號平滑度較高,但靈敏度較低;N值較小時:信號平滑度較低,但靈敏度較高。N值的選取:流量,N=12;壓力:N=4。 (2)優點。適用於對一般具有隨機幹擾的信號進行濾波,這樣信號的特點是有一個平均值,信號在某一數值範圍附近上下波動。 (3)缺點。對於測量速度較慢或要求數據計算速度較快的實時控製不適用,比較浪費RAM。 3.4遞推平均濾波法 (1)方法。連續取N個采樣值,作為一個隊列,每次采樣到一個新數據放入隊尾,並扔掉原來隊首的一次數據,把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果。N值的選取:流量,N=12;壓力:N=4;液麵,N=4~12;溫度,N=1~4。 (2)優點。對周期性幹擾有良好的抑製作用,平滑度高,適用於高頻振蕩的係統。 (3)quedian。lingmindudi,duiouranchuxiandemaichongxingganraodeyizhizuoyongjiaocha,buyixiaochuyouyumaichongganraosuoyinqidecaiyangzhipiancha,bushiyongyumaichongganraobijiaoyanzhongdechanghe,bijiaolangfeiRAM。 3.5一階滯後濾波法 (1)方法。取a=0~1,本次濾波結果=(1-a)*本次采樣值+a*上次濾波結果。 (2)優點。對周期性幹擾具有良好的抑製作用,適用於波動頻率較高的場合。 (3)缺點。相位滯後,靈敏度低,滯後程度取決於a值大小,不能消除濾波頻率高於采樣頻率的1/2的幹擾信號。 3.6消抖濾波法 (1)方法。設置一個濾波計數器,將每次采樣值與當前有效值比較:如果采樣值=當前有效值,則計數器清零;如果采樣值<>當前有效值,則計數器+1,並判斷計數器是否>=上限N(溢出);如果計數器溢出,則將本次值替換當前有效值,並清計數器。 (2)優點。對於變化緩慢的被測參數有較好的濾波效果,可避免在臨界值附近控製器的反複開/關跳動或顯示器上數值抖動。 (3)缺點。對於快速變化的參數不宜,如果在計數器溢出的那一次采樣到的值恰好是幹擾值,則會將幹擾值當作有效值導入係統。 3 台達PLC軟件濾波應用 上(shang)麵(mian)簡(jian)單(dan)描(miao)述(shu)了(le)六(liu)種(zhong)濾(lv)波(bo)的(de)方(fang)法(fa),實(shi)際(ji)上(shang)濾(lv)波(bo)的(de)方(fang)法(fa)很(hen)多(duo),而(er)且(qie)針(zhen)對(dui)不(bu)同(tong)的(de)信(xin)號(hao)可(ke)以(yi)將(jiang)兩(liang)種(zhong)或(huo)三(san)種(zhong)方(fang)法(fa)綜(zong)合(he)使(shi)用(yong)以(yi)滿(man)足(zu)信(xin)號(hao)處(chu)理(li)的(de)要(yao)求(qiu)。 台達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模塊。無論哪一款模塊,對應模塊每個輸入通道都有軟件濾波功能,也就是模塊內部控製寄存器中的平均次數設置(通道獨立),在此采用的是遞推平均濾波法,設置的次數是上文中提到的采樣N值,可以設置1~20,不同的濾波係數適應不同的信號,另外當輸入有雜波造成配線受噪聲幹擾時還可以連接0.1~0.47 μF 25V做電容濾波,即硬件濾波,如圖2所示。
圖2 硬件濾波
4.2 混合型主機 台達也提供集成模擬量的主機類型,主要有DVP20EX(8DI/6DO/4AI/2AO)和DVP10SX(4DI/2DO/2AI/2AO),以及在EH主機上可以擴展F2AD卡作為模擬量采集,在PLC中有平均次數設置的內部特殊寄存器D1062,可以設置1~4作軟件濾波,同樣的采用的也是遞推平均濾波法。 可以看出,台達PLC作為工業控製產品,在模擬量采集的處理上作了比較完善的軟、yingjianchulimanzudaduoshuyingyongchanghe,dangranbingbushishuotanengmanzusuoyoudexinhaochuli,tebieshihunhexingzhujidepingjuncishubijiaoshao,yincikenengzaimouxiechanghebunengmanzuyaoqiu,zaicijichushangwomenkeyigenjuxianchangxinhaodebutongtexingzaichengxuzhongzuolvbochuli。 4.3 基於台達PLC的一階滯後濾波程序設計 下麵是以燃煤熱水鍋爐係統的爐膛微負壓為設計背景,用台達PLC編製的一個一階滯後濾波程序案例,以此簡單介紹濾波程序的編寫方法。 案例采用氧化矽壓力傳感器測量,由於爐膛負壓是一個較小的壓力量,大概在正負幾百帕之間,很容易受到外界影響(如鼓風機、引風機等),因此這是一個波動較大的采集量,如果直接使用采集值,波動將很大(可能是正負幾十帕的波動),根本沒有辦法調節控製到正負20Pa,因此必須對采集值作處理,減小其周期性波動才能完成控製。 一階滯後濾波算法公式: 濾波後輸出值=(1-A)* 本次采樣值 + A*上次濾波結果 其中A為濾波係數,範圍是0~1 程序中各寄存器定義: D0: 濾波係數A D2: 1- A D4: “(1-A)* 本次采樣值”的運算結果 D6:“A*上次濾波結果”的存儲寄存器 D50:上次濾波暫存值 D110: 采集值通過FLT指令轉換為浮點數 D150:濾波後結果

程序中主要是將直接采集值經過上述公式的浮點數運算得到濾波後結果,從算法中可以看出,當濾波係數為0時,就是當前的采集值,而濾波係數越大,濾波作用越強。程序運行後可以看到,當采集值D110有變化時,濾波值是逐漸逼向當前采集值,因此對於突波信號具有抑製作用,使采集值比較穩定,減小波動。 5 結束語 本文介紹了6種數字軟件濾波算法和台達PLC如(ru)何(he)實(shi)現(xian)濾(lv)波(bo)的(de)程(cheng)序(xu)編(bian)製(zhi),每(mei)種(zhong)濾(lv)波(bo)算(suan)法(fa)都(dou)有(you)其(qi)各(ge)自(zi)的(de)特(te)點(dian),在(zai)實(shi)際(ji)應(ying)用(yong)中(zhong),應(ying)根(gen)據(ju)具(ju)體(ti)的(de)測(ce)量(liang)參(can)數(shu)合(he)理(li)的(de)選(xuan)用(yong)。不(bu)適(shi)當(dang)地(di)應(ying)用(yong)數(shu)字(zi)濾(lv)波(bo),不(bu)僅(jin)達(da)不(bu)到(dao)濾(lv)波(bo)效(xiao)果(guo),反(fan)而(er)會(hui)降(jiang)低(di)控(kong)製(zhi)品(pin)質(zhi),甚(shen)至(zhi)失(shi)控(kong),這(zhe)點(dian)必(bi)須(xu)予(yu)以(yi)注(zhu)意(yi)。 在案例中通過一階滯後濾波算法得到的濾波結果,大大消除了采集值的波動,使負壓控製相對穩定,得到較好的控製效果。
|