丁 許 何 寧 李 亮 郝秀清
(南京航空航天大學機電學院,江蘇 南京 210016)
?
基于PMAC的微細銑床數(shù)控系統(tǒng)軟件開發(fā)*
丁許何寧李亮郝秀清
(南京航空航天大學機電學院,江蘇 南京 210016)
以基于PMAC運動控制的三軸微細銑床為對象,在Windows平臺上采用C#編程語言進行數(shù)控系統(tǒng)軟件的開發(fā)。首先對數(shù)控系統(tǒng)硬件配置作簡要介紹,然后針對微細銑床加工特點進行數(shù)控軟件的總體功能模塊設計,重點實現(xiàn)了加工程序運行實時顯示、三維實時刀軌顯示、旋轉緩沖區(qū)等特色功能模塊的設計開發(fā)。數(shù)控系統(tǒng)軟件運行平穩(wěn)可靠,功能完善,人機界面良好。
PMAC;三維實時刀軌顯示;旋轉緩沖區(qū)
微細銑削技術具有加工精度可控、適用多種材料、可加工三維復雜形狀、設備費用低等優(yōu)點,是最適于加工復雜三維微結構的技術之一[1],而微細機床是微細銑削技術發(fā)展的基礎,其整體精度與動態(tài)特性直接影響被加工微小工件的尺寸精度與表面質量等,是微細切削加工的關鍵硬件基礎[2]。近年來,微細銑削機床正朝著小型化和高精度化的方向發(fā)展,尤其是開放式數(shù)控系統(tǒng)的引入,大大提高了微細機床的加工柔性。
開放式數(shù)控系統(tǒng)具有可移植性、可縮放性、相互操作和相互替代性等特點[3],已成為當前CNC發(fā)展的必然趨勢。其構成有多種形式,其中采用運動控制器+PC型開放式數(shù)控系統(tǒng)結構進行微細機床的研制已成為當前熱點。北京航空航天大學的邱時前研制了基于PMAC運動控制卡的五軸微銑削機床并開發(fā)了可編輯和執(zhí)行G代碼程序的數(shù)控系統(tǒng)[4]。南京航空航天大學的曹自洋研制了一臺三軸微細銑削機床,構建了基于運動控制器與PC機的并行雙CPU數(shù)控系統(tǒng),并采用C#開發(fā)了微細銑削控制軟件[5]。哈爾濱工業(yè)大學的張鵬采用高精度運動控制卡PMAC嵌入工控機的開放式數(shù)控系統(tǒng),進行了微小型超精密微細銑削機床的研制[6]。大連理工大學的呂元哲也采用PMAC多軸運動控制卡及工控機,搭建了PC+NC型上下位機式并行雙CPU的數(shù)控系統(tǒng)并采用VC++6.0完成數(shù)控軟件的開發(fā)[7]。其他高校如山東理工大學、濟南大學、天津大學等也都對開放式數(shù)控微細銑床進行研制并對其配套數(shù)控軟件進行開發(fā)[8-10]。
本文在基于PMAC運動控制器的三軸微細銑床基礎上,針對微細銑削的加工需求,對數(shù)控軟件的總體功能模塊進行設計與開發(fā),著重完成了加工程序行實時顯示、三維實時刀軌顯示、旋轉緩沖區(qū)等特色功能的開發(fā)。
數(shù)控軟件的開發(fā)對象為立式三軸微細銑床,其采用龍門式結構,機床本體尺寸為800 mm×800 mm×750 mm,X、Y、Z三軸行程分別為150 mm×150 mm×100 mm,主軸最高轉速達100 000 r/min[5],可進行微細三維復雜形面的加工與實驗。機床本體實物如圖1所示。
該微細銑床硬件結構上采用運動控制器+PC型開放式數(shù)控系統(tǒng)結構。以PC機為主體,下位機采用美國 Delta Tau 公司的PMAC運動控制器,其控制器通過以太網與主機進行通訊并通過接口與各伺服單元和I/O單元連接。機床X、Y方向工作臺為直線電動機直接驅動,Z方向工作臺采用伺服電動機配合滾珠絲杠的驅動方式,同時通過光柵編碼器對各個方向進行位置反饋監(jiān)測,實現(xiàn)對電動機的精確控制。主軸采用氣體靜壓軸承電主軸并配備高性能磁束向量控制交流變頻器進行主軸轉速的控制與調節(jié)。圖2即為微細銑床控制系統(tǒng)框圖。
微細銑床控制軟件的開發(fā)是面向該銑床的專業(yè)操作人員,軟件通過動態(tài)鏈接庫的方式調用運動控制卡函數(shù),結合微細機床的操作需要,將機床的實際加工過程所需的所有功能進行整合與開發(fā),實現(xiàn)加工過程的簡單易操作。本軟件使用Visual Studio2010.NET作為其開發(fā)工具,采用C#編程語言,結合對其他數(shù)控系統(tǒng)的研究和微細銑削機床的實際使用需求,采用模塊化思想進行數(shù)控軟件的設計開發(fā),如圖3所示。下面對各個功能模塊作簡要介紹。
(1)主控制模塊:用于建立PC機與PMAC控制器的通訊連接并初始化,實現(xiàn)對各臺電動機的閉環(huán)控制,為微細銑削機床的加工做準備,也用于加工結束后解除對電動機的控制。
(2)實時命令提示模塊:用于PC機與PMAC控制器的直接交互,可向PMAC輸入在線命令并在窗口中返回PMAC處理結果,同時該窗口也將提供實時的用戶操作信息與加工狀態(tài)信息,增強用戶友好性。
(3)實時顯示模塊:用于監(jiān)控微細銑床的運動狀態(tài),可實時顯示加工過程中X、Y、Z三軸的實際位置,實際速度與跟隨誤差等運動參數(shù)。
(4)手動操作模塊:用于完成微細銑床的手動操作,包括加工零點的設置、快速回零點、手動速度的設定和3種模式的手動操作。該模塊主要用于機床的對刀、快速進給和工件試切等操作。
(5)普通程序加工模塊:用于普通加工程序的相關操作,可打開現(xiàn)有程序、編輯新程序、保存程序等操作,并可將加工程序下載至PMAC程序緩沖區(qū),實現(xiàn)機床加工的運行、暫停、恢復和停止,同時在加工程序窗口中實時標亮正在加工的程序行。
(6)旋轉緩沖區(qū)程序加工模塊:用于大型加工程序(容量大于64K)的相關操作,利用PMAC控制器自帶旋轉緩沖區(qū)功能,實現(xiàn)加工程序大小不受控制器內存控制。
(7)三維刀軌顯示模塊:用于三維刀軌的實時顯示,可空運行加工程序進行刀軌仿真,還可在實際加工或手動操作過程中監(jiān)測加工軌跡狀態(tài)。視圖可使用鼠標進行圖形的放大、縮小、平移與旋轉,還可顯示選定刀軌位置的坐標值。
(8)狀態(tài)監(jiān)控模塊:用于監(jiān)測機床運行狀態(tài),狀態(tài)信息包括電動機閉環(huán)狀態(tài),編碼器運行狀態(tài)信息以及X、Y、Z三軸的超程限位狀態(tài),方便機床故障的排查。
3.1加工程序運行實時顯示功能
對于數(shù)控系統(tǒng)來說,在加工程序運行過程中能夠實時跟蹤正在加工程序行這一功能是至關重要的,尤其是在大型加工程序的運行中?;赑MAC的數(shù)控軟件開發(fā)可以實現(xiàn)這一功能,卻鮮有文獻涉及這一功能具體實現(xiàn)方法。實現(xiàn)這一功能的基本思想是在每一段加工程序行前自動插入標志變量賦值語句,程序運行過程中實時查詢該標志變量來確定正在加工的程序行。窗口顯示的是正常加工程序,但實際下載至PMAC的加工程序如下:
M4000==1
Open PROG 1
M4000==2
CLEAR
M4000==3
G01 X5 Y5
……
CLOSE
程序中的M4000是自定義的M標志變量,定義語句為“M4000->X:MYM10F1”。程序中不能使用“=”進行賦值,必須使用“==”賦值。因為PMAC程序運行具有前瞻性,即程序中的賦值運算會在實際運行前進行,若使用“=”會導致M4000賦值提前于實際運行的程序代碼?!?=”是同步M變量賦值,當程序遇到同步M變量輸出時,并不馬上執(zhí)行,而是在下一個運動開始時進行運算執(zhí)行,這樣M變量輸出就可以與運動程序完全同步。
在進行加工程序下載前使用自定義add_Mflag()函數(shù)自動在每行程序前加上“M4000==程序行號”并將已添加標志變量賦值的程序下載至PMAC中,在程序執(zhí)行過程中,通過實時查詢自定義的M標志變量即可定位正在加工的程序行。程序流程圖如圖4所示。由于旋轉緩沖區(qū)運行程序時也使用了實時加工程序行顯示功能,所以實現(xiàn)效果圖如圖5所示,可實時標亮正在加工程序行。
3.2三維實時刀軌顯示功能
數(shù)控系統(tǒng)的發(fā)展趨勢對數(shù)控軟件的人機交互性提出了更高的要求,三維實時刀軌顯示已成為數(shù)控系統(tǒng)一大重要功能,尤其是在微細銑削加工中,微小直線段不易觀察,刀軌的三維實時顯示顯得尤為重要。
C#開發(fā)三維可視化模塊有多種方案,有VTK的.NET版本ActiViz.NET,Opengl的移植如Sharpgl、Csgl框架,AnyCad.net,Direct X等,鑒于開發(fā)方便及需實現(xiàn)的模塊功能,選擇AnyCad.net進行三維實時刀軌顯示模塊的開發(fā)。AnyCAD.net 是一款基于.net平臺的三維控件,該控件為三維圖形開發(fā)程序員提供專業(yè)級的、簡單易用的三維建模、三維可視化和模型文件交換的API,讓開發(fā)者更專注于解決領域問題。使用Anycad.net方便快捷,只需幾步即可搭建三維可視化場景。首先在項目中添加DLL程序集AnyCAD.Foundation.Net.dll和AnyCAD.Presentation.Net.dll,然后用以下代碼進行三維控件的添加與初始化即可完成三維可視化場景的搭建。
public FormMain()
{
我校為三年制大專學校,我校護理專業(yè)的生物化學課程開設在第一學年第一學期,且該專業(yè)學生為文理兼收,學習基礎較為薄弱,而生物化學內容繁多,復雜抽象,學時又非常有限,學生普遍反映難懂難學,不少學生對生物化學望而生畏。如何在有限的學時中將生物化學知識傳授給學生,提高教學效果,激發(fā)學生的學習興趣,幫助學生更好的理解和掌握課程的重點和難點,是每一位教師需要努力達到的目標。
InitializeComponent();
this.renderView = new AnyCAD.Presentation.RenderWindow3d();
this.renderView.Location = panel1.Location;
this.renderView.Size = panel1.Size;
this.renderView.TabIndex = 1;
this.Controls.Add(this.renderView);
}
利用AnyCAD.net在已搭建的三維可視化場景中進行坐標系的繪制、模擬銑刀的繪制、實時刀軌點的繪制、點坐標位置顯示、視圖轉換、試圖截屏等功能的實現(xiàn)。實時刀軌繪制的開發(fā)流程如圖6所示。實時刀軌顯示模塊的人機界面及運行效果圖如圖7所示。
3.3旋轉緩沖區(qū)模塊開發(fā)
通常情況下,直接下載至PMAC程序緩沖區(qū)的程序容量大小不能超過PMAC程序存儲空間(64K左右)。若加工程序文件大小大于64K,必須將程序分成幾小段下載至PMAC中,一段程序運行完畢后再下載另一段程序,程序銜接階段刀具會長時間停留在一個點,可能會造成過切形成凹坑,直接對表面質量和加工效率造成影響。PMAC運動控制器提供了旋轉緩沖區(qū)功能來允許在程序執(zhí)行期間對程序行進行下載,并覆蓋已經被執(zhí)行的程序行,使得加工程序的大小不受PMAC程序存儲空間的限制,這樣加工程序就可連續(xù)運行。
旋轉緩沖區(qū)的開發(fā)原理是利用上位機取得總加工程序的一定行數(shù)下載至PMAC旋轉緩沖區(qū)并執(zhí)行程序,不斷監(jiān)測旋轉緩沖區(qū)剩余未加工程序行數(shù),若小于設定值則取得剩余總加工程序的一定行數(shù)繼續(xù)下載至PMAC旋轉緩沖區(qū),不斷循環(huán)操作,期間程序不間斷執(zhí)行,直至所有總加工程序執(zhí)行完畢。具體開發(fā)流程與旋轉緩沖區(qū)運行界面分別如圖8和圖5所示。
結合微細機床操作需要,在Windows平臺下采用C#編程語言對微細機床數(shù)控系統(tǒng)軟件進行總體功能模塊及人機界面的設計與開發(fā),軟件整體運行界面如圖9所示。軟件采用模塊化設計,性能穩(wěn)定可靠,操作簡單,實現(xiàn)了加工程序行實時顯示、三維實時刀軌顯示、旋轉緩沖區(qū)等特色功能,已成功運用于基于PMAC運動控制的微細三軸銑床中。實踐證明,該數(shù)控系統(tǒng)軟件可滿足微細機床要求的各項加工任務,在此基礎上正在開展面向特征長度0.02~0.2mm的微結構高精密微細銑削技術的相關實驗研究,效果良好。
[1]Camara M A, Rubio J C, Abrao A M, et al. State of the art on micromilling of materials a review[J]. Journal of Materials Science and Technology, 2012, 28: 673-685.
[2]張霖. 數(shù)控微細銑削機床系統(tǒng)構建及性能研究[D]. 南京:南京航空航天大學, 2007.
[3]戴曉華, 王文, 王威,等. 開放式數(shù)控系統(tǒng)研究綜述[J]. 組合機床與自動化加工技術, 2000(11):5-7.
[4]邱時前, 陳志同. 五坐標微銑削機床的研制[J]. 機械制造, 2007, 45(1):29-31.
[5]曹自洋, 何寧, 李亮,等. 微細銑削機床系統(tǒng)構建及微小型零件加工實驗研究[J]. 工具技術, 2009(3):11-15.
[6]張鵬, 王波, 盧禮華,等. 微小型超精密微細銑削機床的研制[J]. 制造技術與機床, 2010(6):72-75.
[7]呂元哲. 基于PMAC的微型銑床數(shù)控系統(tǒng)的研究[D].大連:大連理工大學, 2010.
[8]張升, 程祥, 楊先海,等. 超精密桌面微細銑削機床的研制[J]. 機械設計與制造, 2014(1):110-112.
[9]李葉. 基于直線電機的開放式微細銑削數(shù)控系統(tǒng)開發(fā)[D].濟南:濟南大學, 2014.
[10]王慶祎. 多功能微型機床及其加工技術的研究[D].天津:天津大學, 2010.
如果您想發(fā)表對本文的看法,請將文章編號填入讀者意見調查表中的相應位置。
Development of CNC system software for micro-milling machine based on PMAC
DING Xu, HE Ning, LI Liang, HAO Xiuqing
(College of Mechanical & Electrical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, CHN)
The CNC system software for micro-milling machine based on PMAC is developed on the platform of Windows by using C# programming language. The hardware of the CNC system is briefly introduced, and then the overall functional module of the CNC system software is designed according to the machining characteristics of micro-milling machine. Besides, the development of characterized functions such as the real-time display of executing program, the three-dimensional real-time display of tool path, the rotary motion program buffers are detailed introduced. So far, the operation of the CNC system software is stable and reliable and the software function is perfect with a good human-machine interface.
PMAC;the three-dimensional real-time display of tool path; rotary motion program buffers
TP315
A
10.19287/j.cnki.1005-2402.2016.08.035
丁許,男,1992年生,碩士研究生,研究方向為微細切削技術,已發(fā)表論文1篇。
(編輯李靜)(2016-01-19)
160846
* 國家自然科學基金面上項目(51575268)