国产精品一区二区AV-精品成在人线av无码免费看-两女女百合互慰av赤裸无遮挡-欧洲熟妇色xxxx欧美老妇多毛
深圳市辰沃科技有限公司
新增產(chǎn)品
|
公司簡(jiǎn)介
注冊(cè)時(shí)間:
2008-10-31
聯(lián)系人:
電話:
Email:
首頁(yè)
公司簡(jiǎn)介
產(chǎn)品目錄
公司新聞
技術(shù)文章
資料下載
成功案例
人才招聘
榮譽(yù)證書(shū)
聯(lián)系我們
產(chǎn)品目錄
研華股份
工業(yè)平板電腦
桌上型/壁掛式特種計(jì)算機(jī)
小型嵌入式工業(yè)電腦
工業(yè)母板工控機(jī)
嵌入式板卡及模塊
工業(yè)計(jì)算機(jī)平臺(tái)
嵌入式單板電腦
艾訊宏達(dá)
高性存儲(chǔ)設(shè)備
高效磁盤(pán)陣列
高亮度工業(yè)LCD顯示器
機(jī)架式工控機(jī)
小型工業(yè)計(jì)算機(jī)
工業(yè)平板電腦
IPC工業(yè)計(jì)算機(jī)
嵌入式單板計(jì)算機(jī)
研祥智能
工業(yè)平板電腦
網(wǎng)絡(luò)專(zhuān)用單板計(jì)算機(jī)
一體化工作站
便攜式計(jì)算機(jī)
工業(yè)底板
壁掛式工控機(jī)
上架型工控機(jī)
工業(yè)級(jí)主板
嵌入式單板計(jì)算機(jī)
威達(dá)工業(yè)電腦
工業(yè)級(jí)顯示器
工業(yè)平板電腦
一體化工作站
嵌入式單板計(jì)算機(jī)
工業(yè)電腦
工業(yè)計(jì)算機(jī)
寶晟科技
液晶平板電腦
工業(yè)計(jì)算機(jī)
工業(yè)級(jí)單板電腦
其它產(chǎn)品
艾雷斯工控產(chǎn)品
大眾工控產(chǎn)品
摩莎多串口通訊卡
華北工控產(chǎn)品
凌華工控產(chǎn)品
辰沃工控產(chǎn)品
磐儀工控產(chǎn)品
欣揚(yáng)工控產(chǎn)品
研揚(yáng)工控產(chǎn)品
當(dāng)前位置:
首頁(yè)
>>>
技術(shù)文章
>
技術(shù)文章
工控機(jī)軟件抗干擾技術(shù)
工控機(jī)軟件抗干擾技術(shù)
工業(yè)現(xiàn)場(chǎng)各種動(dòng)力設(shè)備在不斷地啟停運(yùn)行。使得現(xiàn)場(chǎng)環(huán)境惡劣,電磁干擾嚴(yán)重。工業(yè)控制計(jì)算機(jī)在這樣的環(huán)境里面臨著巨大的考驗(yàn)??梢哉f(shuō)我們研制的工業(yè)控制系統(tǒng)能否正常運(yùn)行,并且產(chǎn)生出應(yīng)有的經(jīng)濟(jì)效益,其抗干擾能力是一個(gè)關(guān)鍵的因素。因此,除了整個(gè)系統(tǒng)的結(jié)構(gòu)和每個(gè)具體的工控機(jī)都需要仔細(xì)設(shè)計(jì)硬件抗干擾措施之外,還需要注重軟件抗干擾措施的應(yīng)用。我們?cè)诙嗄甑墓I(yè)控制研究中,深感工業(yè)現(xiàn)場(chǎng)意外因素太多并且危害很大。有時(shí)一個(gè)偶然的人為或非人為干擾,例如并不很強(qiáng)烈的雷擊,就使得我們自認(rèn)為無(wú)懈可擊的硬件抗干擾措施無(wú)能為力,工控機(jī)死機(jī)了(即程序跑飛了)或者控制出錯(cuò)了(此時(shí)
CPU
內(nèi)部寄存器內(nèi)容被修改或者
RAM
和
I/O
口數(shù)據(jù)被修改)。這在某些重要的工業(yè)環(huán)節(jié)上將造成巨大的事故。使用軟件抗干擾措施就可以在一定程度上避免和減輕這些意外事故的后果。軟件抗干擾技術(shù)就是利用軟件運(yùn)行過(guò)程中對(duì)自己進(jìn)行自監(jiān)視,和工控網(wǎng)絡(luò)中各機(jī)器間的互監(jiān)視,來(lái)監(jiān)督和判斷工控機(jī)是否出錯(cuò)或失效的一個(gè)方法。這是工控系統(tǒng)抗干擾的*后一道屏障。
1
工控軟件的結(jié)構(gòu)特點(diǎn)及干擾途徑
在不同的工業(yè)控制系統(tǒng)中,工控軟件雖然完成的功能不同,但就其結(jié)構(gòu)來(lái)說(shuō),一般
具有如下特點(diǎn):
*
實(shí)時(shí)性:工業(yè)控制系統(tǒng)中有些事件的發(fā)生具有隨機(jī)性,要求工控軟件能夠及時(shí)地
處理隨機(jī)事件。
*
周期性:工控軟件在完成系統(tǒng)的初始化工作后,隨之進(jìn)入主程序循環(huán)。在執(zhí)行主
程序過(guò)程中,如有中斷申請(qǐng),則在執(zhí)行完相應(yīng)的中斷服務(wù)程序后,繼續(xù)主程序循
環(huán)。
*
相關(guān)性:工控軟件由多個(gè)任務(wù)模塊組成,各模塊配合工作,相互關(guān)聯(lián),相互依
存。
*
人為性:工控軟件允許操作人員干預(yù)系統(tǒng)的運(yùn)行,調(diào)整系統(tǒng)的工作參數(shù)。
在理想情況下,工控軟件可以正常執(zhí)行。但在工業(yè)現(xiàn)場(chǎng)環(huán)境的干擾下,工控軟件的
周期性、相關(guān)性及實(shí)時(shí)性受到破壞,程序無(wú)法正常執(zhí)行,導(dǎo)致工業(yè)控制系統(tǒng)的失
控,其表現(xiàn)是:
*
程序計(jì)數(shù)器
PC
值發(fā)生變化,破壞了程序的正常運(yùn)行。
PC
值**擾后的數(shù)據(jù)是隨機(jī)
的,因此引起程序執(zhí)行混亂,在
PC
值的錯(cuò)誤引導(dǎo)下,程序執(zhí)行一系列毫無(wú)意義的指
令,*后常常進(jìn)入一個(gè)毫無(wú)意義的
“
死循環(huán)
”
中,使系統(tǒng)失去控制。
*
輸入
/
輸出接口狀態(tài)受到干擾,破壞了工控軟件的相關(guān)性和周期性,造成系統(tǒng)資源
被某個(gè)任務(wù)模塊獨(dú)占,使系統(tǒng)發(fā)生
“
死鎖
”
。
*
數(shù)據(jù)采集誤差加大。干擾侵入系統(tǒng)的前向通道,疊加在信號(hào)上,導(dǎo)致數(shù)據(jù)采集誤
差加大。特別是當(dāng)前向通道的傳感器接口是小電壓信號(hào)輸入時(shí),此現(xiàn)象更加嚴(yán)重。
* RAM
數(shù)據(jù)區(qū)受到干擾發(fā)生變化。根據(jù)干擾竄入渠道、受干擾數(shù)據(jù)性質(zhì)的不同,系統(tǒng)
受損壞的狀況不同,有的造成數(shù)值誤差,有的使控制失靈,有的改變程序狀態(tài),有
的改變某些部件
(
如定時(shí)器/計(jì)數(shù)器、串行口等
)
的工作狀態(tài)等。
*
控制狀態(tài)失靈。在工業(yè)控制系統(tǒng)中,控制狀態(tài)的輸出常常是依據(jù)某些條件狀態(tài)的
輸入和條件狀態(tài)的邏輯處理結(jié)果而定。在這些環(huán)節(jié)中,由于干擾的侵入,會(huì)造成條
件狀態(tài)錯(cuò)誤,致使輸出控制誤差加大,甚至控制失常。
2
工控計(jì)算機(jī)實(shí)時(shí)控制軟件運(yùn)行過(guò)程中的自監(jiān)視法
自監(jiān)視法是工業(yè)控制計(jì)算機(jī)自己對(duì)自己的運(yùn)行狀態(tài)的監(jiān)視。
一般的工控機(jī)
CPU
內(nèi)部具有
Watchdog Timer
,使用定時(shí)中斷來(lái)監(jiān)視程序運(yùn)行狀態(tài)。定時(shí)器的定時(shí)時(shí)間稍大于主程序正常運(yùn)行一個(gè)
循環(huán)的時(shí)間,在主程序運(yùn)行過(guò)程中執(zhí)行一次定時(shí)器時(shí)間常數(shù)刷新操作。這樣,只要
程序正常運(yùn)行,定時(shí)器不會(huì)出現(xiàn)定時(shí)中斷。而當(dāng)程序運(yùn)行失常,不能及時(shí)刷新定時(shí)
器時(shí)間常數(shù)而導(dǎo)致定時(shí)中斷,利用定時(shí)中斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。在
8031
應(yīng)用系統(tǒng)
中作為軟件抗干擾的一個(gè)事例,具體做法是:
*
使用
8155
的定時(shí)器所產(chǎn)生的
“
溢出
”
信號(hào)作為
8031
的外部中斷源
INT1
。用
555
定時(shí)
器作為
8155
中定時(shí)器的外部時(shí)鐘輸入;
* 8155
定時(shí)器的定時(shí)值稍大于主程序的正常循環(huán)時(shí)間;
*
在主程序中,每循環(huán)一次,對(duì)
8155
定時(shí)器的定時(shí)常數(shù)進(jìn)行刷新;
*
在主控程序開(kāi)始處,對(duì)硬件復(fù)位還是定時(shí)中斷產(chǎn)生的自動(dòng)恢復(fù)進(jìn)行分類(lèi)判斷處
理。
然而,這并不等于萬(wàn)無(wú)一失。例如,
①
Watchdog
電路本身失效;
②
設(shè)置
Watchdog
的指令正好在取指令時(shí)**擾而讀錯(cuò);
③
Watchdog“
發(fā)現(xiàn)
”
程序跑飛之后,其產(chǎn)生的復(fù)位脈沖或者
NMI
申請(qǐng)信號(hào)正好**擾而沒(méi)奏效等等。雖然以上的導(dǎo)致
Watchdog
失效的因素的幾率很小,但總是存在的。另一個(gè)方面,還有相當(dāng)數(shù)量的工業(yè)控制計(jì)算機(jī)沒(méi)有
Watchdog
電路。因此,以下重點(diǎn)討論的軟件自監(jiān)視法就勢(shì)在必行了。
2.1
隨時(shí)監(jiān)督檢查程序計(jì)數(shù)器
PC
的值是否超出程序區(qū)
計(jì)算機(jī)正常運(yùn)行,其
PC
值一定在程序區(qū)內(nèi)。如果
PC
值跑出程序區(qū),計(jì)算機(jī)肯定已發(fā)生了程序跑飛。檢查程序計(jì)數(shù)器
PC
值是否在程序區(qū)內(nèi)的方法,是在一個(gè)經(jīng)常要產(chǎn)生外部中斷的某個(gè)中斷服務(wù)程序中,讀取轉(zhuǎn)入該中斷時(shí)壓入堆棧的斷點(diǎn)地址。如果該地址在程序區(qū)內(nèi),則認(rèn)為
PC
值正常,否則一定是程序跑飛了。此時(shí),程序跳轉(zhuǎn)到機(jī)器的重啟動(dòng)入口或者復(fù)位入口,機(jī)器重新啟動(dòng)。于是機(jī)器又自救活了。如果沒(méi)有一個(gè)這樣合適的中斷源,可以專(zhuān)門(mén)設(shè)置一個(gè)定時(shí)中斷或者幾個(gè)定時(shí)中斷,在中斷服務(wù)程序中檢查
PC
值是否合法,一旦發(fā)現(xiàn)不對(duì)就立即轉(zhuǎn)入機(jī)器的重啟動(dòng)入口。定時(shí)器中斷的時(shí)間常數(shù),可視機(jī)器的繁忙程度和重要性設(shè)定,一般從幾個(gè)毫秒到幾十毫秒都可以。
這個(gè)方法的局限性是不能查出
PC
值在程序區(qū)內(nèi)的亂跳,即此時(shí)
PC
值雖受干擾卻并沒(méi)有超出程序區(qū),而是錯(cuò)位亂拼指令而構(gòu)成一些莫名其妙的操作,或者死循環(huán)。
2.2
主循環(huán)程序和中斷服務(wù)程序相互監(jiān)視
每個(gè)工控機(jī)的主循環(huán)程序和中斷服務(wù)程序都有一定的運(yùn)行規(guī)律可循。因此可以設(shè)計(jì)出主循環(huán)程序與各中斷服務(wù)程序、各中斷服務(wù)程序之間的相互監(jiān)視。每個(gè)監(jiān)視對(duì)要定義一個(gè)
RAM
單元,依靠對(duì)其計(jì)數(shù)
/
清零的方法表達(dá)相互監(jiān)視信息。例如,某工控機(jī)的主循環(huán)程序循環(huán)一次*長(zhǎng)時(shí)間為
80 ms
,它的一個(gè)定時(shí)中斷時(shí)間常數(shù)為
10 ms
,當(dāng)我們安排該定時(shí)中斷監(jiān)視主循環(huán)程序運(yùn)行時(shí),可以每次
10 ms
中斷對(duì)該
RAM
單元加1計(jì)數(shù),而主循環(huán)程序每循環(huán)一次對(duì)該
RAM
單元清零。因此,正常運(yùn)行時(shí),這個(gè)監(jiān)視計(jì)數(shù)
RAM
單元的計(jì)數(shù)值不可能
≥
9,如果
10 ms
定時(shí)中斷服務(wù)程序發(fā)現(xiàn)其計(jì)數(shù)值
≥
9,就知道主循環(huán)程序已經(jīng)**擾跑飛或出現(xiàn)死循環(huán),于是就跳轉(zhuǎn)到機(jī)器的重啟動(dòng)入口,重新恢復(fù)運(yùn)行。使用這個(gè)方法,如果設(shè)計(jì)得當(dāng)?shù)脑挘欠浅S行У?。我們多年的?jīng)驗(yàn)是:主循環(huán)程序**擾跑飛可能性*大,中斷服務(wù)程序越短小越不易跑飛。主循環(huán)程序和中斷服務(wù)程序以及中斷服務(wù)程序之間的相互監(jiān)視,應(yīng)當(dāng)多設(shè)計(jì)幾個(gè)監(jiān)視對(duì)會(huì)更好。
2.3
隨時(shí)校驗(yàn)程序代碼的正確性
工業(yè)控制計(jì)算機(jī)的實(shí)時(shí)控制程序代碼通常都采用
EPROM
固化運(yùn)行,一般不易發(fā)生被改寫(xiě)的情況。但成年累月運(yùn)行,我們有時(shí)也會(huì)發(fā)現(xiàn)極個(gè)別的單元出錯(cuò)。其原因可能是芯片質(zhì)量問(wèn)題或者因靜電、雷擊干擾等造成的改寫(xiě)。程序出錯(cuò)了,將直接造成運(yùn)行錯(cuò)誤或者無(wú)法運(yùn)行。校驗(yàn)的方式可以采用累加和校驗(yàn)或者
BCH
校驗(yàn)(一種
CRC
校驗(yàn)方法)。當(dāng)采用
BCH
校驗(yàn)時(shí),其分組附加的冗余字節(jié)可以集中在程序區(qū)之外的某個(gè)
EPROM
區(qū)域里。校驗(yàn)方法是在某個(gè)短小而且經(jīng)常發(fā)生的中斷服務(wù)程序內(nèi)安排一個(gè)校驗(yàn)?zāi)K,可以設(shè)計(jì)成每次循環(huán)校驗(yàn)一部分程序代碼,分若干次校驗(yàn)完成;或者當(dāng)代碼少,任務(wù)輕松時(shí)也可以一次校驗(yàn)完。如果發(fā)現(xiàn)校驗(yàn)錯(cuò),應(yīng)當(dāng)立即向工控網(wǎng)絡(luò)主站報(bào)告或者以自身報(bào)警的辦法告知操作人員,以便及時(shí)處理。這個(gè)方法的局限性是被損壞的程序代碼不是校驗(yàn)程序塊,而且以該中斷還可以正常響應(yīng)為前提。由于該中斷服務(wù)程序短小,通常還是有很大的概率自監(jiān)視程序代碼的正確性。
2.4
隨時(shí)校驗(yàn)
RAM
的正確性
在實(shí)時(shí)控制過(guò)程中,干擾造成比較嚴(yán)重的危害之一就是沖毀
RAM
中的數(shù)據(jù),由于
RAM
中保存的是各種原始數(shù)據(jù)、標(biāo)志、變量等,如果被破壞,會(huì)造成系統(tǒng)出錯(cuò)或無(wú)法運(yùn)行,根據(jù)數(shù)據(jù)被沖毀的程度,一般可分為三類(lèi):
*
整個(gè)
RAM
數(shù)據(jù)被沖毀;
* RAM
中某片數(shù)據(jù)被沖毀;
*
個(gè)別數(shù)據(jù)被沖毀。因此需要經(jīng)常監(jiān)視
RAM
的正確性。在工業(yè)控制系統(tǒng)中,
RAM
的大部分內(nèi)容是為了進(jìn)行分析、比較而臨時(shí)存放的,不允許丟失的數(shù)據(jù)只占極少部分。在這種情況下,除了這些不允許丟失的數(shù)據(jù)外,其余大部分內(nèi)容允許短時(shí)間被破壞,*多只引起系統(tǒng)的一個(gè)很短時(shí)間的波動(dòng),很快能自動(dòng)恢復(fù)正常。因此,在工控軟件中,只要注意對(duì)少數(shù)不允許丟失的數(shù)據(jù)保護(hù),一般常用的方法有
“
校驗(yàn)法
”
和
“
設(shè)標(biāo)法
”
。這兩種方法各有千秋,校驗(yàn)法比較繁鎖,但查錯(cuò)的可信度高。設(shè)標(biāo)法簡(jiǎn)單,但對(duì)數(shù)據(jù)表中個(gè)別數(shù)據(jù)沖毀的情況,查錯(cuò)則無(wú)難為力。在編程中一般應(yīng)綜合使用,其具體做法為:
*
將
RAM
工作區(qū)重要區(qū)域的始端和尾端各設(shè)置一個(gè)標(biāo)志碼
“0”
或
“1”
;
*
對(duì)
RAM
中固定不變的數(shù)據(jù)表格設(shè)置校驗(yàn)字。在程序的執(zhí)行過(guò)程中,每隔一定的時(shí)間通過(guò)事先設(shè)計(jì)的查錯(cuò)程序來(lái)檢查其各標(biāo)志碼是否正常,如果不正常,則利用數(shù)據(jù)冗余技術(shù)通過(guò)抗干擾處理程序來(lái)進(jìn)行修正;冗余數(shù)據(jù)表的一般設(shè)計(jì)原則是:
*
各數(shù)據(jù)表應(yīng)相互遠(yuǎn)離分散設(shè)置,減少冗余數(shù)據(jù)同時(shí)被沖毀的概率。
*
數(shù)據(jù)表應(yīng)盡可能遠(yuǎn)離棧區(qū),減少由于操作錯(cuò)誤造堆棧被成數(shù)據(jù)沖的可能
。上述對(duì)
RAM
區(qū)域的恢復(fù)處理方法,在不同的應(yīng)用系統(tǒng)中應(yīng)根據(jù)的具體情況進(jìn)行取舍
3
實(shí)時(shí)控制系統(tǒng)的互監(jiān)視法
在實(shí)時(shí)控制系統(tǒng)中,人們關(guān)注的問(wèn)題是能否確保正常的控制狀態(tài)。如果干擾進(jìn)入系統(tǒng),會(huì)影響各種控制條件、造成控制輸出失誤。為了確保系統(tǒng)**可以采取下述軟件抗干擾措施:
3.1.
軟件冗余對(duì)于條件控制系統(tǒng),將控制條件的一次采樣、處理控制輸出,改為循環(huán)采樣、處理控制輸出。這種方法具有良好的抗偶然因素干擾作用。
3.2.
設(shè)置當(dāng)前輸出狀態(tài)寄存單元當(dāng)干擾侵入輸出通道造成輸出狀態(tài)破壞時(shí),系統(tǒng)可以及時(shí)查詢(xún)當(dāng)前輸出狀態(tài)寄存單元的輸出狀態(tài)信息,及時(shí)糾正錯(cuò)誤的輸出狀態(tài)。
3.3.
設(shè)置自檢程序在計(jì)算機(jī)系統(tǒng)內(nèi)的特定部位或某些內(nèi)存單元設(shè)狀態(tài)標(biāo)志,在運(yùn)行中不斷循環(huán)測(cè)試,以保證系統(tǒng)中信息存儲(chǔ)、傳輸、運(yùn)算的高可靠性。
4
其它常采用的軟件抗干擾方法
4.1
陷井法
有時(shí)意想不到的干擾,破壞了中斷和所有程序的正常運(yùn)行。此時(shí)
PC
值可能在程序區(qū)內(nèi),也可能在程序區(qū)之外,要使其能夠自恢復(fù)正常運(yùn)行,只有依賴(lài)于廣布
“
陷井
”
的絕招了。
這里所謂的
“
陷井
”
,是指某些類(lèi)型的
CPU
提供給用戶(hù)使用的軟中斷指令或者復(fù)位指令。例如,
Z80
指令
RST 38H
,其機(jī)器碼為
FFH
。
CPU
執(zhí)行該指令時(shí),則將當(dāng)前程序計(jì)數(shù)器
PC
的值壓入堆棧,然后轉(zhuǎn)到
0038H
地址執(zhí)行程序。如果把
0038H
作為一個(gè)重啟動(dòng)入口,則機(jī)器就可以恢復(fù)新的工作了。再例如,
INTEL8098
、
80198
系列的復(fù)位指令
RST
,機(jī)器碼也為
FFH
。
CPU
執(zhí)行該指令時(shí),其內(nèi)部進(jìn)行復(fù)位操作,然后從
2080H
開(kāi)始執(zhí)行程序。當(dāng)然,
80198
系列還有更多的非法操作碼可作為陷井指令使用,這時(shí)只需要在
2012H
的一個(gè)字的中斷矢量單元里安排中斷入口,并且編制一個(gè)處理非法操作碼的中斷服務(wù)程序,一遇非法操作碼就能進(jìn)行故障處理。作者多年的經(jīng)驗(yàn)表明,陷井不但需要在
ROM
的全部非內(nèi)容區(qū)、
RAM
的全部非數(shù)據(jù)區(qū)設(shè)置,而且在程序區(qū)內(nèi)的模塊之間廣泛布置。一旦機(jī)器程序跑飛,總會(huì)碰上陷井,立即就可以救活機(jī)器了。
4.2
重復(fù)功能設(shè)定法
工控機(jī)的很多功能的設(shè)定,通常都是在主程序開(kāi)始時(shí)的初始化程序里設(shè)定的,以后再也不去設(shè)定了。這在正常情況下本無(wú)問(wèn)題。但偶然的干擾會(huì)改變
CPU
內(nèi)部的這些寄存器或者接口芯片的功能寄存器,例如,把中斷的類(lèi)型、中斷的優(yōu)先級(jí)別、串行口、并行口的設(shè)定修改了,機(jī)器的運(yùn)行肯定會(huì)出錯(cuò),因此,只要重復(fù)設(shè)定功能操作不影響其當(dāng)前連續(xù)工作的性能,都應(yīng)當(dāng)納入主程序的循環(huán)圈里。每個(gè)循環(huán)就可以刷新一次設(shè)定,避免了偶然不測(cè)發(fā)生。對(duì)于那些重復(fù)設(shè)定功能操作會(huì)影響當(dāng)前連續(xù)工作性能的,要盡量想法找機(jī)會(huì)重新設(shè)定。例如串行口,如果接收完某幀信息或者發(fā)送完某幀信息之后,串口會(huì)有一個(gè)短暫的空閑時(shí),就應(yīng)作出判斷并且安排重新設(shè)定一次的操作。
4.3
重要數(shù)據(jù)備份法
工控機(jī)中的一些關(guān)鍵數(shù)據(jù),應(yīng)當(dāng)有至少有兩個(gè)以上的備份副本,當(dāng)操作這些數(shù)據(jù)時(shí),可以把主、副本進(jìn)行比較,如其改變,就要分析原因,采取預(yù)先設(shè)計(jì)好的方法處理。還可以把重要數(shù)據(jù)采用校驗(yàn)和或者分組
BCH
校驗(yàn)的方法進(jìn)行校驗(yàn)。這兩種方法一并使用則更可靠。
4.4
系統(tǒng)
“
死鎖
”
的軟件對(duì)策
在工業(yè)控制系統(tǒng)中,
A/D
、
D/A
,顯示等輸入
/
輸出接口電路是必不可少的。這些接口
與
CPU
之間采用查詢(xún)或中斷方式工作,而這些設(shè)備或接口對(duì)干擾很敏感,干擾信號(hào)一
旦破壞了某一接口的狀態(tài)字后,就會(huì)導(dǎo)致
CPU
誤認(rèn)為該接口有輸入
/
輸出請(qǐng)求而停止
現(xiàn)行工作,轉(zhuǎn)去執(zhí)行相應(yīng)的輸入
/
輸出服務(wù)程序。但由于該接口本身并沒(méi)有輸入
/
輸
出數(shù)據(jù),從而使
CPU
資源被該服務(wù)程序長(zhǎng)期占用,而不釋放,其它任務(wù)程序無(wú)法執(zhí)
行,使整個(gè)系統(tǒng)出現(xiàn)
“
死鎖
”
。對(duì)這種干擾造成的
“
死鎖
”
問(wèn)題,在軟件編程中,
可采用
“
時(shí)間片
”
的方法來(lái)解決。其具體步驟為:
*
根據(jù)不同的輸入
/
輸出外設(shè)對(duì)時(shí)間的要求,分配相應(yīng)的*大正常的輸入
/
輸出時(shí)
間。
*
在每一輸入
/
輸出的任務(wù)模塊中,加入相應(yīng)的超時(shí)判斷程序。這樣當(dāng)干擾破壞了接
口的狀態(tài)造成
CPU
誤操作后,由于該外設(shè)準(zhǔn)備好信息長(zhǎng)期無(wú)效,經(jīng)一定時(shí)間后,系統(tǒng)
會(huì)從該外設(shè)的服務(wù)程序中自動(dòng)返回,保證整個(gè)軟件的周期性不受影響,從而避免
“
死鎖
”
情況的發(fā)生。
4.5
數(shù)據(jù)采集誤差的軟件對(duì)策根據(jù)數(shù)據(jù)受干擾性質(zhì)及干擾后果的不同,采取的軟件對(duì)策各不相同,沒(méi)有固定的模式。對(duì)于實(shí)時(shí)數(shù)據(jù)采集系統(tǒng),為了消除傳感器通道中的干擾信號(hào),在硬件措施上常采取有源或無(wú)源
RLC
網(wǎng)絡(luò),構(gòu)成模擬濾波器對(duì)信號(hào)實(shí)現(xiàn)頻率濾波。同樣,運(yùn)用
CPU
的運(yùn)算、控制功能也可以實(shí)現(xiàn)頻率濾波,完成模擬濾波器類(lèi)似的功能,這就是數(shù)字濾波。在許多數(shù)字信號(hào)處理專(zhuān)著中都有專(zhuān)門(mén)論述,可以參考。隨著計(jì)算機(jī)運(yùn)算速度的提高,數(shù)字濾波在實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用將愈來(lái)愈廣。在一般數(shù)據(jù)采集系統(tǒng)中,可以采用一些簡(jiǎn)單的數(shù)值、邏輯運(yùn)算處理來(lái)達(dá)到濾波的效果。用的方法有算術(shù)平均值法、比較取舍法、中值法、一階遞推數(shù)字濾波法等。具體見(jiàn)本版的有關(guān)文章。
5
結(jié)束語(yǔ)
軟件抗干擾的內(nèi)容還有很多,例如,檢測(cè)量的數(shù)字濾波、壞值剔除;人工控制指令的合法性和輸入設(shè)定值的合法性判別等等,這些都是一個(gè)完善的工業(yè)控制系統(tǒng)必不可少的
,
有關(guān)的文章可以參閱本版的其他文章。
工業(yè)控制是計(jì)算機(jī)的*重要的應(yīng)用領(lǐng)域,也是計(jì)算機(jī)的*艱難的應(yīng)用環(huán)境。我從多年來(lái)的研究經(jīng)驗(yàn)認(rèn)為:工業(yè)控制計(jì)算機(jī)的抗干擾性能根本在硬件結(jié)構(gòu),軟件抗干擾只是一個(gè)補(bǔ)充。硬件的設(shè)計(jì)應(yīng)當(dāng)盡可能的完善,不能輕易降低標(biāo)準(zhǔn),讓軟件去補(bǔ)救!而軟件的編制則要處處考慮到硬件可能的失效,可能受到的干擾等種種問(wèn)題,在保證實(shí)時(shí)性、控制精度和控制功能的前提下,盡力提高系統(tǒng)的抗干擾性能。要考慮得很細(xì)致,努力賦予軟件高度的智能。這樣,軟件才是**的。把硬件和軟件有機(jī)的結(jié)合起來(lái),一個(gè)經(jīng)得起長(zhǎng)期現(xiàn)場(chǎng)考驗(yàn)的盡可能完善的工業(yè)控制系統(tǒng)才能實(shí)現(xiàn)。
上一篇:
嵌入式產(chǎn)品--彩票終端售賣(mài)機(jī)解決方案
下一篇:
工控機(jī)在汽車(chē)檢測(cè)行業(yè)中的應(yīng)用
若網(wǎng)站內(nèi)容侵犯到您的權(quán)益,請(qǐng)通過(guò)網(wǎng)站上的聯(lián)系方式及時(shí)聯(lián)系我們修改或刪除