三级黄色在线视频中文,国产精品一二三区,在线观看三级,成人午夜久久,日韩国产一区二区,韩日免费av,日韩成人一级

經(jīng)濟型數(shù)控系統(tǒng)的軟件抗干擾技術

來源:互聯(lián)網(wǎng)

點擊:1381

A+ A-

所屬頻道:新聞中心

關鍵詞: 數(shù)控系統(tǒng) 抗干擾

    0 引言

      經(jīng)濟型數(shù)控系統(tǒng)通常追求高的性能/價格比,系統(tǒng)關鍵功能如插補功能的實現(xiàn)一般都是通過軟件來實現(xiàn)的。因此,在設計系統(tǒng)的時候,需要盡量降低硬件的成本。為了保證經(jīng)濟性,不可能選用太好的電源濾波器和開關電源,也不可能采用成本過高的硬件冗余技術,CPU 芯片通常也只是選用商用級或民品級的8位單片機。但是,數(shù)控系統(tǒng)多數(shù)工作在環(huán)境惡劣、干擾嚴重的場合,竄入系統(tǒng)的干擾,其頻譜往往很寬,且具有隨機性。采用廉價的硬件抗干擾措施,只能抑制某些高頻段的干擾,而頻率較低的干擾信號仍會侵入系統(tǒng)。因此,除了采用硬件抗干擾設計以外,還要采取一定的軟件抗干擾技術,做到“軟硬兼施”。使用軟件抗干擾技術的優(yōu)點在于,不需要增加硬件投資,使用靈活,修改方便。

    1 軟件抗干擾常用方法

      軟件抗干擾技術所研究的主要內容,其一是采取軟件的方法抑制迭加在模擬輸入信號上的噪聲的影響,如數(shù)字濾波技術;其二是由于干擾而使運行程序發(fā)生混亂,導致程序“亂飛”或陷入“死循環(huán)”時所采取的使程序納入正軌的措施,如指令冗余、軟件陷阱、“看門狗”技術等。在經(jīng)濟型數(shù)控系統(tǒng)中,進、出信號多為數(shù)字信號,軟件抗干擾主要從以下幾方面來考慮:指令冗余、軟件陷阱、“看門狗”技術、輸入信號的重復檢測、輸出信號的刷新、CPU的睡眠抗干擾、關鍵數(shù)據(jù)的恢復以及用戶數(shù)據(jù)的保護等。

    2 經(jīng)濟型數(shù)控系統(tǒng)的軟件抗干擾技術

      2.1 指令冗余技術

      MCS-51 的指令由操作碼和操作數(shù)組成。單字節(jié)指令僅有操作碼;雙字節(jié)指令第一個字節(jié)是操作碼,第二個字節(jié)是操作數(shù); 3字節(jié)指令第一個字節(jié)為操作碼,后兩個字節(jié)為操作數(shù)。CPU 取指時,先取操作碼,后取操作數(shù)。如何區(qū)別某個數(shù)據(jù)是操作碼還是操作數(shù),這完全由取指的順序來決定。CPU 復位后,首先取出指令的操作碼,然后取出操作數(shù)。當一條指令執(zhí)行完畢,緊接著又去取下一條指令的操作碼與操作數(shù)。這些操作的時序完全由程序計數(shù)器PC 來控制。因此,一旦PC 因干擾而出現(xiàn)錯誤,程序便脫離正常的運行軌道,出現(xiàn)“亂飛”的現(xiàn)象,導致操作數(shù)的數(shù)值改變或者將操作數(shù)當成操作碼的錯誤產(chǎn)生。當程序“亂飛”到某個單字節(jié)指令上時,可以自動納入正軌;當“亂飛”到某雙字節(jié)指令上時,若恰恰在取指令的時刻落在操作數(shù)上,就會將該操作數(shù)當成操作碼,程序將出錯;當程序“亂飛”到某個3 字節(jié)指令上時,因為有兩個操作數(shù),誤將操作數(shù)當成操作碼的幾率將會更大。用單字節(jié)指令,并在關鍵地方人為地插入一些單字節(jié)指令NOP,或將有效的單字節(jié)指令重復寫幾次。這種方式稱之為指令冗余??稍陔p字節(jié)指令和3 字節(jié)指令之后插入兩個NOP,這可保證其后的指令不被拆散。因為“亂飛”的程序即使落到操作數(shù)上,由于NOP 的存在,不會將其后的指令當成操作數(shù)來執(zhí)行,從而使程序納入正軌。對程序流向起決定作用的指令(如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC、DJNZ 等)和某些對系統(tǒng)工作狀態(tài)起重要作用的指令(如SETB EA 等),可在之前插入兩個NOP,以保證“亂飛”的程序迅速落入正軌;對于某些子程序必要時可以連續(xù)多次重復調用,某些狀態(tài)的查詢也可多次進行。

      采用冗余技術使PC 納入正軌的條件是:跑飛的PC必須指向程序運行區(qū),并且有可能執(zhí)行到冗余指令。

      2.2 軟件陷阱技術

      當“亂飛”的程序進入非程序區(qū)(如EPROM 未使用的空間)或表格區(qū)時,采用冗余指令使程序入軌的條件不滿足,此時可以設定軟件陷阱,攔截“亂飛”的程序,用引導指令強行將捕獲到的“亂飛”程序引向復位入口地址0000H,并在此處對出錯進行處理,使程序納入正軌。軟件陷阱可采用兩種形式。

      形式之一的機器碼為:00 00 02 00 00

      形式之二的機器碼為:02 02 02 02 00 00

      根據(jù)“亂飛”程序落入陷阱區(qū)的位置不同,可選擇表1 中的一種方式,使程序納入正軌,指定運行到預定位置。軟件陷阱通常安排在未使用的中斷區(qū)、未使用的EPROM 區(qū)、非EPROM 區(qū)、運行程序區(qū)以及中斷服務程序區(qū)等。

      2.3 “看門狗”技術

      PC 受到干擾而失控,引起程序“亂飛”,也可能使程序陷入“死循環(huán)”。指令冗余技術、軟件陷阱技術都不能使失控的程序擺脫“死循環(huán)”的困境,本系統(tǒng)采用程序監(jiān)視技術,又稱“看門狗”(Watchdog)技術,使程序脫離“死循環(huán)”。數(shù)控系統(tǒng)的應用程序通常都采用循環(huán)運行的方式,循環(huán)周期基本固定。“看門狗”技術就是不斷監(jiān)視程序循環(huán)運行的時間,若發(fā)現(xiàn)時間超過已知的循環(huán)設定時間,則認為系統(tǒng)陷入了“死循環(huán)”,然后強迫程序返回到0000H入口,在此處安排一段出錯處理程序,使系統(tǒng)納入運行正軌。本系統(tǒng)設置了一個16 位的監(jiān)視定時器,定時器啟動后,每個機器周期自動加1,當計數(shù)器溢出時,復位器MAX708 就把CPU 的RESET 引腳拉成高電平,從而使CPU 復位。需要注意的是,使用監(jiān)視定時器時,系統(tǒng)軟件應在每次定時器溢出前將定時器清0。因此,一旦程序因干擾不能順利運行或死機時,定時器將會很快產(chǎn)生溢出,從而使得CPU 立即復位,不至于造成事故的發(fā)生。

      2.4 輸入信號的重復檢測技術

      輸入信號的干擾是迭加在有效電平信號上的一系列離散的尖脈沖,這些脈沖信號的作用時間很短。當數(shù)控系統(tǒng)面臨輸入干擾,又不能用硬件加以有效抑制時,可以采用軟件重復檢測的方法,達到“去偽存真”的目的。車床數(shù)控系統(tǒng)在工作時,需要接收一些外部的開關量輸入信號:如縱、橫向拖板的限位信號,自動回轉刀架的刀位信號與換刀回答信號,自動卡盤的夾緊回答信號,車床主軸的啟、?;卮鹦盘?,以及數(shù)控系統(tǒng)的緊急停止信號等。這些信號有效時,均以低電平形式經(jīng)過光耦隔離后傳遞到CPU以及輸入接口芯片,有效電平均能保持200ms,甚至更長。而干擾信號多呈毛刺狀,作用時間短。利用這一特點,可多次重復采集某一輸入的開關量信號,直到連續(xù)幾次采集結果完全一致時方為有效。若多次采集后,信號總是變化不定的,可停止采集,并給出報警信號。

      本系統(tǒng)中,開關量輸入信號的數(shù)據(jù)采集流程。采集總次數(shù)為10,只有連續(xù)3 次采集數(shù)據(jù)相同,才認為結果有效;延時時間可根據(jù)需要進行設定,在兩次采集之間插入此延時,能夠對付較寬的干擾。

      2.5 輸出信號的刷新技術

      對于開關量的輸出,軟件抗干擾主要是采取輸出信號的刷新技術,這是一種提高輸出接口抗干擾性能的有效措施。對于那些用鎖存器輸出的控制信號,這些措施很有必要。在條件允許的情況下,重復輸出的周期盡可能短一些。當輸出端口受到某種干擾而輸出錯誤信號時,外設還未來得及作出有效的反應,正確的信息又輸出了,這樣,就可以及時避免錯誤動作的發(fā)生。在執(zhí)行重復輸出功能時,對于可編程接口芯片,工作方式控制字與輸出狀態(tài)字一并重復設置,使輸出模塊可靠地工作。

      經(jīng)濟型車床控制系統(tǒng)的輸出均為數(shù)字信號,如步進電機的控制信號、電動刀架的驅動信號、主軸電機的啟停信號、冷卻泵的啟停信號、電動卡盤的夾緊信號等。CPU 給出正確的數(shù)據(jù)輸出后,外部干擾有可能使輸出裝置得到錯誤的數(shù)據(jù)。這種錯誤的輸出結果,如果不采取得力措施加以補救,有可能造成不良后果。

     ?。?)重復輸出同一個數(shù)據(jù)設計軟件時,可將I/O 芯片的輸出過程安排在系統(tǒng)的監(jiān)控循環(huán)中,監(jiān)控循環(huán)周期短,可以有效地防止輸出設備的誤動作。但要注意,輸出功能是作為一個完整的模塊來執(zhí)行的(比如一個字節(jié))。采取這種方式設計軟件時,必須為每個I/O 外部設備建立一個8 位的輸出暫存單元,輸出功能模塊將所有暫存區(qū)的數(shù)據(jù)一一輸出,不論這個數(shù)據(jù)是剛算好的還是原先算好的。

      在對步進電機進行輸出控制時,車床數(shù)控系統(tǒng)采用軟件算法來實現(xiàn)環(huán)形分配器的功能,計算機直接輸出步進電機各相繞組的通電狀態(tài),經(jīng)過光電隔離后,傳送給功率放大器。編制軟件時,采用重復輸出的方式,對于防止步進電機的失步,具有一定的效果,在一個換相周期內可以重復輸出2~3 次。

     ?。?)輸出芯片的重復初始化

      在車床數(shù)控系統(tǒng)中,用8255芯片來擴展輸出功能,外設通過8255 芯片來獲得單片機的控制信息,8255芯片在初始化時應明確規(guī)定各端口的職能。為了保證輸出正確,輸出功能模塊每次在執(zhí)行具體的數(shù)據(jù)輸出之前,應該先執(zhí)行8255的初始化命令,即,先對8255 寫入工作方式控制字,再輸出有關數(shù)據(jù)。

      對于管理LED 顯示器的8279 芯片,也采用同樣的措施。每當調用顯示子程序進行顯示器的刷新時,首先對8279 進行一次初始化,重新設定其工作方式,然后再輸出新的顯示數(shù)據(jù)。

      2.6 CPU的睡眠抗干擾技術

      當干擾作用到CPU 本身時,CPU 不能按正常狀態(tài)執(zhí)行程序,將引起混亂。本系統(tǒng)選用AT89C52 芯片作為CPU,它通過執(zhí)行ORL PCON,#01 指令可以使得CPU 進入睡眠狀態(tài)。此時,只有定時/ 計數(shù)系統(tǒng)和中斷系統(tǒng)處于工作狀態(tài),CPU 對系統(tǒng)三總線上的干擾沒有反應,大大降低了系統(tǒng)對干擾的敏感性。

      系統(tǒng)工作時,需要用交流接觸器去驅動主軸電機和電動刀架電機。由于負載的工作電流大,啟動電流更大,因此,在交流接觸器動作的瞬間,將會產(chǎn)生很強的電磁干擾,并通過各種途徑傳到CPU,使計算機不能正常工作。盡管已經(jīng)把計算機跟外部的連接信號都加了光電隔離,在用示波器觀察計算機電源的地線和一些信號線時,仍然發(fā)現(xiàn)有干擾信號疊加在上面,持續(xù)時間大約在20ms 左右。這些干擾信號常常造成控制系統(tǒng)失靈、機床拖板亂跑、刀架亂轉、用戶程序丟失或者系統(tǒng)死機等故障。為了解決這一問題,給交流接觸器的線圈兩端加了RC滅弧阻容,把計算機跟外部的連接線換成了屏蔽線,但是,在電動刀架開始轉位或在主軸電機突然啟停時,上述的干擾現(xiàn)象仍然出現(xiàn)。最后采用CPU 睡眠抗干擾法解決了此問題。

      2.7 關鍵數(shù)據(jù)的恢復技術

      車床控制系統(tǒng)需要接受用戶從操作面板鍵入的ISO 代碼,將其轉換成HEX 碼,并送到外部數(shù)據(jù)存貯器62256RAM 中存儲。每送完一個程序段,最后一個數(shù)據(jù)字節(jié)在62256 中的存貯地址(在此簡稱STAD),就是一個關鍵數(shù)據(jù)。STAD 在系統(tǒng)掉電時,需要進行保護,為此,必須將其也寫入62256RAM中,并在硬件上建立一個掉電保護電路,使得62256RAM 中的數(shù)據(jù)在系統(tǒng)掉電后不會丟失。掉電保護電路雖然比較可靠,但是系統(tǒng)在上電或掉電的瞬間,62256 中的數(shù)據(jù)仍然有可能遭到破壞,STAD就有可能被改寫,那么下次用戶再輸入程序時,在62256 中存貯數(shù)據(jù)的起始地址就會改變,原有的程序就有可能被破壞。一旦被寫入的地址變成8255芯片的輸出口地址的時候,步進電機的選通信號、驅動電源的高壓開啟信號,均有可能被置成有效,電動刀架和主軸也有可能旋轉,將有可能引發(fā)事故。因此,在系統(tǒng)上電初始化的時候,需要首先檢查一下STAD 有沒有遭到破壞,如果遭到破壞,應在數(shù)據(jù)寫入62256 之前,將STAD 盡快恢復。為此,采取以下措施。

      用戶每輸入完一個程序段,編輯軟件將程序數(shù)據(jù)最后一個字節(jié)在62256 中的存貯地址(是一個16位的地址,需要兩個字節(jié)存放),同時送到外部RAM的(00FAH)(00FBH)、(00FCH)(00FDH)以及(00FEH)(00FFH)三組單元中,即將關鍵數(shù)據(jù)STAD建立三重備份數(shù)據(jù)(數(shù)據(jù)副本)。系統(tǒng)每次上電進行初始化時,通過表決程序恢復STAD 的原值。若三對存放單元中,有兩對不一致,則表決失?。蝗羧龑Υ娣艈卧?,有兩對相一致,則表決成功。將S T A D 的三重備份建立在片外R A M ,是因為片外R A M 只有MOVX 指令才能修改,相比之下,片內RAM 中的數(shù)據(jù)可以被各種M O V 指令、算術指令、邏輯指令所修改,安全性差一些。

      2.8 用戶數(shù)據(jù)區(qū)的保護技術

      上面提到,用戶設定的參數(shù)以及編制的零件加工程序均要存貯在片外RAM62256 中,這些數(shù)據(jù)的寫入均由CPU 通過執(zhí)行指令“MOVX @DPTR,A”來實現(xiàn)。當CPU 受到干擾而非法執(zhí)行該指令時,就會改寫62256 中的數(shù)據(jù),導致用戶數(shù)據(jù)丟失。為了減小用戶RAM 中數(shù)據(jù)丟失的可能性,可在對62256進行寫操作之前加入條件陷阱,不滿足條件時,不允許寫入,并進行報警。程序格式如下:

      2.9 設計軟件的其他注意事項

      提高數(shù)控系統(tǒng)的可靠性,除了采取上述軟件措施以外,還應注意以下兩點:①慎重使用堆棧。程序運行中經(jīng)常與堆棧打交道,但堆棧操作因干擾而出錯的幾率較大,堆棧操作的次數(shù)越多,出錯的概率就越大。因此,在使用堆棧操作時,級數(shù)不要使用太多,應盡量減少子程序的個數(shù),特別注意不要使子程序嵌套太深。從抗干擾的角度考慮,堆棧區(qū)的設置應遠離程序區(qū)和數(shù)據(jù)區(qū),最好應單獨設置,避免影響程序的其他部分。②數(shù)控系統(tǒng)在“自動運行”狀態(tài)下,CPU的外部中斷最好處于關閉狀態(tài)。至于急停和限位這兩個信號,在不影響系統(tǒng)運行速度的前提下,最好采用查詢的方式,不用中斷。這樣,系統(tǒng)在自動運行時,關閉了所有中斷,大大降低了外部干擾信號對系統(tǒng)的侵擾。而當系統(tǒng)工作在“編輯”狀態(tài)或“參數(shù)設定”狀態(tài)時,再將鍵盤中斷放開,用戶即可輸入數(shù)據(jù)。

    3 結語

      本文提出的幾種軟件抗干擾技術,簡單易行,不需要硬件投資,修改方便,通用性強,可靠性高。在筆者研制的多種經(jīng)濟型數(shù)控系統(tǒng)上使用,抗干擾效果顯著。從單軸控制到4 軸聯(lián)動,多個品種的數(shù)控系統(tǒng),連續(xù)多次通過國家技術監(jiān)督局機床質量監(jiān)督檢驗中心的抗干擾測試。目前,3000余臺經(jīng)濟型數(shù)控系統(tǒng)投入工廠穩(wěn)定運行已有十年之久。實踐證明,本文提出的軟件抗干擾技術具有一定的推廣應用價值。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內容及圖片均來自網(wǎng)絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯(lián)系我們刪除。