張占昭
摘要:隨著嵌入式系統的深入發展,在工業控制的每個系統應用越來越廣泛,數控系統也不列外。本文從數控系統的軟件和硬件兩個方面入手,分析對比了ARM系列產品的優缺點,并選型了ARM9,分上下兩層進行了設計;進而實現了基于Linux數控系統軟件,分別描述了數控系統軟件總體的架構、開發方式的設想以及軟件開發的具體步驟,通過硬件和軟件的具體實現,旨在提升數控系統的效率。
關鍵詞:Linux;數控系統;ARM
中圖分類號:TG659 文獻標識碼:A 文章編號:1007-9416(2017)11-0062-01
數控技術從產生到發展壯大已經有60多年的歷史,同時隨著計算機技術的快速發展,基于PC計算機的數控系統得到了前所未有的發展壯大,但同時帶來了一系列問題,其中最大的問題是智能化、智慧化程度不夠,換句話說就是基于PC計算機的數控系統無論從硬件設計還是軟件開發環境都不能滿足智慧數控系統的要求,本文旨在利用計算機方面的ARM和Linux技術來解決上述問題,同時提升數控系統的性能以滿足市場需求。
1 基于ARM的數控系統硬件實現
通過對ARM系列產品對比分析,在本系統中我們選擇了ARM9,它可以完全滿足硬件系統設計的需要,并且具備高性價比和低功耗等特點,技術上采用哈佛架構,存儲器和寄存器統一編址,指令更加節??;高速Cache容量更大,流水線級數更多,指令由原先的16位升級為32位,處理能力更強; ARM9支持流行的實時操作系統諸如:Linux各種版本。
系統硬件設計采用上下兩層設計方式,底層采用ARM的最小工作模式,盡量減少底層硬件設計,這樣做的好處是如果以后系統升級將十分方便,也就是說,系統升級時盡量不動底層硬件設計,用戶只需調整自己產品部分即可,方式是將ARM9核心部分用外部總線和用戶產品連接在一起,用戶產品通過各種接口與產品的功能模塊(如觸摸屏、鍵盤、液晶顯示、USB等)進行對接。
數控系統通過接口將現場數據信息輸入輸出,與ARM9通訊,這是整個系統設計的關鍵,其次是沖頭、電機位置、速度、計算插補、數據輸入/輸出整個數控系統流程。數據輸入/輸出的方式采用將ARM9的三總線(數據總線、地址總線、控制總線)、讀寫控制邏輯、中斷控制系統、定時計數器系統等封裝起來作為一個總接口與外界聯系,數控系統的網絡接口采用工業總線的方式傳送。數據信息的采集用的是各種傳感器如位置、速度等。
2 基于Linux的數控系統軟件實現
數控系統需要有良好的交互性和友善的圖形界面,所以這里選擇MiniGui這個能給Linux系統提供良好圖形界面的軟件,MiniGui軟件由著名開發商開發,支持圖形界面的所有GUI ,且得到了大量Linux嵌入式系統開發者的認可,技術上給予了支持,MiniGui和C++的函數庫能夠無縫的對接,函數庫可以很好支持圖形界面設計,對幾乎所有的智能設備,特別是一些手持設備以及智能路由網絡設備。MiniGui軟件在占用數控系統硬件資源中是最小的一個,使用內存空間可控制在1M左右,這對于圖形界面系統十分理想,也是其他軟件無法達到的;MiniGui軟件接口設計可以和數控硬件系統接口無縫連接,圖形化接口更簡單、快捷,處理圖形操作效率更高,非常適合工業自動化控制;MiniGui軟件通過配置可以實現跨操作系統操作,簡單來說就是移植性極強,方式是兼容性極強的API接口。
在這里要提出一個Linux嵌入式系統新開發方案,為了提升開發效率,最好的解決方法是使用C/S模式,傳統開發Linux嵌入式系統是每個程序員需要在PC機上要么裝Linux操作系統,要么在虛擬機下裝Linux操作系統,然后開發出的程序分別調試運行,在放在一起調試運行,這樣既浪費人力物力,效率還低,如果采用C/S模式即服務器/客戶機,方法是架設一臺Linux服務器,程序員通過局域網連接在一起,程序可以及時互通,協議可使用FTP,然后服務器通過串口、模擬串口、USB接口亦或者點對點網絡將已經通過GCC或者Make編譯的文件下載到宿主機,這樣一來,所有程序員開發的程序出口就統一了,大大提升了程序開發效率。
Linux嵌入式數控系統第一步從Linux官方網站下載一個符合要求的(網站上有具體說明),然后初始化裁剪、配置、編譯運行;第二步將Linux嵌入式系統移植到之前設計好的ARM硬件上;第三步數控系統硬件驅動程序開發,包括字符型硬件、網絡型硬件、塊型硬件(之前已經被描述為文件);第四步開發Linux數控系統軟件中的API,就是一些模塊功能函數;第五步人機圖形界面的開發,利用MiniGui軟件;第六步每個功能模塊具體算法攻堅,如插補算法、 3D圖形描繪算法等。
3 結語
本文實現了基于ARM與Linux的開放式數控系統,結合ARM與Linux在嵌入式系統中的具體優勢,在普通PC計算機的平臺下,給出了具體實施開放式數控系統的解決方案和策略,目的是提升現行數控系統性能的同時,給數控系統的技術研究加入新的計算機技術(ARM與Linux),使其更加智能化智慧化。
參考文獻
[1]張愛玲.現代數控原理與控制系統[M].北京:國防工業出版社,2008.
[2]馬廣云.ARM嵌入式處理器結構與應用基礎[M].北京:北京航空航天大學出版社,2007.
[3]張春曉.基于實時Linux平臺的CNC系統研究與實現.南京航空航天大學[D].2003.
[4]蔡光起,史家順.開放式數控系統的現狀與發展[J].機械制造,2005,43(6):18—21.
Abstract:With the development of embedded system, more and more widely used in industrial control system, CNC system is not out of the list. This paper from two aspects of hardware and software of CNC system, advantages and disadvantages of the ARM series of products, and the selection of ARM9, divided into two layers of the design; so as to realize the NC system software based on Linux, describes the specific steps of CNC system software architecture, development ideas and software the development, through the realization of hardware and software, to enhance the efficiency of CNC system.
Key Words:Linux;Numerical control system;ARMendprint