暖暖日本在线视频_国产三级电影_日韩在线1_久久精品国产77777蜜臀_五月婷婷色_成人激情在线
深圳市辰沃科技有限公司
新增產品
|
公司簡介
注冊時間:
2008-10-31
聯系人:
電話:
Email:
首頁
公司簡介
產品目錄
公司新聞
技術文章
資料下載
成功案例
人才招聘
榮譽證書
聯系我們
產品目錄
研華股份
工業平板電腦
桌上型/壁掛式特種計算機
小型嵌入式工業電腦
工業母板工控機
嵌入式板卡及模塊
工業計算機平臺
嵌入式單板電腦
艾訊宏達
高性存儲設備
高效磁盤陣列
高亮度工業LCD顯示器
機架式工控機
小型工業計算機
工業平板電腦
IPC工業計算機
嵌入式單板計算機
研祥智能
工業平板電腦
網絡專用單板計算機
一體化工作站
便攜式計算機
工業底板
壁掛式工控機
上架型工控機
工業級主板
嵌入式單板計算機
威達工業電腦
工業級顯示器
工業平板電腦
一體化工作站
嵌入式單板計算機
工業電腦
工業計算機
寶晟科技
液晶平板電腦
工業計算機
工業級單板電腦
其它產品
艾雷斯工控產品
大眾工控產品
摩莎多串口通訊卡
華北工控產品
凌華工控產品
辰沃工控產品
磐儀工控產品
欣揚工控產品
研揚工控產品
當前位置:
首頁
>>>
技術文章
>
技術文章
工控機軟件抗干擾技術
工控機軟件抗干擾技術
工業現場各種動力設備在不斷地啟停運行。使得現場環境惡劣,電磁干擾嚴重。工業控制計算機在這樣的環境里面臨著巨大的考驗。可以說我們研制的工業控制系統能否正常運行,并且產生出應有的經濟效益,其抗干擾能力是一個關鍵的因素。因此,除了整個系統的結構和每個具體的工控機都需要仔細設計硬件抗干擾措施之外,還需要注重軟件抗干擾措施的應用。我們在多年的工業控制研究中,深感工業現場意外因素太多并且危害很大。有時一個偶然的人為或非人為干擾,例如并不很強烈的雷擊,就使得我們自認為無懈可擊的硬件抗干擾措施無能為力,工控機死機了(即程序跑飛了)或者控制出錯了(此時
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
結束語
軟件抗干擾的內容還有很多,例如,檢測量的數字濾波、壞值剔除;人工控制指令的合法性和輸入設定值的合法性判別等等,這些都是一個完善的工業控制系統必不可少的
,
有關的文章可以參閱本版的其他文章。
工業控制是計算機的*重要的應用領域,也是計算機的*艱難的應用環境。我從多年來的研究經驗認為:工業控制計算機的抗干擾性能根本在硬件結構,軟件抗干擾只是一個補充。硬件的設計應當盡可能的完善,不能輕易降低標準,讓軟件去補救!而軟件的編制則要處處考慮到硬件可能的失效,可能受到的干擾等種種問題,在保證實時性、控制精度和控制功能的前提下,盡力提高系統的抗干擾性能。要考慮得很細致,努力賦予軟件高度的智能。這樣,軟件才是**的。把硬件和軟件有機的結合起來,一個經得起長期現場考驗的盡可能完善的工業控制系統才能實現。
上一篇:
嵌入式產品--彩票終端售賣機解決方案
下一篇:
工控機在汽車檢測行業中的應用
若網站內容侵犯到您的權益,請通過網站上的聯系方式及時聯系我們修改或刪除
主站蜘蛛池模板:
婷婷综合网
|
精品1区2区
|
欧美一区免费
|
综合自拍
|
中文字幕国产高清
|
香蕉视频久久久
|
视频一区二区在线观看
|
91免费电影
|
在线国产一区二区
|
懂色av色香蕉一区二区蜜桃
|
欧美激情国产日韩精品一区18
|
一区二区成人
|
91久久久久
|
欧州一区二区三区
|
亚洲永久免费观看
|
国产成人亚洲精品自产在线
|
久草网站
|
久久久国产精品一区
|
久久伦理中文字幕
|
久久毛片
|
拍真实国产伦偷精品
|
欧美一区二区三区在线视频
|
国产女人与拘做视频免费
|
国产日产久久高清欧美一区
|
91看片视频
|
亚洲成人免费av
|
成人午夜在线观看
|
欧美日韩久
|
麻豆精品一区二区三区在线观看
|
波多野结衣中文字幕一区二区三区
|
久久免费国产视频
|
91在线观
|
欧美激情国产日韩精品一区18
|
91精品久久久久久久久久入口
|
国内精品一区二区
|
国产一区二区精品在线
|
久久成人人人人精品欧
|
国产亚洲精品成人av久久ww
|
欧美日韩国产一区二区三区
|
欧美在线国产精品
|
精品免费视频
|