軟件抗干擾問題的研究愈來愈引起人們的重視。
一拒名、工控軟件的結(jié)構(gòu)特點及干擾途徑
本次項目采用全新的自動控制系統(tǒng)和監(jiān)控技術(shù)可以克服以前人工控制精度低吩愧、運行操作繁瑣、誤操作可能性大等缺點增显,該系統(tǒng)的廢水處理工藝流程具有一定的先進(jìn)性慎瓮,達(dá)到了電廠廢水零排放,大大提高了水的利用率伊丘。在不同的工業(yè)控制系統(tǒng)中捧法,工控軟件雖然完成的功能不同,但就其結(jié)構(gòu)來說朦盲,一般具有如下特點:
* 實時性:工業(yè)控制系統(tǒng)中有些事件的發(fā)生具有隨機性木锈,要求工控軟件能夠及時地
處理隨機事件举么。
* 周期性:工控軟件在完成系統(tǒng)的初始化工作后结款,隨之進(jìn)入主程序循環(huán)。在執(zhí)行主程序過程中考瘪,如有中斷申請昼薯,則在執(zhí)行完相應(yīng)的中斷服務(wù)程序后,繼續(xù)主程序循環(huán)。
* 相關(guān)性:工控軟件由多個任務(wù)模塊組成彪珠,各模塊配合工作质法,相互關(guān)聯(lián),相互依存浸船。
* 人為性:工控軟件允許操作人員干預(yù)系統(tǒng)的運行妄迁,調(diào)整系統(tǒng)的工作參數(shù).在理想情況下,工控軟件可以正常執(zhí)行李命。但在工業(yè)現(xiàn)場環(huán)境的干擾下登淘,工控軟件的周期性、相關(guān)性及實時性受到破壞封字,程序無法正常執(zhí)行黔州,導(dǎo)致工業(yè)控制系統(tǒng)的失控,其表現(xiàn)是:
* 程序計數(shù)器PC值發(fā)生變化阔籽,破壞了程序的正常運行流妻。PC值被干擾后的數(shù)據(jù)是隨機的,因此引起程序執(zhí)行混亂笆制,在PC值的錯誤引導(dǎo)下绅这,程序執(zhí)行一系列毫無意義的指令,最后常常進(jìn)入一個毫無意義的“死循環(huán)”中在辆,使系統(tǒng)失去控制君躺。
* 輸入/輸出接口狀態(tài)受到干擾,破壞了工控軟件的相關(guān)性和周期性开缎,造成系統(tǒng)資源
被某個任務(wù)模塊獨占痹埠,使系統(tǒng)發(fā)生“死鎖”。
* 數(shù)據(jù)采集誤差加大妙帆。干擾侵入系統(tǒng)的前向通道仙尔,疊加在信號上,導(dǎo)致數(shù)據(jù)采集誤差加大兵雪。特別是當(dāng)前向通道的傳感器接口是小電壓信號輸入時编撵,此現(xiàn)象更加嚴(yán)重。
* RAM數(shù)據(jù)區(qū)受到干擾發(fā)生變化晒茁。根據(jù)干擾竄入渠道易仍、受干擾數(shù)據(jù)性質(zhì)的不同,系統(tǒng)受損壞的狀況不同捷嘁,有的造成數(shù)值誤差绵盔,有的使控制失靈,有的改變程序狀態(tài)鳍彪,有的改變某些部件(如定時器/計數(shù)器璃璧、串行口等)的工作狀態(tài)等荔鸵。筆者在研制電力遠(yuǎn)程抄表系統(tǒng)時就曾遇到因現(xiàn)場強電磁干擾而造成RAM數(shù)據(jù)經(jīng)常性被破壞的情況。
* 控制狀態(tài)失靈踊跟。在工業(yè)控制系統(tǒng)中踩验,控制狀態(tài)的輸出常常是依據(jù)某些條件狀態(tài)的
輸入和條件狀態(tài)的邏輯處理結(jié)果而定。在這些環(huán)節(jié)中商玫,由于干擾的侵入箕憾,會造成條件狀態(tài)錯誤,致使輸出控制誤差加大拳昌,甚至控制失常厕九。
二、程序運行失常的軟件對策
系統(tǒng)受到干擾侵害致使PC值改變地回,造成程序運行失常扁远。對于程序運行失常的軟件對策主要是發(fā)現(xiàn)失常狀態(tài)后及時引導(dǎo)系統(tǒng)恢復(fù)原始狀態(tài)。
1.設(shè)置監(jiān)視跟蹤定時器
使用定時中斷來監(jiān)視程序運行狀態(tài)刻像。定時器的定時時間稍大于主程序正常運行一個循環(huán)的時間畅买,在主程序運行過程中執(zhí)行一次定時器時間常數(shù)刷新操作。這樣细睡,只要程序正常運行谷羞,定時器不會出現(xiàn)定時中斷。而當(dāng)程序運行失常簿馍,不能及時刷新定時器時間常數(shù)而導(dǎo)致定時中斷脯黎,利用定時中斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。在8031應(yīng)用系統(tǒng)中作為軟件抗干擾的一個事例忆帐,具體做法是:
* 使用8155的定時器所產(chǎn)生的“溢出”信號作為8031的外部中斷源INT1兵正。用555定時
器作為8155中定時器的外部時鐘輸入;
* 8155定時器的定時值稍大于主程序的正常循環(huán)時間梢纫;
* 在主程序中窖硝,每循環(huán)一次,對8155定時器的定時常數(shù)進(jìn)行刷新汤浊;
* 在主控程序開始處邓晃,對硬件復(fù)位還是定時中斷產(chǎn)生的自動恢復(fù)進(jìn)行分類判斷處
理。
2.設(shè)置軟件陷井
當(dāng)PC失控砚皆,造成程序“亂飛”而不斷進(jìn)入非程序區(qū)纤票,只要在非程序區(qū)設(shè)置攔截措施,使程序進(jìn)入陷井旦良,然后強迫使程序進(jìn)入初始狀態(tài)猪攀。例如Z80指令系統(tǒng)中數(shù)據(jù)FFH正好對應(yīng)為重新起動指令RST 56,該指令使程序自動轉(zhuǎn)入0038H入口地址鹃唯。因此爱榕,在Z80 CPU構(gòu)成的應(yīng)用系統(tǒng)中瓣喊,只要將所有非程序區(qū)全部置成FFH用以攔截失控程序坡慌。
并在0038H處設(shè)置轉(zhuǎn)移指令黔酥,使程序轉(zhuǎn)至抗干擾處理程序。
三洪橘、系統(tǒng)“死鎖”的軟件對策
在工業(yè)控制系統(tǒng)中跪者,A/D、D/A熄求,顯示等輸入/輸出接口電路是必不可少的渣玲。這些接口與CPU之間采用查詢或中斷方式工作,而這些設(shè)備或接口對干擾很敏感弟晚,干擾信號一旦破壞了某一接口的狀態(tài)字后忘衍,就會導(dǎo)致CPU誤認(rèn)為該接口有輸入/輸出請求而停止現(xiàn)行工作,轉(zhuǎn)去執(zhí)行相應(yīng)的輸入/輸出服務(wù)程序卿城。但由于該接口本身并沒有輸入/輸出數(shù)據(jù)枚钓,從而使CPU資源被該服務(wù)程序長期占用,而不釋放粟宣,其它任務(wù)程序無法執(zhí)行喳卫,使整個系統(tǒng)出現(xiàn)“死鎖”。對這種干擾造成的“死鎖”問題辑揍,在軟件編程中硫红,
可采用“時間片”的方法來解決。其具體步驟為:
* 根據(jù)不同的輸入/輸出外設(shè)對時間的要求讽歹,分配相應(yīng)的最大正常的輸入/輸出時間综姜。
* 在每一輸入/輸出的任務(wù)模塊中,加入相應(yīng)的超時判斷程序几研。這樣當(dāng)干擾破壞了接口的狀態(tài)造成CPU誤操作后羡逃,由于該外設(shè)準(zhǔn)備好信息長期無效,經(jīng)一定時間后狡舞,系統(tǒng)會從該外設(shè)的服務(wù)程序中自動返回硬白,保證整個軟件的周期性不受影響,從而避免
“死鎖”情況的發(fā)生骇另。
四畴栖、數(shù)據(jù)采集誤差的軟件對策
根據(jù)數(shù)據(jù)受干擾性質(zhì)及干擾后果的不同,采取的軟件對策各不相同八千,沒有固定的模式吗讶。對于實時數(shù)據(jù)采集系統(tǒng),為了消除傳感器通道中的干擾信號恋捆,在硬件措施上常采取有源或無源RLC網(wǎng)絡(luò)照皆,構(gòu)成模擬濾波器對信號實現(xiàn)頻率濾波重绷。同樣,運用CPU的運算膜毁、控制功能也可以實現(xiàn)頻率濾波昭卓,完成模擬濾波器類似的功能,這就是數(shù)字濾波瘟滨。在許多數(shù)字信號處理專著中都有專門論述候醒,可以參考。隨著計算機運算速度的提高杂瘸,數(shù)字濾波在實時數(shù)據(jù)采集系統(tǒng)中的應(yīng)用將愈來愈廣倒淫。
在一般數(shù)據(jù)采集系統(tǒng)中,可以采用一些簡單的數(shù)值败玉、邏輯運算處理來達(dá)到濾波的效果祭静。下面介紹幾種常用的方法。
1.算術(shù)平均值法
對于一點數(shù)據(jù)連續(xù)采樣多次爵路,計算其算術(shù)平均值姻粱,以其平均值作為該點采樣結(jié)果。
這種方法可以減少系統(tǒng)的隨機干擾對采集結(jié)果的影響助安。一般3~5次平均即可辰诱。
2.比較取舍法
當(dāng)控制系統(tǒng)測量結(jié)果的個別數(shù)據(jù)存在偏差時,為了剔除個別錯誤數(shù)據(jù)莽裤,可采用比較取舍法拱缆,即對每個采樣點連續(xù)采樣幾次,根據(jù)所采數(shù)據(jù)的變化規(guī)律店烛,確定取舍谢奕,從 而剔除偏差數(shù)據(jù)。例如,“采三取二”即對每個采樣點連續(xù)采樣三次辱甫,取兩次相同的數(shù)據(jù)為采樣結(jié)果遍送。
3.中值法
根據(jù)干擾造成采樣數(shù)據(jù)偏大或偏小的情況,對一個采樣點連續(xù)采集多個信號店诗,并對這些采樣值進(jìn)行比較裹刮,取中值作為該點的采樣結(jié)果。
4.一階遞推數(shù)字濾波法
這種方法是利用軟件完成RC低通濾波器的算法庞瘸,實現(xiàn)用軟件方法代替硬件RC濾波器捧弃。一階遞推數(shù)字濾波公式為Yn=QXn+(1-Q)Yn-1 式中Q -數(shù)字濾波器時間常數(shù);
Xn-第n次采樣時的濾波器輸入擦囊;
Yn-第n次采樣時的濾波器輸出违霞。
采用軟件濾波器對消除數(shù)據(jù)采集中的誤差可以獲得滿意的效果。但應(yīng)注意瞬场,選取何種方法應(yīng)根據(jù)信號的變化規(guī)律選擇买鸽。
五涧郊、RAM數(shù)據(jù)出錯的軟件對策
在實時控制過程中,干擾造成比較嚴(yán)重的危害之一就是沖毀RAM中的數(shù)據(jù)眼五,由于RAM中保存的是各種原始數(shù)據(jù)妆艘、標(biāo)志、變量等弹砚,如果被破壞双仍,會造成系統(tǒng)出錯或無法運行寺斟,根據(jù)數(shù)據(jù)被沖毀的程度虫棚,一般可分為三類:
* 整個RAM數(shù)據(jù)被沖毀;
* RAM中某片數(shù)據(jù)被沖毀溪胖;
* 個別數(shù)據(jù)被沖毀黔琢。
在工業(yè)控制系統(tǒng)中,RAM的大部分內(nèi)容是為了進(jìn)行分析肤不、比較而臨時存放的寻癌,不允許丟失的數(shù)據(jù)只占極少部分。在這種情況下豌腮,除了這些不允許丟失的數(shù)據(jù)外绪封,其余大部分內(nèi)容允許短時間被破壞,最多只引起系統(tǒng)的一個很短時間的波動椰骇,很快能自動恢復(fù)正常历扭。因此,在工控軟件中膨吼,只要注意對少數(shù)不允許丟失的數(shù)據(jù)保護(hù)棺氢,一般常用的方法有“校驗法” 和“設(shè)標(biāo)法”。這兩種方法各有千秋现恼,校驗法比較繁鎖肃续,但查錯的可信度高。設(shè)標(biāo)法簡單叉袍,但對數(shù)據(jù)表中個別數(shù)據(jù)沖毀的情況始锚,查錯則無難為 力。在編程中一般應(yīng)綜合使用喳逛,其具體做法為:
* 將RAM工作區(qū)重要區(qū)域的始端和尾端各設(shè)置一個標(biāo)志碼“0” 或“1”瞧捌;
* 對RAM中固定不變的數(shù)據(jù)表格設(shè)置校驗字。
在程序的執(zhí)行過程中艺配,每隔一定的時間通過事先設(shè)計的查錯程序來檢查其各標(biāo)志碼是否正常察郁,如果不正常,則利用數(shù)據(jù)冗余技術(shù)通過抗干擾處理程序來進(jìn)行修正转唉;冗余數(shù)據(jù)表的一般設(shè)計原則是:
* 各數(shù)據(jù)表應(yīng)相互遠(yuǎn)離分散設(shè)置皮钠,減少冗余數(shù)據(jù)同時被沖毀的概率稳捆。
* 數(shù)據(jù)表應(yīng)盡可能遠(yuǎn)離棧區(qū),減少由于操作錯誤造堆棧被成數(shù)據(jù)沖的可能 麦轰。
上述對RAM區(qū)域的恢復(fù)處理方法乔夯,在不同的應(yīng)用系統(tǒng)中應(yīng)根據(jù)的具體情況進(jìn)行取舍。
六潘吸、控制狀態(tài)失常的軟件對策
在條件控制系統(tǒng)中醇疮,人們關(guān)注的問題是能否確保正常的控制狀態(tài)。如果干擾進(jìn)入系統(tǒng)卤撬,會影響各種控制條件巴移、造成控制輸出失誤。為了確保系統(tǒng)安全可以采取下述軟件抗干擾措施:
1.軟件冗余
對于條件控制系統(tǒng)柄楼,將控制條件的一次采樣瞭驴、處理控制輸出,改為循環(huán)采樣翅陪、處理控制輸出退钱。這種方法具有良好的抗偶然因素干擾作用。
2.設(shè)置當(dāng)前輸出狀態(tài)寄存單元
當(dāng)干擾侵入輸出通道造成輸出狀態(tài)破壞時钠台,系統(tǒng)可以及時查詢當(dāng)前輸出狀態(tài)寄存單元的輸出狀態(tài)信息欠诊,及時糾正錯誤的輸出狀態(tài)。
3.設(shè)置自檢程序
在計算機系統(tǒng)內(nèi)的特定部位或某些內(nèi)存單元設(shè)狀態(tài)標(biāo)志辟劲,在運行中不斷循環(huán)測試以保證系統(tǒng)中信息存儲臣疑、傳輸、運算的高可*性帕胆。
上述介紹的幾種有關(guān)工控軟件的抗干擾編程方法是筆者在工作實踐中的體會朝捆。在設(shè)計工控軟件的過程中只要采取相應(yīng)的抗干擾措施,就可獲得較好的抗干擾效果懒豹。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)芙盘,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享,并不代表本站贊同其觀點和對其真實性負(fù)責(zé)脸秽,也不構(gòu)成任何其他建議儒老。本站部分作品是由網(wǎng)友自主投稿和發(fā)布、編輯整理上傳记餐,對此類作品本站僅提供交流平臺驮樊,不為其版權(quán)負(fù)責(zé)。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻片酝、圖片囚衔、文字如涉及作品版權(quán)問題,請第一時間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容练湿,以保證您的權(quán)益场时!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機床贩毕,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題