日韩成人午夜视频_色碰av_人妻熟女一二三区夜夜爱_小sao货大ji巴cao死你h_aa爱做片免费_日本在线高清不卡

  • 咨詢熱線
    400-873-0636

工控一體機軟件實現抗干擾的方法有哪些?

隨著國內電子信息的不斷發展,以及制造業生產水平的不斷推進,電子設備種類越來越豐富,電子設備運行的環境因為干擾問題變得越來越惡劣,各行各行的設備研發生產都面臨著同一個挑戰:抗干擾。
   產業控制計算機(工控一體機)在這樣的環境里也面臨著同樣的考驗??梢哉f我們研制的產業控制系統能否正常運行,并且產生出應有的經濟效益,其抗干擾能力是一個關鍵的因素。因此,除了整個系統的結構和每個具體的工控一體機都需要仔細設計硬件抗干擾措施之外,還需要注重軟件抗干擾措施的應用。我們在多年的產業控制研究中,深感產業現場意外因素太多并且危害很大。有時一個偶然的人為或非人為干擾,例如并不很強烈的雷擊,就使得我們自以為無懈可擊的硬件抗干擾措施無能為力,工控一體機死機了(即程序跑飛了)或者控制出錯了(此時CPU內部寄存器內容被修改或者RAM和I/O口數據被修改)。這在某些重要的產業環節上將造成巨大的事故。使用軟件抗干擾措施就可以在一定程度上避免和減輕這些意外事故的后果。軟件抗干擾技術就是利用軟件運行過程中對自己進行自監視,和工控網絡中各機器間的互監視,來監視和判定工控一體機是否出錯或失效的一個方法。這是工控系統抗干擾的后一道屏障。 
工控一體機軟件實現抗干擾的方法有哪些?       
1 工控軟件的結構特點及干擾途徑 
    在不同的產業控制系統中,工控軟件固然完成的功能不同,但就其結構來說,一般 具有如下特點: 
    * 實時性:產業控制系統中有些事件的發生具有隨機性,要求工控軟件能夠及時地 處理隨機事件。 
    * 周期性:工控軟件在完成系統的初始化工作后,隨之進進主程序循環。在執行主 程序過程中,如有中斷申請,則在執行完相應的中斷服務程序后,繼續主程序循 環。 
    * 相關性:工控軟件由多個任務模塊組成,各模塊配合工作,相互關聯,相互依 存。
    * 人為性:工控軟件答應操縱職員干預系統的運行,調整系統的工作參數。 在理想情況下,工控軟件可以正常執行。但在產業現場環境的干擾下,工控軟件的 周期性、相關性及實時性受到破壞,程序無法正常執行,導致產業控制系統的失 控,其表現是: 
    * 程序計數器PC值發生變化,破壞了程序的正常運行。PC值被干擾后的數據是隨機 的,因此引起程序執行混亂,在PC值的錯誤引導下,程序執行一系列毫無意義的指 令,后經常進進一個毫無意義的“死循環”中,使系統失往控制。  
    * 輸進/輸出接口狀態受到干擾,破壞了工控軟件的相關性和周期性,造成系統資源 被某個任務模塊獨占,使系統發生“死鎖”。 
    * 數據采集誤差加大。干擾侵進系統的前向通道,疊加在信號上,導致數據采集誤 差加大。特別是當前向通道的傳感器接口是小電壓信號輸進時,此現象更加嚴重。 
    * RAM數據區受到干擾發生變化。根據干擾竄進渠道、受干擾數據性質的不同,系統 受損壞的狀況不同,有的造成數值誤差,有的使控制失靈,有的改變程序狀態,有 的改變某些部件(如定時器/計數器、串行口等)的工作狀態等。 
    * 控制狀態失靈。在產業控制系統中,控制狀態的輸出經常是依據某些條件狀態的 輸進和條件狀態的邏輯處理結果而定。在這些環節中,由于干擾的侵進,會造成條 件狀態錯誤,致使輸出控制誤差加大,甚至控制變態。
        2 工控計算機實時控制軟件運行過程中的自監視法 
    自監視法是產業控制計算機自己對自己的運行狀態的監視。  
    一般的工控一體機CPU內部具有Watchdog Timer,使用定時中斷來監視程序運行狀態。定時器的定時時間稍大于主程序正常運行一個 循環的時間,在主程序運行過程中執行一次定時器時間常數刷新操縱。這樣,只要 程序正常運行,定時器不會出現定時中斷。而當程序運行變態,不能及時刷新定時 器時間常數而導致定時中斷,利用定時中斷服務程序將系統復位。在8031應用系統 中作為軟件抗干擾的一個事例,具體做法是: 
    * 使用8155的定時器所產生的“溢出”信號作為8031的外部中斷源INT1。用555定時 器作為8155中定時器的外部時鐘輸進; 
    * 8155定時器的定時值稍大于主程序的正常循環時間; 
    * 在主程序中,每循環一次,對8155定時器的定時常數進行刷新; 
    * 在主控程序開始處,對硬件復位還是定時中斷產生的自動恢復進行分類判定處 理。 
    然而,這并不即是萬無一失。例如,① Watchdog電路本身失效;②設置Watchdog的指令正好在取指令時被干擾而讀錯;③ Watchdog“發現”程序跑飛之后,其產生的復位脈沖或者NMI申請信號正好被干擾而沒奏效等等。固然以上的導致Watchdog失效的因素的幾率很小,但總是存在的。另一個方面,還有相當數目的產業控制計算機沒有Watchdog電路。因此,以下重點討論的軟件自監視法就勢在必行了。 
             2.1 隨時監視檢查程序計數器PC的值是否超出程序區
    計算機正常運行,其PC值一定在程序區內。假如PC值跑出程序區,計算機肯定已發生了程序跑飛。檢查程序計數器PC值是否在程序區內的方法,是在一個經常要產生外部中斷的某個中斷服務程序中,讀取轉進該中斷時壓進堆棧的斷點地址。假如該地址在程序區內,則以為PC值正常,否則一定是程序跑飛了。此時,程序跳轉到機器的重啟動進口或者復位進口,機器重新啟動。于是機器又自救活了。假如沒有一個這樣合適的中斷源,可以專門設置一個定時中斷或者幾個定時中斷,在中斷服務程序中檢查PC值是否正當,一旦發現不對就立即轉進機器的重啟動進口。定時器中斷的時間常數,可視機器的繁忙程度和重要性設定,一般從幾個毫秒到幾十毫秒都可以。 
    這個方法的局限性是不能查出PC值在程序區內的亂跳,即此時PC值雖受干擾卻并沒有超出程序區,而是錯位亂拼指令而構成一些莫名其妙的操縱,或者死循環。
             2.2 主循環程序和中斷服務程序相互監視  
    每個工控一體機的主循環程序和中斷服務程序都有一定的運行規律可循。因此可以設計出主循環程序與各中斷服務程序、各中斷服務程序之間的相互監視。每個監視對要定義一個RAM單元,依靠對其計數/清零的方法表達相互監視信息。例如,某工控一體機的主循環程序循環一次長時間為80 ms,它的一個定時中斷時間常數為10 ms,當我們安排該定時中斷監視主循環程序運行時,可以每次10 ms中斷對該RAM單元加1計數,而主循環程序每循環一次對該RAM單元清零。因此,正常運行時,這個監視計數RAM單元的計數值不可能≥9,假如10 ms定時中斷服務程序發現其計數值≥9,就知道主循環程序已經被干擾跑飛或出現死循環,于是就跳轉到機器的重啟動進口,重新恢復運行。使用這個方法,假如設計得當的話,是非常有效的。我們多年的經驗是:主循環程序被干擾跑飛可能性大,中斷服務程序越短小越不易跑飛。主循環程序和中斷服務程序以及中斷服務程序之間的相互監視,應當多設計幾個監視對會更好。
             2.3 隨時校驗程序代碼的正確性 
    產業控制計算機的實時控制程序代碼通常都采用EPROM固化運行,一般不易發生被改寫的情況。但成年累月運行,我們有時也會發現個別的單元出錯。其原因可能是芯片質量題目或者因靜電、雷擊干擾等造成的改寫。程序出錯了,將直接造成運行錯誤或者無法運行。校驗的方式可以采用累加和校驗或者BCH校驗(一種CRC校驗方法)。當采用BCH校驗時,其分組附加的冗余字節可以集中在程序區之外的某個EPROM區域里。校驗方法是在某個短小而且經常發生的中斷服務程序內安排一個校驗模塊,可以設計成每次循環校驗一部分程序代碼,分若干次校驗完成;或者當代碼少,任務輕松時也可以一次校驗完。假如發現校驗錯,應當立即向工控網絡主站報告或者以自身報警的辦法告知操縱職員,以便及時處理。這個方法的局限性是被損壞的程序代碼不是校驗程序塊,而且以該中斷還可以正常響應為條件。由于該中斷服務程序短小,通常還是有很大的概率自監視程序代碼的正確性。 
             2.4 隨時校驗RAM的正確性 
    在實時控制過程中,干擾造成比較嚴重的危害之一就是沖垮RAM中的數據,由于RAM中保存的是各種原始數據、標志、變量等,假如被破壞,會造成系統出錯或無法運行,根據數據被沖垮的程度,一般可分為三類:
    * 整個RAM數據被沖垮;
    * RAM中某片數據被沖垮;
    * 個別數據被沖垮。因此需要經常監視RAM的正確性。在產業控制系統中,RAM的大部分內容是為了進行分析、比較而臨時存放的,不答應丟失的數據只占少部分。在這種情況下,除了這些不答應丟失的數據外,其余大部分內容答應短時間被破壞,多只引起系統的一個很短時間的波動,很快能自動恢復正常。因此,在工控軟件中,只要留意對少數不答應丟失的數據保護,一般常用的方法有“校驗法” 和“設標法”。這兩種方法各有千秋,校驗法比較繁鎖,但查錯的可信度高。設標法簡單,但對數據表中個別數據沖垮的情況,查錯則無難為力。在編程中一般應綜合使用,其具體做法為: 
    * 將RAM工作區重要區域的始端和尾端各設置一個標志碼“0” 或“1”;
    * 對RAM中固定不變的數據表格設置校驗字。在程序的執行過程中,每隔一定的時間通過事先設計的查錯程序來檢查其各標志碼是否正常,假如不正常,則利用數據冗余技術通過抗干擾處理程序來進行修正;冗余數據表的一般設計原則是:
    * 各數據表應相互闊別分散設置,減少冗余數據同時被沖垮的概率。
    * 數據表應盡可能闊別棧區,減少由于操縱錯誤造堆棧被成數據沖的可能 。上述對RAM區域的恢復處理方法,在不同的應用系統中應根據的具體情況進行取舍
        3 實時控制系統的互監視法 
    在實時控制系統中,人們關注的題目是能否確保正常的控制狀態。假如干擾進進系統,會影響各種控制條件、造成控制輸出失誤。為了確保系統安全可以采取下述軟件抗干擾措施:
    3.1.軟件冗余對于條件控制系統,將控制條件的一次采樣、處理控制輸出,改為循環采樣、處理控制輸出。這種方法具有良好的抗偶然因素干擾作用。 
    3.2.設置當前輸出狀態寄存單元當干擾侵進輸出通道造成輸出狀態破壞時,系統可以及時查詢當前輸出狀態寄存單元的輸出狀態信息,及時糾正錯誤的輸出狀態。
    3.3.設置自檢程序在計算機系統內的特定部位或某些內存單元設狀態標志,在運行中不斷循環測試,以保證系統中信息存儲、傳輸、運算的高可靠性。
        4 其它常采用的軟件抗干擾方法
    4.1 陷井法 
    有時意想不到的干擾,破壞了中斷和所有程序的正常運行。此時PC值可能在程序區內,也可能在程序區之外,要使其能夠自恢復正常運行,只有依靠于廣布“陷井”的盡招了。 這里所謂的“陷井”,是指某些類型的CPU提供給用戶使用的軟中斷指令或者復位指令。例如,Z80指令RST 38H,其機器碼為FFH。CPU執行該指令時,則將當前程序計數器PC的值壓進堆棧,然后轉到0038H地址執行程序。假如把0038H作為一個重啟動進口,則機器就可以恢復新的工作了。再例如,INTEL8098、80198系列的復位指令RST,機器碼也為FFH。CPU執行該指令時,其內部進行復位操縱,然后從2080H開始執行程序。當然,80198系列還有更多的非法操縱碼可作為陷井指令使用,這時只需要在2012H的一個字的中斷矢量單元里安排中斷進口,并且編制一個處理非法操縱碼的中斷服務程序,一遇非法操縱碼就能進行故障處理。作者多年的經驗表明,陷井不但需要在ROM的全部非內容區、RAM的全部非數據區設置,而且在程序區內的模塊之間廣泛布置。一旦機器程序跑飛,總會碰上陷井,立即就可以救活機器了。 
             4.2 重復功能設定法 
    工控一體機的很多功能的設定,通常都是在主程序開始時的初始化程序里設定的,以后再也不往設定了。這在正常情況下本無題目。但偶然的干擾會改變CPU內部的這些寄存器或者接口芯片的功能寄存器,例如,把中斷的類型、中斷的優先級別、串行口、并行口的設定修改了,機器的運行肯定會出錯,因此,只要重復設定功能操縱不影響其當前連續工作的性能,都應當納進主程序的循環圈里。每個循環就可以刷新一次設定,避免了偶然不測發生。對于那些重復設定功能操縱會影響當前連續工作性能的,要盡量想法找機會重新設定。例如串行口,假如接收完某幀信息或者發送完某幀信息之后,串口會有一個短暫的空閑時,就應作出判定并且安排重新設定一次的操縱。
             4.3 重要數據備份法 
    工控一體機中的一些關鍵數據,應當有至少有兩個以上的備份副本,當操縱這些數據時,可以把主、副本進行比較,如其改變,就要分析原因,采取預先設計好的方法處理。還可以把重要數據采用校驗和或者分組BCH校驗的方法進行校驗。這兩種方法一并使用則更可靠。 
             4.4 系統“死鎖”的軟件對策 
    在產業控制系統中,A/D、D/A,顯示等輸進/輸出接口電路是必不可少的。這些接口 與CPU之間采用查詢或中斷方式工作,而這些設備或接口對干擾很敏感,干擾信號一 旦破壞了某一接口的狀態字后,就會導致CPU誤以為該接口有輸進/輸出請求而停止 現行工作,轉往執行相應的輸進/輸出服務程序。但由于該接口本身并沒有輸進/輸 出數據,從而使CPU資源被該服務程序長期占用,而不開釋,其它任務程序無法執 行,使整個系統出現“死鎖”。對這種干擾造成的“死鎖”題目,在軟件編程中, 可采用“時間片”的方法來解決。其具體步驟為: 
    * 根據不同的輸進/輸出外設對時間的要求,分配相應的大正常的輸進/輸出時 間。 
    * 在每一輸進/輸出的任務模塊中,加進相應的超時判定程序。這樣當干擾破壞了接 口的狀態造成CPU誤操縱后,由于該外設預備好信息長期無效,經一定時間后,系統 會從該外設的服務程序中自動返回,保證整個軟件的周期性不受影響,從而避免 “死鎖”情況的發生。 
             4.5 數據采集誤差的軟件對策根據數據受干擾性質及干擾后果的不同,采取的軟件對策各不相同,沒有固定的模式。對于實時數據采集系統,為了消除傳感器通道中的干擾信號,在硬件措施上常采取有源或無源RLC網絡,構成模擬濾波器對信號實現頻率濾波。同樣,運用CPU的運算、控制功能也可以實現頻率濾波,完成模擬濾波器類似的功能,這就是數字濾波。在很多數字信號處理專著中都有專門論述,可以參考。隨著計算機運算速度的進步,數字濾波在實時數據采集系統中的應用將愈來愈廣。在一般數據采集系統中,可以采用一些簡單的數值、邏輯運算處理來達到濾波的效果。用的方法有算術均勻值法、比較取舍法、中值法、一階遞推數字濾波法等。具體見本版的有關文章。
        5 結束語 
    軟件抗干擾的內容還有很多,例如,檢丈量的數字濾波、壞值剔除;人工控制指令的正當性和輸進設定值的正當性判別等等,這些都是一個完善的產業控制系統必不可少的。
黎經理
趙經理
湯經理
黎經理
趙經理
湯經理
我們將24小時內回復。
取消
主站蜘蛛池模板: 国产精品免费成人 | 全网国产福利在线播放 | 国产真实夫妇对白视频 | a级三四级黄大片 | 日韩欧美综合一区 | 性熟妇XIDEOS另类HD | 国产老熟女ASS | 日本一区二区三区久久久久久久久不 | 久久久人成影片一区二区三区 | 日韩欧美激情兽交 | 免费的性视频越黄越好 | 人妻有码av中文字幕久久琪 | 午夜爽爽爽男女免费观看hd | A毛片毛片看免费 | 日本视频免 | 国产精品mm| 日本不卡在线视频 | 男人到天堂在线A无码 | 55夜色66夜色国产精品视频 | 草草国产 | 人人干人人澡 | 麻豆精品传媒一二三区 | 国产精品视频十区 | 亚洲高清一区二区三区免费 | 97色伦欧美一区二区日韩 | x8x8女性性爽爽在线观看 | 久久综合久久网 | 国产自产一二三区 | 国产一区二区三精品久久久无广告 | 久久久aa裸体视频 | 国产精品久久久久永久免费看 | 欧美黄色试片 | 成人在线国产 | 在线高清毛片免费播放网站 | 毛片黄视频 | 91在线免费观看视频网站 | 亚?成人1区 | 美国一级黄色录像 | 精精国产xxxx视频第一次 | 91国内视频在线观看 | 日韩在线一二三区 |