摘要:軟件抗干擾措施是硬件抗干擾措施的一個補充和延伸,運用得法可以顯著提高工控系統的可靠性和智能,并且在一定程度上避免和減輕意外事故的發生。本文提出了實時控制軟件的自監視法、互監視法和常用方法等等一系列軟件抗干擾技術。
關鍵詞:計算機;控制; 抗干擾;可靠性; 軟件
0 引言
工業現場各種動力設備在不斷地啟停運行。使得現場環境惡劣,電磁干擾嚴">

亚洲国产岛国毛片在线_美国十次了思思久久精品导航_亚洲人体影院_欧美精品亚洲精品

技術頻道

工控計算機軟件抗干擾分析

摘要:軟件抗干擾措施是硬件抗干擾措施的一個補充和延伸,運用得法可以顯著提高工控系統的可靠性和智能,并且在一定程度上避免和減輕意外事故的發生。本文提出了實時控制軟件的自監視法、互監視法和常用方法等等一系列軟件抗干擾技術。
關鍵詞:計算機;控制; 抗干擾;可靠性; 軟件
0 引言
工業現場各種動力設備在不斷地啟停運行。使得現場環境惡劣,電磁干擾嚴重。工業控制計算機在這樣的環境里面臨著巨大的考驗??梢哉f我們研制的工業控制系統能否正常運行,并且產生出應有的經濟效益,其抗干擾能力是一個關鍵的因素。因此,除了整個系統的結構和每個具體的工控機都需要仔細設計硬件抗干擾措施之外,還需要注重軟件抗干擾措施的應用。我們在多年的工業控制研究中,深感工業現場意外因素太多并且危害很大。有時一個偶然的人為或非人為干擾,例如并不很強烈的雷擊,就使得我們自認為無懈可擊的硬件抗干擾措施無能為力,工控機死機了(即程序跑飛了)或者控制出錯了(此時CPU內部寄存器內容被修改或者RAM和I/O口數據被修改)。這在某些重要的工業環節上將造成巨大的事故。使用軟件抗干擾措施就可以在一定程度上避免和減輕這些意外事故的后果。軟件抗干擾技術就是利用軟件運行過程中對自己進行自監視,和工控網絡中各機器間的互監視,來監督和判斷工控機是否出錯或失效的一個方法。這是工控系統抗干擾的最后一道屏障。
1 工控計算機實時控制軟件運行過程中的自監視法
自監視法是工業控制計算機自己對自己的運行狀態的監視。
某些類型的工控機CPU內部具有Watchdog Timer,例如INTEL8098、80198系列,就可以方便的通過設定Watchdog工作方式以及采用合適的軟件編程的配合來達到自監視目的。而沒有Watchdog Timer的CPU,例如Z80、8051系列等,當然也可以通過外加Watchdog電路,再配以軟件完成自監視目的。這種軟硬結合的自監視法通常是很有效的,可以大幅度提高工控機的抗干擾能力。如果Watchdog電路設計得好,并且軟件也編制得好的話,不但可以及時發現程序跑飛,而且還可以實現“跑飛”程序修復。這是最好的自監視手段。
然而,這并不等于萬無一失。例如,① Watchdog電路本身失效;②設置Watchdog的指令正好在取指令時被干擾而讀錯;③ Watchdog“發現”程序跑飛之后,其產生的復位脈沖或者NMI申請信號正好被干擾而沒奏效等等。雖然以上的導致Watchdog失效的因素的幾率很小,但總是存在的。另一個方面,還有相當數量的工業控制計算機沒有Watchdog電路。因此,以下重點討論的軟件自監視法就勢在必行了。
1.1 隨時監督檢查程序計數器PC的值是否超出程序區
計算機正常運行,其PC值一定在程序區內。如果PC值跑出程序區,計算機肯定已發生了程序跑飛。檢查程序計數器PC值是否在程序區內的方法,是在一個經常要產生外部中斷的某個中斷服務程序中,讀取轉入該中斷時壓入堆棧的斷點地址。如果該地址在程序區內,則認為PC值正常,否則一定是程序跑飛了。此時,程序跳轉到機器的重啟動入口或者復位入口,機器重新啟動。于是機器又自救活了。如果沒有一個這樣合適的中斷源,可以專門設置一個定時中斷或者幾個定時中斷,在中斷服務程序中檢查PC值是否合法,一旦發現不對就立即轉入機器的重啟動入口。定時器中斷的時間常數,可視機器的繁忙程度和重要性設定,一般從幾個毫秒到幾十毫秒都可以。
這個方法的局限性是不能查出PC值在程序區內的亂跳,即此時PC值雖受干擾卻并沒有超出程序區,而是錯位亂拼指令而構成一些莫名其妙的操作,或者死循環。
1.2 主循環程序和中斷服務程序相互監視
每個工控機的主循環程序和中斷服務程序都有一定的運行規律可循。因此可以設計出主循環程序與各中斷服務程序、各中斷服務程序之間的相互監視。每個監視對要定義一個RAM單元,依靠對其計數/清零的方法表達相互監視信息。例如,某工控機的主循環程序循環一次最長時間為80 ms,它的一個定時中斷時間常數為10 ms,當我們安排該定時中斷監視主循環程序運行時,可以每次10 ms中斷對該RAM單元加1計數,而主循環程序每循環一次對該RAM單元清零。因此,正常運行時,這個監視計數RAM單元的計數值不可能≥9,如果10 ms定時中斷服務程序發現其計數值≥9,就知道主循環程序已經被干擾跑飛或出現死循環,于是就跳轉到機器的重啟動入口,重新恢復運行。使用這個方法,如果設計得當的話,是非常有效的。我們多年的經驗是:主循環程序被干擾跑飛可能性最大,中斷服務程序越短小越不易跑飛。主循環程序和中斷服務程序以及中斷服務程序之間的相互監視,應當多設計幾個監視對會更好。
1.3 隨時校驗程序代碼的正確性
工業控制計算機的實時控制程序代碼通常都采用EPROM固化運行,一般不易發生被改寫的情況。但成年累月運行,我們有時也會發現極個別的單元出錯。其原因可能是芯片質量問題或者因靜電、雷擊干擾等造成的改寫。程序出錯了,將直接造成運行錯誤或者無法運行。校驗的方式可以采用累加和校驗或者BCH校驗(一種CRC校驗方法)。當采用BCH校驗時,其分組附加的冗余字節可以集中在程序區之外的某個EPROM區域里。校驗方法是在某個短小而且經常發生的中斷服務程序內安排一個校驗模塊,可以設計成每次循環校驗一部分程序代碼,分若干次校驗完成;或者當代碼少,任務輕松時也可以一次校驗完。如果發現校驗錯,應當立即向工控網絡主站報告或者以自身報警的辦法告知操作人員,以便及時處理。這個方法的局限性是被損壞的程序代碼不是校驗程序塊,而且以該中斷還可以正常響應為前提。由于該中斷服務程序短小,通常還是有很大的概率自監視程序代碼的正確性。
1.4 隨時校驗RAM的正確性
RAM成年累月運行,其質量因素和接插件接觸因素都將導致其故障。這也將使控制系統發生錯誤。因此需要經常監視RAM的正確性。監視的辦法可以安排在主循環程序,也可以安排在某個經常要發生的中斷服務程序里。分幾次或者全部一次對RAM進行檢查。檢查的方法是先把被檢查的RAM單元的內容讀出,存放在某個通用寄存器里,然后對該單元寫入一個特定碼,再讀出比較,如果不正確就說明該單元可能損壞,此時要及時報告工控網絡主站或者自身報警,提醒操作人員處理。這個寫入的特定碼常用的是55H-AAH法,即寫入55H,再讀出比較,如果正確,再寫入AAH,再讀出比較,該組碼對每bit都有“0”、“1”寫入讀出檢驗,如果不正確時,最好再驗證兩次才肯定校驗結果。不管該單元是否有錯,校驗之后都應還回它的原始數據,再報警或往下操作。使用這個方法要注意處理好各個中斷源的級別關系!
2 實時控制系統的互監視法
一個分布式工控網絡或者重要環節的雙機熱備份運行,都可以構成軟件抗干擾的互監視法。主從式的工控網,主站和從站可以相互監視運行狀況,環形網的相鄰站或者全部站也都可以相互監視運行狀況,雙機熱備份運行的兩工控機,更應該相互監視。對于網絡型的各站間的相互監視,主要是定時互相詢問和按要求回答,如果沒有按要求回答,則表示該站可能出問題(當然也可能是網絡通信出問題),操作人員應及時前往處理。最簡單的詢問和回答碼的設計是詢問方發出一組數字,回答方經過某種簡單運算,例如求反,再發回詢問方。這種相互監視法可檢驗被詢站是否死機以及校驗通信網絡完好與否。而重要環節的雙機熱備份運行的相互監視則可做得很深入,除了這種詢問回答方式之外,還應做到控制量是否正常的相互監視,發現問題應當及時報警,通知值班人員處理。
3 其它常采用的軟件抗干擾方法
3.1 廣布陷井法
以上論述的自監視法和互監視法都是建立在工控機能正確運行全部或部分程序的基礎上的。有時一個意想不到的干擾,破壞了中斷和所有程序的正常運行。此時PC值可能在程序區內,也可能在程序區之外,要使其能夠自恢復正常運行,只有依賴于廣布“陷井”的絕招了。
這里所謂的“陷井”,是指某些類型的CPU提供給用戶使用的軟中斷指令或者復位指令。例如,Z80指令RST 38H,其機器碼為FFH。CPU執行該指令時,則將當前程序計數器PC的值壓入堆棧,然后轉到0038H地址執行程序。如果把0038H作為一個重啟動入口,則機器就可以恢復新的工作了。再例如,INTEL8098、80198系列的復位指令RST,機器碼也為FFH。CPU執行該指令時,其內部進行復位操作,然后從2080H開始執行程序。當然,80198系列還有更多的非法操作碼可作為陷井指令使用,這時只需要在2012H的一個字的中斷矢量單元里安排中斷入口,并且編制一個處理非法操作碼的中斷服務程序,一遇非法操作碼就能進行故障處理。作者多年的經驗表明,陷井不但需要在ROM的全部非內容區、RAM的全部非數據區設置,而且在程序區內的模塊之間廣泛布置。一旦機器程序跑飛,總會碰上陷井,立即就可以振救活機器了。
3.2 重復功能設定法
工控機的很多功能的設定,通常都是在主程序開始時的初始化程序里設定的,以后再也不去設定了。這在正常情況下本無問題。但偶然的干擾會改變CPU內部的這些寄存器或者接口芯片的功能寄存器,例如,把中斷的類型、中斷的優先級別、串行口、并行口的設定修改了,機器的運行肯定會出錯,因此,只要重復設定功能操作不影響其當前連續工作的性能,都應當納入主程序的循環圈里。每個循環就可以刷新一次設定,避免了偶然不測發生。對于那些重復設定功能操作會影響當前連續工作性能的,要盡量想法找機會重新設定。例如串行口,如果接收完某幀信息或者發送完某幀信息之后,串口會有一個短暫的空閑時,就應作出判斷并且安排重新設定一次的操作。
3.3 重要數據備份法
工控機中的一些關鍵數據,應當有至少有兩個以上的備份副本,當操作這些數據時,可以把主、副本進行比較,如其改變,就要分析原因,采取預先設計好的方法處理。還可以把重要數據采用校驗和或者分組BCH校驗的方法進行校驗。這兩種方法一并使用則更可靠。
4 結束語
軟件抗干擾的內容還有很多,例如,檢測量的數字濾波、壞值剔除;人工控制指令的合法性和輸入設定值的合法性判別等等,這些都是一個完善的工業控制系統必不可少的。
工業控制是計算機的最重要的應用領域,也是計算機的最艱難的應用環境。我從多年來的研究經驗認為:工業控制計算機的抗干擾性能根本在硬件結構,軟件抗干擾只是一個補充。硬件的設計應當盡可能的完善,不能輕易降低標準,讓軟件去補救!而軟件的編制則要處處考慮到硬件可能的失效,可能受到的干擾等種種問題,在保證實時性、控制精度和控制功能的前提下,盡力提高系統的抗干擾性能。要考慮得很細致,努力賦予軟件高度的智能。這樣,軟件才是完美的。把硬件和軟件有機的結合起來,一個經得起長期現場考驗的盡可能完善的工業控制系統才能實現。

文章版權歸西部工控xbgk所有,未經許可不得轉載。

亚洲国产岛国毛片在线_美国十次了思思久久精品导航_亚洲人体影院_欧美精品亚洲精品
在线亚洲欧美视频| 亚洲国产美女精品久久久久∴| 久久亚洲图片| 欧美国产乱视频| 欧美性猛交xxxx乱大交蜜桃| 国产乱肥老妇国产一区二| 国内久久精品| 一区二区激情小说| 99综合视频| 久久亚洲国产精品一区二区| 在线播放豆国产99亚洲| 亚洲视频免费在线| 免费在线观看一区二区| 欧美国产精品日韩| 欧美一区二区三区在线免费观看| 欧美激情视频给我| 狠狠色丁香久久综合频道| 日韩视频不卡| 欧美1区免费| 欧美啪啪一区| 一区二区黄色| 久久夜色精品国产欧美乱| 一区二区三区四区精品| 欧美成人a视频| 今天的高清视频免费播放成人| 亚洲摸下面视频| 牛夜精品久久久久久久99黑人 | 性欧美超级视频| 亚洲精选视频免费看| 久热国产精品视频| 国产综合久久久久久| 亚洲激情女人| 欧美精品v日韩精品v国产精品| 午夜宅男欧美| 欧美第十八页| 久久午夜羞羞影院免费观看| 欧美系列电影免费观看| 欧美激情va永久在线播放| 久久综合九色欧美综合狠狠| 亚洲视频一区二区免费在线观看| 久久国产精品99国产| 狠狠色丁香婷婷综合| 亚洲午夜成aⅴ人片| 国产精品久久网| 欧美一区三区三区高中清蜜桃| 亚洲手机在线| 99亚洲伊人久久精品影院红桃| 一区二区久久久久久| 亚洲高清免费视频| 日韩亚洲欧美一区| 国产精品美女999| 亚洲久久成人| 99re在线精品| 亚洲午夜在线观看| 亚洲天堂网在线观看| 欧美精品在线播放| 亚洲黄色性网站| 在线播放不卡| 国产一区二区三区在线观看精品 | 久久九九精品99国产精品| 国产夜色精品一区二区av| 亚洲视频一区二区在线观看| 欧美午夜精品久久久久久孕妇| 亚洲激情在线| 亚洲精品乱码久久久久久久久| 亚洲免费观看高清在线观看 | 亚洲小说欧美另类婷婷| 亚洲欧美激情视频在线观看一区二区三区| 国产精品一二三| 久久伊伊香蕉| 亚洲高清123| 欧美成熟视频| 亚洲精选中文字幕| 亚洲一区二区日本| 国产精品视频网址| 亚洲女人小视频在线观看| 久久www成人_看片免费不卡| 欧美成人亚洲成人| 亚洲免费观看高清在线观看 | 欧美高清免费| 亚洲精品麻豆| 欧美日韩中字| 欧美激情精品久久久久久久变态 | 亚洲国产日韩一级| 一本久久精品一区二区| 国产精品狼人久久影院观看方式| 亚洲桃花岛网站| 久久精品一区二区| 99国产欧美久久久精品| 欧美激情一区二区久久久| 亚洲激情网站| 欧美一区二区三区久久精品| 久久综合九色综合欧美就去吻 | 欧美日韩国产精品成人| 久久亚洲二区| 99国产精品99久久久久久| 国产精品黄色在线观看| 亚洲激情六月丁香| 亚洲在线观看免费| 欧美日韩网站| 亚洲第一中文字幕| 影音先锋中文字幕一区二区| 欧美国产精品中文字幕| 午夜视频在线观看一区二区三区| 一区二区欧美日韩视频| 国产精品视频一区二区高潮| 久久一日本道色综合久久| 亚洲一区二区在线免费观看| 中文在线一区| 亚洲国产精品一区二区第一页| 欧美日韩一区二区在线| 久久亚洲图片| 午夜在线不卡| 日韩一级免费观看| 欧美韩日一区二区| 亚洲欧美在线x视频| 国产精品影片在线观看| 欧美国产日韩一二三区| 久久久精品国产免费观看同学| 99在线热播精品免费| 亚洲国产高清高潮精品美女| 久久国产精品久久精品国产| 日韩一本二本av| 亚洲黄色大片| 亚洲承认在线| 欧美国产亚洲另类动漫| 先锋影音一区二区三区| 亚洲一区二区少妇| 日韩一区二区精品视频| 亚洲欧洲在线一区| 欧美激情一区二区三区四区| 嫩草成人www欧美| 久久国产精品99国产| 亚洲第一视频网站| 最新国产乱人伦偷精品免费网站| 欧美丰满高潮xxxx喷水动漫| 麻豆成人91精品二区三区| 亚洲人成网站在线播| 亚洲免费在线视频| 亚洲一区自拍| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美在线观看一区二区| 亚洲欧美成人在线| 亚洲一区日韩在线| 亚洲午夜精品一区二区三区他趣 | 好看的亚洲午夜视频在线| 国产亚洲亚洲| 国产综合亚洲精品一区二| 国产一区二区三区久久久久久久久| 国产欧美二区| 欧美成人在线免费视频| 美女脱光内衣内裤视频久久网站| 久久免费精品视频| 欧美 日韩 国产在线| 午夜日本精品| 欧美一区二区日韩一区二区| 久久xxxx| 亚洲综合精品四区| 欧美一区二区三区四区在线观看地址 | 日韩视频在线永久播放| 亚洲精品少妇网址| 在线视频你懂得一区| 亚洲在线观看视频网站| 欧美一级久久久| 免费短视频成人日韩| 欧美激情精品久久久| 日韩亚洲欧美高清| 午夜精品视频在线观看| 久久婷婷av| 欧美日韩视频在线一区二区 | 久久久99免费视频| 欧美国产视频一区二区| 国产精品久久久久99| 极品av少妇一区二区| 日韩午夜在线电影| 篠田优中文在线播放第一区| 久久青草福利网站| 欧美黄色一级视频| 欧美高清不卡在线| 亚洲少妇在线| 欧美**字幕| 国产农村妇女精品一区二区| 在线欧美不卡| 欧美一区二区三区在线播放| 欧美a级片网站| 在线亚洲美日韩| 免费成人高清在线视频| 国产精品永久入口久久久| 亚洲国产成人在线视频| 欧美亚洲综合久久| 亚洲欧洲日产国产综合网| 亚洲欧美日韩国产综合| 午夜精品免费视频| 欧美国产在线观看| 韩国一区二区三区美女美女秀| 99精品视频免费观看视频| 久久久久久久97| 亚洲男女自偷自拍| 欧美日韩国产在线观看| 亚洲精华国产欧美|