<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 工控軟件的抗干擾設計

工控軟件的抗干擾設計

——
作者:牛洪濤 時(shí)間:2006-04-30 來(lái)源:中國工控網(wǎng) 收藏
摘 要:本文闡述了工業(yè)現場(chǎng)環(huán)境中干擾的特點(diǎn),并詳細介紹了工控軟件抗干擾設計的方法。
  
  關(guān)鍵詞:工控軟件、抗干擾、可靠性
  
  The Anti-interference Design of Industrial Control Software
  
  People's Liberation Army Institute of Grand Force,Foundation
  Department,Niu HongTao
  
  Abstract: The characteristic of interference in industrial enviroment has been introduced in this paper.The method of industrial control software anti-interence design has also been discussed in detail.
  
  Keyword:industrial control software,anti-interference,reliability
  
   計算機系統在工業(yè)現場(chǎng)使用時(shí),大量的干擾源雖不能造成硬件系統的損壞,但常常使計算機系統不能正常運行,致使控制失靈,造成重大事故。計算機系統的抗干擾不可能完全依靠硬件解決,因此,軟件抗干擾問(wèn)題的研究愈來(lái)愈引起人們的重視。
  
  一、工控軟件的結構特點(diǎn)及干擾途徑
  
   在不同的系統中,工控軟件雖然完成的功能不同,但就其結構來(lái)說(shuō),一般具有如下特點(diǎn):
  
   實(shí)時(shí)性:系統中有些事件的發(fā)生具有隨機性,要求工控軟件能夠及時(shí)地處理隨機事件。
  
   周期性:工控軟件在完成系統的初始化工作后,隨之進(jìn)入主程序循環(huán)。在執行主程序過(guò)程中,如有中斷申請,則在執行完相應的中斷服務(wù)程序后,繼續主程序循環(huán)。
  
   相關(guān)性:工控軟件由多個(gè)任務(wù)模塊組成,各模塊配合工作,相互關(guān)聯(lián),相互依存。
  
   人為性:工控軟件允許操作人員干預系統的運行,調整系統的工作參數。在理想情況下,工控軟件可以正常執行。但在工業(yè)現場(chǎng)環(huán)境的干擾下,工控軟件的周期性、相關(guān)性及實(shí)時(shí)性受到破壞,程序無(wú)法正常執行,導致系統的失控,其表現是:
  
   程序計數器PC值發(fā)生變化,破壞了程序的正常運行。PC值被干擾后的數據是隨機的,因此引起程序執行混亂,在PC值的錯誤引導下,程序執行一系列毫無(wú)意義的指令,最后常常進(jìn)入一個(gè)毫無(wú)意義的“死循環(huán)”中,使系統失去控制。
  
   輸入/輸出接口狀態(tài)受到干擾,破壞了工控軟件的相關(guān)性和周期性,造成系統資源被某個(gè)任務(wù)模塊獨占,使系統發(fā)生“死鎖”。
  
   數據采集誤差加大。干擾侵入系統的前向通道,疊加在信號上,導致數據采集誤差加大。特別是當前向通道的傳感器接口是小電壓信號輸入時(shí),此現象更加嚴重。
  
   RAM數據區受到干擾發(fā)生變化。根據干擾竄入渠道、受干擾數據性質(zhì)的不同,系統受損壞的狀況不同,有的造成數值誤差,有的使控制失靈,有的改變程序狀態(tài),有的改變某些部件(如定時(shí)器/計數器、串行口等)的工作狀態(tài)等。筆者在研制電力遠程抄表系統時(shí)就曾遇到因現場(chǎng)強電磁干擾而造成RAM數據經(jīng)常性被破壞的情況。
  
   控制狀態(tài)失靈。在工業(yè)控制系統中,控制狀態(tài)的輸出常常是依據某些條件狀態(tài)的輸入和條件狀態(tài)的邏輯處理結果而定。在這些環(huán)節中,由于干擾的侵入,會(huì )造成條件狀態(tài)錯誤,致使輸出控制誤差加大,甚至控制失常。
  
  二、程序運行失常的軟件對策
  
   系統受到干擾侵害致使PC值改變,造成程序運行失常。對于程序運行失常的軟件對策主要是發(fā)現失常狀態(tài)后及時(shí)引導系統恢復原始狀態(tài)。
  
   1.設置監視跟蹤定時(shí)器
  
   使用定時(shí)中斷來(lái)監視程序運行狀態(tài)。定時(shí)器的定時(shí)時(shí)間稍大于主程序正常運行一個(gè)循環(huán)的時(shí)間,在主程序運行過(guò)程中執行一次定時(shí)器時(shí)間常數刷新操作。這樣,只要程序正常運行,定時(shí)器不會(huì )出現定時(shí)中斷。而當程序運行失常,不能及時(shí)刷新定時(shí)器時(shí)間常數而導致定時(shí)中斷,利用定時(shí)中斷服務(wù)程序將系統復位。在8031應用系統中作為軟件抗干擾的一個(gè)事例,具體做法是:
  
   使用8155的定時(shí)器所產(chǎn)生的“溢出”信號作為8031的外部中斷源INT1。用555定時(shí)器作為8155中定時(shí)器的外部時(shí)鐘輸入;
  
   8155定時(shí)器的定時(shí)值稍大于主程序的正常循環(huán)時(shí)間;
  
   在主程序中,每循環(huán)一次,對8155定時(shí)器的定時(shí)常數進(jìn)行刷新;
  
   在主控程序開(kāi)始處,對硬件復位還是定時(shí)中斷產(chǎn)生的自動(dòng)恢復進(jìn)行分類(lèi)判斷處理。
  
   2.設置軟件陷井
  
   當PC失控,造成程序“亂飛”而不斷進(jìn)入非程序區,只要在非程序區設置攔截措施,使程序進(jìn)入陷井,然后強迫使程序進(jìn)入初始狀態(tài)。例如Z80指令系統中數據FFH正好對應為重新起動(dòng)指令RST 56,該指令使程序自動(dòng)轉入0038H入口地址。因此,在Z80 CPU構成的應用系統中,只要將所有非程序區全部置成FFH用以攔截失控程序。并在0038H處設置轉移指令,使程序轉至抗干擾處理程序。
  
   三、系統“死鎖”的軟件對策
  
   在工業(yè)控制系統中,A/D、D/A,顯示等輸入/輸出接口電路是必不可少的。這些接口與CPU之間采用查詢(xún)或中斷方式工作,而這些設備或接口對干擾很敏感,干擾信號一旦破壞了某一接口的狀態(tài)字后,就會(huì )導致CPU誤認為該接口有輸入/輸出請求而停止現行工作,轉去執行相應的輸入/輸出服務(wù)程序。但由于該接口本身并沒(méi)有輸入/輸出數據,從而使CPU資源被該服務(wù)程序長(cháng)期占用,而不釋放,其它任務(wù)程序無(wú)法執行,使整個(gè)系統出現“死鎖”。對這種干擾造成的“死鎖”問(wèn)題,在軟件編程中,可采用“時(shí)間片”的方法來(lái)解決。其具體步驟為:
  
   根據不同的輸入/輸出外設對時(shí)間的要求,分配相應的最大正常的輸入/輸出時(shí)間。
  
   在每一輸入/輸出的任務(wù)模塊中,加入相應的超時(shí)判斷程序。這樣當干擾破壞了接口的狀態(tài)造成CPU誤操作后,由于該外設準備好信息長(cháng)期無(wú)效,經(jīng)一定時(shí)間后,系統會(huì )從該外設的服務(wù)程序中自動(dòng)返回,保證整個(gè)軟件的周期性不受影響,從而避免“死鎖”情況的發(fā)生。
  
   四、數據采集誤差的軟件對策
  
   根據數據受干擾性質(zhì)及干擾后果的不同,采取的軟件對策各不相同,沒(méi)有固定的模式。對于實(shí)時(shí)數據采集系統,為了消除傳感器通道中的干擾信號,在硬件措施上常采取有源或無(wú)源RLC網(wǎng)絡(luò ),構成模擬濾波器對信號實(shí)現頻率濾波。同樣,運用CPU的運算、控制功能也可以實(shí)現頻率濾波,完成模擬濾波器類(lèi)似的功能,這就是數字濾波。在許多數字信號處理專(zhuān)著(zhù)中都有專(zhuān)門(mén)論述,可以參考。隨著(zhù)計算機運算速度的提高,數字濾波在實(shí)時(shí)數據采集系統中的應用將愈來(lái)愈廣。在一般數據采集系統中,可以采用一些簡(jiǎn)單的數值、邏輯運算處理來(lái)達到濾波的效果。下面介紹幾種常用的方法。
  
   1.算術(shù)平均值法
  
   對于一點(diǎn)數據連續采樣多次,計算其算術(shù)平均值,以其平均值作為該點(diǎn)采樣結果。這種方法可以減少系統的隨機干擾對采集結果的影響。一般3~5次平均即可。
  
   2.比較取舍法
  
   當控制系統測量結果的個(gè)別數據存在偏差時(shí),為了剔除個(gè)別錯誤數據,可采用比較取舍法,即對每個(gè)采樣點(diǎn)連續采樣幾次,根據所采數據的變化規律,確定取舍,從而剔除偏差數據。例如,“采三取二”即對每個(gè)采樣點(diǎn)連續采樣三次,取兩次相同的數據為采樣結果。
  
   3.中值法
  
   根據干擾造成采樣數據偏大或偏小的情況,對一個(gè)采樣點(diǎn)連續采集多個(gè)信號,并對這些采樣值進(jìn)行比較,取中值作為該點(diǎn)的采樣結果。
  
   4.一階遞推數字濾波法
  
   這種方法是利用軟件完成RC低通濾波器的算法,實(shí)現用軟件方法代替硬件RC濾波器。一階遞推數字濾波公式為Yn=QXn+(1-Q)Yn-1式中Q -數字濾波器時(shí)間常數;Xn-第n次采樣時(shí)的濾波器輸入;Yn-第n次采樣時(shí)的濾波器輸出。采用軟件濾波器對消除數據采集中的誤差可以獲得滿(mǎn)意的效果。但應注意,選取何種方法應根據信號的變化規律選擇。
  
   五、RAM數據出錯的軟件對策
  
   在實(shí)時(shí)控制過(guò)程中,干擾造成比較嚴重的危害之一就是沖毀RAM中的數據,由于RAM中保存的是各種原始數據、標志、變量等,如果被破壞,會(huì )造成系統出錯或無(wú)法運行,根據數據被沖毀的程度,一般可分為三類(lèi):
  
   * 整個(gè)RAM數據被沖毀;
  
   * RAM中某片數據被沖毀;
  
   * 個(gè)別數據被沖毀。
  
   在工業(yè)控制系統中,RAM的大部分內容是為了進(jìn)行分析、比較而臨時(shí)存放的,不允許丟失的數據只占極少部分。在這種情況下,除了這些不允許丟失的數據外,其余大部分內容允許短時(shí)間被破壞,最多只引起系統的一個(gè)很短時(shí)間的波動(dòng),很快能自動(dòng)恢復正常。因此,在工控軟件中,只要注意對少數不允許丟失的數據保護,一般常用的方法有“校驗法”和“設標法”。這兩種方法各有千秋,校驗法比較繁鎖,但查錯的可信度高。設標法簡(jiǎn)單,但對數據表中個(gè)別數據沖毀的情況,查錯則無(wú)難為力。在編程中一般應綜合使用,其具體做法為:
  
   * 將RAM工作區重要區域的始端和尾端各設置一個(gè)標志碼“0” 或“1”;
  
   * 對RAM中固定不變的數據表格設置校驗字。
  
   在程序的執行過(guò)程中,每隔一定的時(shí)間通過(guò)事先設計的查錯程序來(lái)檢查其各標志碼是否正常,如果不正常,則利用數據冗余技術(shù)通過(guò)抗干擾處理程序來(lái)進(jìn)行修正;冗余數據表的一般設計原則是:
  
   * 各數據表應相互遠離分散設置,減少冗余數據同時(shí)被沖毀的概率。
  
   * 數據表應盡可能遠離棧區,減少由于操作錯誤造堆棧被成數據沖的可能。
  
   上述對RAM區域的恢復處理方法,在不同的應用系統中應根據的具體情況進(jìn)行取舍。
  
   六、控制狀態(tài)失常的軟件對策
  
   在條件控制系統中,人們關(guān)注的問(wèn)題是能否確保正常的控制狀態(tài)。如果干擾進(jìn)入系統,會(huì )影響各種控制條件、造成控制輸出失誤。為了確保系統安全可以采取下述軟件抗干擾措施:
  
   1.軟件冗余
  
   對于條件控制系統,將控制條件的一次采樣、處理控制輸出,改為循環(huán)采樣、處理控制輸出。這種方法具有良好的抗偶然因素干擾作用。
  
   2.設置當前輸出狀態(tài)寄存單元
  
   當干擾侵入輸出通道造成輸出狀態(tài)破壞時(shí),系統可以及時(shí)查詢(xún)當前輸出狀態(tài)寄存單元的輸出狀態(tài)信息,及時(shí)糾正錯誤的輸出狀態(tài)。
  
   3.設置自檢程序
  
   在計算機系統內的特定部位或某些內存單元設狀態(tài)標志,在運行中不斷循環(huán)測試,以保證系統中信息存儲、傳輸、運算的高可靠性。
  
   上述介紹的幾種有關(guān)工控軟件的抗干擾編程方法是筆者在工作實(shí)踐中的體會(huì )。在設計工控軟件的過(guò)程中只要采取相應的抗干擾措施,就可獲得較好的抗干擾效果。如果結合各種硬件抗干擾措施一起使用,將會(huì )大大提高系統的可靠性。
  
  參考文獻
  1.豬獺博(日),計算機系統的高可靠性技術(shù),國防工業(yè)出版社,1995年
  2.周明德,微型計算機硬件軟件及其應用,清華大學(xué)出版社,1988年
  



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>