前言:我們精心挑選了數篇優質編程技術論文文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
關鍵詞:在系統可編程雙口RAM多軸運動控制卡
當今,數控系統正在朝著高速度、高精度以及開放化、智能化、網絡化的方向發展,而高速度、高精度是通過控制執行部件(包括運行控制卡及伺服系統)來保證的。以往的運動控制卡主是基于單片機和分立數字電路制作的,用以實現位置控制、光柵信號處理等功能。由于器件本身執行速度慢、體積大、集成度低,并且結構固定,電路制作完成以后,無法改變其功能和結構。采用在系統可編程技術,應用ispLSI器件開發的PC——DSP多軸運動控制卡,能夠完全解決上述問題,適應數控系統發展的需要。
1ISP器件及其優點
ISP(In-SystemProgrammability)器件,是美國Lattice半導體公司于20世紀90年代初開發出的一種新型高密高速的現場可編程數字電路器件,具有在系統可編程能力和邊界掃描測試能力,非常適合在計算機、通信、DSP系統以及遙測系統中使用。
在系統可編程技術與傳統邏輯電路設計比較,其優點在于:(1)實現了在系統編程的調試,縮短了產品上市時間,降低了生產成本。(2)無需使用專門的器件編程設置,已編程器件無須倉庫保管,避免了復雜的制造流程,降低了現場升級成本。(3)使用ISP器件,不僅能夠在可重構器件的基礎上設計開發自己的系統,還可以在不改變輸入、輸出管腳的條件下,隨時修改原有的數字系統結構,真正實現了硬件電路的“軟件化”,將器件編程和調試集中到生產最終電路板的測試階段,使系統調試數字系統硬件現場升級變得容易而且便宜[1]。
2在系統可編程技術應用
2.1系統描述
本所自主開發的多軸運動控制卡采用的是主-從式PC-DSP系統。PC機的主要任務是提供良好的人機交互環境;而DSP(數字信號處理器)則作為系統執行者,以高速度進行算法實現、位置調節和速度調節,然后經過16位的D/A將數據送給伺服控制單元。系統不但可以進行高速度高精度控制,同時也是一個DSP伺服系統的開發平臺。
PC運動控制卡采用美國德州公司DSP芯片TMS320F206作為系統的核心,運動控制卡由ISP模塊、DSP-PC通信雙口RAM模塊、光柵信號輸入模塊、數/模轉換電路模塊四部分組成(見圖1)。其中,ISP模塊中包括了可變地址的譯碼電路、輸入輸出緩沖/鎖存器電路、11位的自動加計數器電路、雙端口RAM的控制電路以及PC機和DSP測驗握手電路。本系統使用Lattice公司的ispLSI系列CPLD(復雜可編程邏輯器件)來實現這一部分數字電路和邏輯控制電路,如圖2所示。
2.2雙端口RAM訪問控制的實現
對于本系統來說,PC機要發送控制指令和進行大量數據計算,數據交換應盡可能占用較少的機時和內存空間;此外,PC機的系統總線與DSP之間還要進行大量可靠的數據傳輸,它們均過多地占用CPU時間,導致CPU效降率低。使用雙端口RAM,交換信息雙方CPU將其當作自己存儲器的一部分,可保證高速可靠的數據通信。我們選用2K×8bit的IDT7132,完全能夠滿足本系統中數據交換的要求。對雙端口RAM訪問,一般有三種方式,即映射內存方式、DMA方式和擴展I/O方式。映射內存方式訪問雙端口RAM,不需要周轉,訪問速度快。實模式及保護模式下,能對確定內存空間進行訪問,實現對RAM任意存儲單元讀寫;但在32位的Windows98和WindowsNT操作系統下,不支持對確定內存空間的訪問,要訪問雙端口RAM必須編寫復雜的硬件驅動程序,難度很大。DMA方式訪問端口RAM,傳送數據的速度靈活、擴展I/O方式訪問雙端口RAM,可以按實現要求分配I/O端口,實現對雙端口RAM所有存儲單元讀寫,這種方式軟、硬件設計都很簡單。所以,擴展I/O方式訪問雙端口RAM是最佳方案。
從技術上來說,PCI總線是最先進的,不僅速度快,而且支持即插即用等特性,但控制卡上雙端口RAM芯片是8們的IDT7132,而PCI總線是32位。為了簡化設計,對PC機一方,采用了16位ISA總線,通過擴展I/O方式訪問雙端口RAM。實際占用了兩個I/O端口地址,一個作為計數器預置端口地址,一個作為雙端口RAM讀/寫端口地址。PC機在讀/寫存儲器之前,首先要通過預置數端口,用輸出指令將要訪問RAM存儲器的起始地址置入11位可預置加計數器中;以后每訪問一次讀/寫端口,執行一次讀/寫操作,計數器中的地址就自動加1,計數器輸出指向RAM的下一個存儲單元。這樣,簡單地執行I/O指令,就可以傳送一批數據。而下位的微處理器(DSP)采用的是存儲器訪問方式,它將IDT7132的2K空間映射自己的外存儲器中,實現對雙端口RAM的任意存儲單元的訪問。
在PC機和DSP對端口RAM訪問時,只要不是同時訪問同一個存儲單元,就允許兩個端口對片內任何單元同時進行獨立的讀/寫操作,而且互不干擾。但兩個端口訪問同一存儲單元,會造成同時寫或者一側讀一側寫的訪問沖突,因此應避免這一訪問沖突發生。由于片內邏輯促裁可根據兩偶片選或地址信號同時到達的差別(小到5ns),對后到達一側進行封鎖,并同時輸出一個BUSY(約25ns)的低電平脈沖信號,利用這一信號,便可解決訪問沖突問題。一般來說,標準的ISA總線周期為3個時鐘周期,若主板ISA總線時鐘為8MHz,則一個時鐘周期為125ns;若總線時鐘為6MHz,則一個時鐘周期為167ns,相應的16位總線周期時間分別為375ns和501ns。所以對于PC機來說,可以將BUSY信號接ISA總線的I/OCHRDY信號線,總線周期中會自動插入一個等待周期(最多可達10個時鐘周期),直至BUSY信號拉高;同樣,對于DSP,BUSY信號接DSP芯片的READY信號線,系統總線也會自動插入等待周期,從而避免了PC—DSP對雙端口RAM的共享沖突。
無論是PC機還是DSP,傳送數據后都需要通知對方及時提取數據,以免后面數據對前面數據覆蓋,這就需要協調PC—DSP間的數據交換。通過中斷控制器可實現數據交換過程中兩個CPU之間相互中斷。對于PC機寫RAM操作完成之后,PC機通過端口1將中斷控制器2(DSP中斷控制器)置位,DSP響應中斷后進入中斷服務程序。在子程序中,DSP可以通過端口4將中斷控制器2復位。同理,DSP也可向PC機發中斷,PC機響應中斷后進入斷服務程序。
2.3器件選擇和輸入方法
選擇可編程邏輯器件型號時,應注意到ISP模塊電路總共使用I/O管腳數目為52個,大約需要10~20個GLB單元。所以選用ispLSI1032E-100LJ84芯片來實現ISP模塊電路,它的集成度達到6000門,具有64個I/O引腳,寄存器超過96個,32個GLB單元,系統速度為100MHz,從資源和速度上能夠滿足該多軸運動控制卡的需求。同一芯片內的門電路、觸發器、三態門等參數特性完全一樣,抗干擾性能比原來分立器件構成的電路也有極大的提高,完全可能實現全數字的I/O電路。
使用Lattice公司提供的數字系統設計軟件ispEXPERT,邏輯設計可以采用原理圖、硬件描述語言(HDL)以及兩者混合采用三種方法輸入。本設計采用ABEL—HDL語言輸入和編寫測試向量,并且使用自己開發的編程板完成對器件的編程和下載。
2.4主時序設計
以PC機為例,訪問雙端口RAM分以下兩步完成:
第一步是向PC機I/O端口中的數據端口送數據D0~D12,D0~D10(訪問RAM的起始地址)送至計數器,D11作為可預置計數器的LOAD信號;當D11為1時,計數器裝入預置數。D12作為讀寫控制位,D12為1時,PC機對RAM寫操作;為0時,對RAM讀操作。
第二步是通過PC機ISA總線的I/O端口讀寫RMA,每完成一次讀/寫,計數器輸出就指向下一個要訪問的RMA地址單元。時序如圖3所示。
3功能仿真
為了保證本系統設計的正確性,在對ISP器件下載以前,首先對系統進行功能仿真。功能仿真的輸入信號由ABEL-HDL編寫測試矢量給出。仍以PC機訪問雙端口RAM為例,系統的功能仿真波形圖如圖4所示。
由圖4可以看出,假定訪問RAM的0x006地址,在LOAD(D11)信號到來后,當IOW的上升沿到來時(見圖4中1所示),預置數(OA3OA2OA1OA0=0110,即十進制數6)寫入計數器。然后對雙端口RAM進行讀操作,PC讀信號(IOR)下降沿到來(見圖4中2所示),這時RAM的OEL端(數據輸出控制)為低電平(數據輸出有效),CEL端(RAM片選)為低電平(選中),RWL(RAM的讀寫控制)置高電平(讀有效),PC機讀取RAM中的數據;當IOR上升沿到來時(見圖4中3所示),計數器輸出地址加1(OA3OA2OA1OA0=0111,即7),指向下一RAM地址。在預置數重新寫入計數器后(見圖4中4所示),對雙端口RAM進行寫操作。PC寫信號(IOW)上升沿到來,OEL端置高電平,CEL端置低電平,RWL置低電平(見圖4中5所示),PC機將數據寫入雙端口RAM中,計數器輸出地址自動加1。同理,DSP訪問雙端口RAM也可實現。
1.1有效避免資源浪費現象的發生
對于計算機軟件系統而言,數據庫作為其中的核心內容,需要得到人們的重點關注。在數據庫設計的過程中,需要通過對軟件工程的定義分析,實現對不同軟件工程項目的認識及理解,滿足數據庫編程的基本需求,從而有效避免了數據資源浪費現象的發生。在軟件設計中,設計人員需要提高對軟件數據庫編程的重視,通過對數據庫資源的綜合性分析,避免數據庫出現使用性能不高的問題,解決數據故障限制因素。對于不良的數據庫而言,其后期系統的維護頻率會不斷增多,從而造成了計算機軟件維修中資源浪費的現象。
1.2提高計算機軟件系統運行速度
在計算機系統設計及分析中,需要通過對軟件系統的運用,實現對程序功能的穩定發揮,為數據資源的系統運行提供有效支持。而且,在高性能數據軟件系統運用中,可以通過對計算機系統的操作分析,進行準確、快速的信息傳輸,全面提高軟件系統的運行速度。同時,在計算機軟件系統使用的過程中,通過對數據庫資源的拓展分析,可以為用戶提供便利性的服務支持,減少數據資源浪費現象的發生。通過計算機軟件數據庫的構建,可以實現對數據庫資源的合理革新,從而為數據資源的儲存軟件系統的管理提供有效支持。
2計算機軟件工程中的數據庫建立
開展計算機軟件工程建設過程中,首先要針對數據庫系統進行完善,設計構建基礎的框架,計算機軟件通常是在網絡環境下運行使用的,因此在建設期間,也要考慮是否存在影響因素,通過各個系統之間的相互配合,來實現軟件功能,數據庫中的信息安全性也能夠得到保障。對于軟件工程中針對數據庫編程管理問題,在建立初期要有明確的使用方向,完成基礎框架設計后需要針對功能方面采取完善措施,不斷的補充其中的功能,并提升軟件自身防御能力,這樣即使是在網絡運行使用環境下,也能最大限度的避免受到病毒攻擊,確保數據信息安全,同時數據庫中信息的更新速率也能夠達到使用需求標準。數據庫建立是基于編程技術基礎上來開展的,對于一些技術性問題,通過功能之間的協調使用,可以更好的避免出現技術性問題,同時在軟件工程投入使用后最大限度的利用數據庫資源,在網絡環境中也能夠實現軟件的自動更新檢測。建立過程中要選擇適合的程序匯編語言,通過語言來完成功能框架編寫,選擇適合的匯編語言,針對不同的功能模塊也可以做出區分,這樣可以更好的幫助提升設計效果。
3對數據庫文件的應用
3.1面向對象的數據庫存儲模式選擇
數據庫存儲模式選擇,需要在分區后進行,存儲功能中可能會出現不同程度的功能隱患問題。這種數據庫存儲模式選擇也是對用戶訪問權限的定義,在軟件使用過程中,為確保內部重要信息的安全性,會對用戶的訪問權限進行定義,這樣不同級別的用戶所能夠登陸到的界面也存在差異,數據庫信息也都得到安全保障。基于文件類型選擇基礎上所進行的文件訪問,也更高效合理,實現上述功能在程序編寫期間要重點設計,根據所存儲的信息類型來對數據庫做出選擇,避免出現更深層次的問題,并幫助合理優化資源,利用過程中達到更理想的效果。不同資源在使用時需要根據所接收到的指令來調動數據庫內部信息,實現資源利用方面的優化。
3.2數據庫文件的加密保護
文件加密保護主要是針對基礎信息來進行的,這部分信息關系到使用者的個人隱私,一旦泄露會造成嚴重的影響,因此在所開展的數據庫文件加密保護中,要根據不同信息的重要程度來設置等級,采用登陸口令以及密碼加密的形式來進行保護,登陸到數據庫文件內部需要輸入相應的加密密匙,這樣工作人員可以根據常見問題來探討解決加密措施,以免文件應用過程中受到網絡病毒的影響,造成數據庫使用期間癱瘓問題。對于文件加密期間的數據信息選擇,通過各個系統之間的文件加密選擇,如果出現功能方面的沖突問題,可以通過系統的框架結構優化來達到更理想的優化使用模式。為各個系統之間的功能優化創造有利環境。
3.3數據存儲模式使用方法比較
存儲功能使用性能是否穩定,要從使用方法對比過程中來進行探討,觀察運行狀態下的軟件是否存在功能不穩定的現象,并從技術性角度來深入探討預防措施。設計期間的功能選擇直接關系到后續網絡訪問所選擇的形式,以及工作任務開展期間可能會遇到的相關問題,幫助提升系統投入使用后的功能穩定性,通過這種工作模式上的創新利用,可以幫助避免網絡環境中軟件使用受到計算機病毒的入侵,并最大程度的保護數據庫中信息的安全性,對于一些比較常見的技術性問題,對于這種配合方法的選擇也能夠達到更理想的運行效果。系統在運行過程中會對所接收到的信息快速篩選,將其中的有用信息進行歸類,這樣可以根據使用需求快速的調動數據庫內的信息,軟件投入使用后也可以根據操作需求對功能進行更新處理,這種方法的實現也需要各個系統之間的相互配合。對存儲模式進行對比,觀察其中所存在的問題,更有利于下一階段軟件功能設計的實現。
3.4開發設計中的編程技術選擇
編程技術選擇過程中,要以軟件功能的穩定性來進行探討,觀察在系統設計中對資源的利用是否優化,以及可能會出現的功能不穩定現象。針對比較常見的系統功能問題,在編程階段的技術選擇可以采用對比的方法來進行,觀察系統功能的穩定性,發現數據傳輸不準確的現象要及時采取解決控制措施,預防軟件的功能出現大面積癱瘓,影響到正常工作使用。程序檢測工作開展也是針對這些技術選擇問題來進行的,對所開發設計出的軟件進行穩定性檢測,為系統的運行創造出安全適合的環境,在這樣的環境下才能夠解決運行穩定性問題,并達到系統需求的工作環境。軟件功能穩定性與編程技術的選擇之間有很大關系,因此在選擇編程方法時要考慮是否可以解決這一技術優化利用的問題。開發初期階段出現問題可以重新優化基礎框架結構,這樣后續的建設計劃也可以順序開展,在這樣的環境下,計算機程序匯編面臨著功能實現與網絡環境安全防護的雙重任務,實現各項工作任務也是十分復雜的。
利用數控機床的數控加工,除了對數控機床要求多軸聯動以外,程序的編制是加工中的關鍵問題之一,在很大程度上決定了零件的加工精度和生產效率。據國內外數控加工統計表明,造成數控加工設備閑置的原因大約有20%~30%是由編程不及時造成的,數控程序編制的費用甚至可以與數控機床的成本相提評論。因此,質量高、速度快的編程方法,一直是和數控機床本身并行發展的。自動控制機床問世至今經歷將近半個世紀,數控加工編程方法經歷了手工編程、數控語言自動編程、圖形交互編程、CAD/CAM集成系統編程幾個發展時期。當前,應用CAD/CAM系統進行數控編程已經成為數控機床加工編程的主流。編程過程中,選擇合適的編程方法,制訂合適的編程策略,不僅能有效減少程序長度,提升加工效率,更能提高加工精度,提高零件表面加工質量。
2數控編程概述
在普通機床上加工零件時,一般是由工藝人員按照設計圖樣事先制訂好零件的加工工藝規程。在工藝規程中確定零件的加工工序、切削用量、機床的規格及工具、夾具等內容。操作人員按工藝規程的各個步驟操作機床,加工出圖樣給定的零件。這樣,整個零件的加工過程都是由人來完成。在由凸輪控制的自動機床或仿形機床上加工零件時,雖然不需要人對它進行操作,但必須根據零件的特點及工藝要求,設計出凸輪的運動曲線或靠模,由凸輪、靠模控制機床運動,最后加工出零件。在這個加工過程中,雖然避免了操作者直接操作機床,但每一個凸輪機構或靠模,只能加工一種零件。當改變被加工零件時,就要更換凸輪、靠模。因此,它只能用于大批量、專業化生產中。數控機床和以上兩種機床不同。它是按照事先編制好的加工程序,自動地對零件進行加工。編程人員把零件的加工工藝路線、工藝參數、刀具的運動軌跡、位移量、切削參數以及輔助功能等,按照數控機床規定的指令代碼及程序格式編寫成加工程序單,再把這一程序單中的內容記錄在控制介質上,然后輸入到數控機床的數控裝置中,從而控制機床加工。從零件圖紙到制成控制介質的過程,稱為數控機床的程序編制,即數控編程。數控編程是數控加工的基礎,數控機床之所以能加工出各種形狀、尺寸和精度的零件,就是因為有編程人員為它編制不同的加工程序。數控編程主要有手工編程和自動編程兩類。對于簡單的零件,通常使用手工G代碼編程的方法;而對于復雜的零件,就常常借助于CAD/CAM軟件自動編程。從零件圖樣的分析及工藝處理,數學處理和數值計算,編寫程序清單,直到程序的檢查和校核,均是由人工完成的,稱為手工編程。異型軋輥作為非圓截面零件,由前一章分析可知,加工點計算復雜且繁瑣,而且需要逐點計算各加工點的加工坐標,工作量大,顯然不適用于手工G代碼逐個加工點編程。
3自動編程
手工編程工作量很大,通常只適用于一些簡單的零件。對于幾何形狀復雜或者編程量很大的零件,手工編程便難以勝任。正是因為這種客觀上的需要,自動編程技術出現并發展起來。如今,自動編程技術已是數控加工中的關鍵技術。一般認為,凡是大部分或者全部采用計算機軟件處理圖形并由計算機自動產生數控加工程序的過程就可以稱為自動編程。目前,圖像交互式自動編程技術發展迅速,應用已經非常廣泛。交互式圖形自動編程系統采用圖形輸入方式,通過激活屏幕上的相應選單,利用系統提供的圖形生成和編輯功能,將零件的幾何圖形輸入到計算機,完成零件造型。同時以人機交互的方式指定要加工的零件部分、加工方式和加工方向,輸入相應的加工工藝參數,通過軟件系統的處理自動生成刀具路徑文件,并動態顯示刀具運動的加工軌跡,生成適合指定數控系統的數控加工程序,最后通過通信接口,把數控加工程序送給機床數控系統。這種編程系統具有交互性好,直觀性強,運行速度快,便于修改和檢查,使用方便,容易掌握等特點。因此,交互式圖形自動編程已成為國內外流行的CAD/CAM軟件所普遍采用的數控編程方法。交互式圖形自動編程系統實現了造型—刀具軌跡生成—加工程序自動生成的一體化,它的3個主要處理過程是:零件幾何造型、生成刀具路徑文件、生成零件加工程序。
(1)零件幾何造型
一般交互式圖形自動編程系統都提供CAD設計模塊,可以很方便地建立零件幾何模型。除此之外,交互式圖形自動編程系統還提供標準圖形轉換接口,可以通過導入、導出、轉換等得到編程系統的圖形格式。
(2)生成刀具路徑文件
在完成了零件的幾何造型以后,交互式圖形自動編程系統便可以生成刀具路徑,這一過程也常稱為前置處理。其基本過程為:首先確定加工類型,選擇加工部位,選擇走到路線或切削方式;選取或輸入刀具參數等加工所需的全部工藝切削參數;編程系統根據這些零件幾何模型數據和切削加工工藝數據,自動計算、處理,生成刀具運動軌跡數據,即刀位文件,并動態顯示刀具運動的加工軌跡。
(3)生成零件加工程序
這一過程也稱為后置處理,其目的是生成針對特定數控系統的數控加工程序。每一種數控系統所規定的代碼及格式不盡相同。因此,自動編程系統通常提供多種專用或者通用的后置處理文件。后置處理文件的作用即是將已成生的刀位文件轉變成合適于被選擇數控系統的數控加工程序。這些文件多數是開放的,編程人員可以根據需要對其進行修改。
4R參數編程
R參數編程方法本質上也屬于手工編程,是西門子數控系統提供的一種先進的編程方法,它是使用參數變量來代替程序中的功能代碼或地址值而編寫的加工程序。R參數編程的實質,就是用變量R編寫邏輯計算公式,并根據R數值的條件,多次調用子程序,以簡化編程,并使得程序簡明精練,計算精確無誤。在加工程序中,靈活地運用R參數能夠使程序簡潔而實用。在SINUMERIK810D數控系統中,系統提供的R參數共有100個,即R0~R99,在編程中可對這些R參數進行賦值,例如:R0=2,R1=-7。R參數還可進行加、減、乘、除、開方、乘方、三角函數等運算,例如:R1=R1+1,R2=SIN(R0)。編制R參數程序時,首先確定參數變量,然后根據加工要求編制邏輯計算程序,最后確定參數值和初始狀態,將編好的程序輸入數控機床即可運行。在加工過程中可根據不同零件的特點和加工需求來設定加工參數,從而控制零件的加工精度。對于形狀相似的零件,應用高級編程及R參數編制數控程序,只需編制一個零件的加工程序,僅需改變R參數的值就可實現對不同尺寸零件的加工,從而減少編程工作量,同時還可避免因輸入程序時可能產生的錯誤,還可省去程序校驗時間,提高工作效率,降低生產成本。