目前常用的開放式數控結構有:基于單片機的和基于PC的。前一種方式的優點就是簡單、實用,它能完成普通的數控加工,成本和開發費用也較低,開發技術比較成熟。但存在不足和缺點:1)單片機運算速度有限,難以實現對機床的高性能控制,特別是插補算法的實現;2)匯編語言或C語言編程,對硬件的依賴性比較大,數控軟件移植比較困難;3)低檔的單片機資源有限,不適用實時性高的操作系統。
基于PC的開放式數控,包括PC嵌入NC型,NC嵌入PC型和全軟件CNC型。利用通用Pc豐富的軟件、硬件資源,能夠很快地開發出獨具特色的軟件系統,具有良好的人機界面、通用的操作風格,二次開發、升級也比較簡單。但是,其不足是資源浪費比較嚴重,穩定性差,采用通用的Windows操作系統,由于微軟的技術封鎖,用戶無法從底層及內核對操作系統進行配置,運動控制卡和操作系統之間很難達到無縫連接;另外,專業性差,Windows是通用操作系統,主要在桌面級和服務器級應用.并非為工業現場設計的,實時性難以達到保證;最后,整個數控系統的開放性也比較差,PC底層硬件層不對用戶開放,用戶無法對底層硬件進行裁減,運動控制卡也是對用戶封閉的,二次開發困難,操作系統對用戶也不開放。
隨著ARM和DSP等各種嵌入式系統微處理器的快速發展,為開放式數控系統的發展提供了新的解決方法。ARM具有比較強的事務管理功能,可以用來運行界面以及應用程序等,其優勢主要體現在控制方面;而DSP主要是用來計算的,如各種插補運算,它的優勢是強大的數據處理能力和較高的運行速度,可以實現高精度多軸伺服控制。
本文以ARM和DSP微處理器為數控系統的硬件平臺,以源代碼開放的實時操作系統RT-Linux為系統的軟件平臺,構建底層開放的數控系統平臺。
1 基于ARM的開放式數控系統
1.1 系統體系結構
采用雙CPU的主從式結構,以ARM為內核的主控板作為主CPU,稱為上位機〔ARM主控板),其任務有:外部數據及信息輸入模塊,用戶界面模塊,這兩個模塊是系統和用戶交互的窗口,上位機將用戶輸入的信息接受、預處理,通過通訊方式以數據幀的形式發送到下位機。系統管理模塊、存儲模塊、通訊控制模塊、系統維護模塊都是上位機系統要實現的功能模塊。
從CPU,稱為下位機,是采用DSP和復雜可編程邏輯器件(CPLD)技術設計開發的多軸運動控制卡。主要負責高速插補算法、邏輯計算及現場信息的采集,因此,插補模塊、可編程機床邏輯控制(PMC)模塊、參數采集模塊是下位機的功能模塊。
ARM主控板和DSP運動控制卡通過網絡連接線和交換機相連接,組成一個局域網,通過交換機來實現上位機和下位機之間的數據通訊,這樣,ARM主控板不但可以對D5P運動控制卡進行控制、接收DSP運動控制卡反饋的數據,還可以與其他數控機床、車間服務器進行數據通訊,易于實現機床聯網,車間服務器可以對整個局域網內的數控機床進行整體監控,同時為網絡化制造提供設備層的網絡鏈接。圖1為開放式數控系統體系結構圖。
圖1開放式數控系統體系結構圖
1.2 系統功能模塊劃分
根據用戶需求提出系統的功能需求,并按照功能劃分功能模塊。模塊劃分的原則是藕合弱,內聚強。藕合表示模塊之間聯系的程度。松散藕合表示模塊之間聯系比較弱,模塊的獨立性強,可以單獨開發和維護。內聚表示模塊內部各成分之間的聯系程度。按照邏輯劃分系統的功能模塊,即把處理邏輯相類似的功能劃為同一個功能模塊。系統的功能模塊如下。
1)外部數據及信息輸入模塊:外部輸入的信息主要有加工信息、控制信息.這兩種信息的處理邏輯不同,可將它們分成兩個子模塊。一個是機床操作盤輸入子模塊,從這里輸入的信息基本上都是邏輯信息,比如主軸的控制信息,冷卻潤滑的開關信息等。這些信息經過系統邏輯處理,輸出到系統的電氣部分。另一個是通過控制面板上的按鈕愉入的加工信息,主要指點動和手脈加工的輸入信息。這些信息經過處理輸出加工脈沖。
2)用戶界面模塊:通過用戶界面既有信息的輸入也有信息的顯示輸出。輸入的主要有參數的設置和程序的編輯。輸出的是加工現場的信息。對于參數設置和零件程序的編輯,都是通過控制面板上的按鈕在用戶界面中輸入信息,系統將用戶確定的輸入保存,它們的邏輯相似,都歸為用戶界面輸入模塊。用戶通過界面觀察加工狀態信息,需要在一定的時間間隔內進行刷新,這個功能由顯示模塊來完成。在顯示模塊中有三部分的信息:加工現場信息、出錯信息以及參數信息。在系統運行過程中,若出現問題,系統會在用戶界面上顯示系統故障的簡單提示,需要系統維護模塊的協助。
3)可編程機床邏輯控制(PMT)功能模塊:處理系統內的邏輯信號,邏輯信號有從機床操作板輸入的,也有加工程序經過預處理后得到的控制信息。
4)自動加工功能模塊:包括編譯模塊、預處理模塊、插補運算子模塊。
5)通訊控制功能模塊:主要實現與服務器和視頻監測系統的通訊。
6)存儲模塊:負責加工程序和系統參數的存儲。
7)信息采集模塊和顯示模塊:現場的信息通過兩模塊在用戶界面上呈現。
圖2所示為上述的各個功能模塊組合起來的數控系統功能模塊圖。
圖2數控系統功能模塊圖
2 開放式數控系統硬件平臺實現
2.1 基于ARM的主控板
上位機主控板的主處理器選用Hynix公司的
HMS30C7202o HMS30C7202是32位RISC微處理器,由ARM720T內核和其他一些外圍接口器件組成,具有高性能低功耗的特點,片內資源非常豐富,具有很高的集成度。主要的外設如下。
1)電源:系統的主控板采用ATX計算機標準電源2.01版。
2)存貯器:包括Flash ,SRAM ,SDRAM,EPROM,采用存儲啟動代碼、操作系統內核映像和應用程序等。
3)通訊模塊:以太網接口用于與下位運動控制卡的通訊及服務器和視頻監測系統的通訊,串口主要用于ARM主控板調試,可以用于在數控系統中傳輸加工程序。USB接口主要用于文件系統的燒寫傳輸。
4)系統的輸入輸出接口:系統的輸入設備接口主要有PS/2鍵盤接口、觸摸屏。
基于ARM7202的卞控板全貌圖如圖3所示。
圖3主控板實物圖
2.2 基于pSP的運動控制器
在高速、高精度的數控機床中,由于要做大量復雜的運算,因此傳統的單片機已經不能滿足系統的要求,而DSP由于使用靈活,在用于實現數據量大、計算復雜、實時性要求高的數字信號處理任務時,與一般微處理器相比,其速度更快,效率更高,可滿足這一需求。本文提出一種硬件上基于D5P+CPI刀的運動控制器。
選用TM5320C24x子系列的TMS320Lh2407ADSP作為運動控制器的主控制器,選用Altera公司的EPM7128AETC100-10型CPLD來實現運動控制器的部分功能。主控制器是運動控制器的核心部分,是由DSP及外圍電路組成的一個DSP的最小系統,該模塊由四部分組成,BSP主控芯片、電源、晶振和外擴存儲器。CPLD主要實現地址譯碼、開關量輸入/輸出、編碼器反饋信號和手輪脈沖輸入處理、DSP側并行通訊的邏輯處理等功能。
數控系統發出的進給位移和速度指令,經過轉換和功率放大后,作為伺服驅動裝置的輸入信號,并控制電動機產生某一速度和角度的位移,從而驅動執行部件實現給定的速度和位移量。本文設計的運動控制器采用脈沖輸出方式,同時,為抑制長距離信號傳輸中可能引入的千擾信號,輸出至驅動器的脈沖和方向信號采用差動輸出方式。圖4所示為運動控制器實物圖。
圖4運動控制器實物圖
3 開放式數控系統軟件平合實現
3.1 主控板軟件
圖5所示為數控軟件平臺示意圖。該數控系統采用典型的上/下位機模式。ARM主控板、嵌入式Linux操作系統以及MiniGUI圖形系統構成了數控系統上位機的硬件、軟件平臺,而網絡通訊、圖形系統等各個功能模塊,是數控軟件系統的主體,兩部分共同構成整個上位機。
圖5數控軟件平臺示意圖
數控軟件的軟件功能模塊主要可以分成兩大類,實時性要求不高的軟件功能模塊和實時性要求非常高的軟件功能模塊。實時性要求高的軟件功能模塊主要包括如下內容。
1)總控模塊:是整個系統的核心,主要負責各控制任務的調度和各功能模塊的集成和通訊,包括系統初始化、進程創建、任務調度以及數據流的緩存等,同時還負責將控制過程的信息及時向人機界面反饋。整個總控模塊是通過嵌入式Linux內核和MiniGUI線程實現的。
2)網絡通訊模塊:在該模塊中,主要完成的工作有如下三個部分:(1)ARM主控板和DSP運動控制卡的網絡通訊;(2) ARM主控板和仿真服務器的網絡通訊;(3)ARM主控板和車間服務器的網絡通訊。
3)通信數據幀編碼譯碼模塊:是整個數控系統中信息流的重要組成部分,完成從文本信息、控制信息、狀態信息等信息之間的相互轉換。信息流主要有下面幾個部分:(1)ARM主控板下發數據幀信息的編碼;(2)ARM主控板對DSP上傳信息的譯碼;(3)ARM主控板對仿真服務器下發信息的譯碼;(4) ARM主控板上傳仿真服務器信息的編碼。
4)G代碼解析模塊:用來完成數控程序的解釋,它是數控系統中不可缺少的一個組成部分,包括預處理和G代碼解析。
5)人機界面模塊:采用廣泛應用于工業控制領域的MiniGUi圖形系統,主要完成機床狀態信息的顯示、ARM主控板和DSP運動控制卡或者其他網絡數控設備的通訊信息顯示、數控加工代碼的顯示以及其他輔助信息的顯示等。圖6所示為本系統人機界面。
圖6人機界面
3.2 DSP運動控制器底層控制
運動控制器上運行的底層控制程序對實時性要求很高,需要在一個插補周期內完成插補運算、電動機進給控制、終點判別和編碼器讀數等任務,同時還要處理開關量輸入輸出和通訊管理等任務。底層控制程序的大部分代碼采用G語言編寫,部分對底層I/O地址的操作采用匯編語言來實現。底層控制程序框圖如圖7所示。
圖7底層控制程序框圖
4 聯機調試
本文以廣州數控設備廠生產的。CNC6135型數控車床作為控制對象,用開發的開放式數控系統替代原有的數控系統,實現數控系統和機床本體的連接,完成開放式數控系統對機床本體的基本控制。圖8所示為整個系統連接示意圖,其中運動控制部分本文未予介紹。
圖8數控系統與機床本體連接示意圖
4.1 手動模式測試
對點動模式下的各種控制指令進行全面測試,都能對機床進行相應的控制,結果正確。
4.2 自動模式測試
在自動模式下,可以完成G代碼文件的解析、通訊數據幀的編碼以及數據幀的下發,實現工件的自動加工。數控系統啟動后,機床操作人員發出控制命令后,自動讀取加工代碼文件、調用G代碼解析模塊完成代碼解析,調用網絡通訊模塊發送通訊數據幀。對自動模式下連續運行功能進行了各種測試(主要是直線插補),能對機床進行相應的控制,結果正確。
圖9外圓切削工件圖
5 結語
本文將嵌入式技術應用于開放式數控系統的研究中,構建了具有自主知識產權的、結構開放的數控系統加工平臺。整個系統由ARM+DSP的硬件平臺和RT-Linux+MiniGilI的軟件系統構成,軟/硬件底層完全開放。本文提出的開放式系統增加了系統的網絡功能,為網絡制造的末端輔平了道路,底層設備信息可以方便地遠程訪問與控制。最后,完成了開放式數控系統和機床本體的硬件連接,替代原有的數控系統,對數控系統的一些功能進行測試和試驗,實現了預期效果,為我國開放式數控系統的研究做出了一些有益的探索。
(審核編輯: 智匯張瑜)
分享