技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 工控機(jī)軟件抗干擾技術(shù)

工控機(jī)軟件抗干擾技術(shù)

時(shí)間:2008-01-21 16:51:00來(lái)源:mahaiyan

導(dǎo)語(yǔ):?軟件抗干擾技術(shù)就是利用軟件運(yùn)行過(guò)程中對(duì)自己進(jìn)行自監(jiān)視,和工控網(wǎng)絡(luò)中各機(jī)器間的互監(jiān)視,來(lái)監(jiān)督和判斷工控機(jī)是否出錯(cuò)或失效的一個(gè)方法
引 言 工業(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ù)脑?huà),是非常有效的。我們多年的經(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)。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:利用PLC實(shí)現(xiàn)對(duì)印刷機(jī)的精確控制

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。