袁紅兵,譚鑫,趙動動
(南京理工大學機械工程學院,江蘇南京210094)
隨著計算機技術(shù)的發(fā)展,數(shù)控編程技術(shù)在數(shù)控加工工藝規(guī)劃、刀具路徑生成、數(shù)控代碼動態(tài)模擬等方面取得了普遍應(yīng)用,但在數(shù)控加工的實際環(huán)境中,由于零件加工工藝的復(fù)雜性和加工環(huán)境的不同,加工過程中可能會出現(xiàn)零件過切和干涉碰撞等現(xiàn)象。另一方面,由于數(shù)控機床的投資和運行成本較大,操作也更為復(fù)雜,由于操作不當存在發(fā)生意外碰撞的可能性,同時考慮數(shù)控機床臺 (套)數(shù)和零件耗材成本等方面的因素,希望在零件的實際加工前,采取必要的措施完善系統(tǒng)監(jiān)測和報錯功能,當加工過程中出現(xiàn)異常情況時,系統(tǒng)能夠報錯停機,對設(shè)備進行必要的預(yù)防性保護,同時可以優(yōu)化操作流程,完善系統(tǒng)功能。
基于PC的開放式數(shù)控系統(tǒng)具有如下特點:(1)標準化、通用化和模塊化:通過選擇不同的標準化功能模塊可以組成各種數(shù)控機床的控制系統(tǒng),便于現(xiàn)有數(shù)控系統(tǒng)的擴展及升級;(2)高速、高可靠性;(3)智能化:引進自適應(yīng)控制技術(shù),系統(tǒng)可自動調(diào)整有關(guān)參數(shù),以達到系統(tǒng)運行的最優(yōu)化;(4)網(wǎng)絡(luò)化:具有強大的通訊聯(lián)網(wǎng)功能,保證數(shù)控系統(tǒng)與標準網(wǎng)絡(luò)(包括互聯(lián)網(wǎng))的無縫連接,實現(xiàn)軟硬件資源共享;(5)易操作性[1-2]。
開放式數(shù)控系統(tǒng)由于自身的諸多優(yōu)勢已呈現(xiàn)強勁的發(fā)展趨勢,并且引發(fā)了國內(nèi)外大量的應(yīng)用研究。一些以PC為基礎(chǔ)的CNC制造商,主要生產(chǎn)、銷售各種高性能運動控制卡和運動控制軟件。由于這些產(chǎn)品的開放性很好,用戶可以自行開發(fā),把它用來構(gòu)成自己的數(shù)控產(chǎn)品或使用在生產(chǎn)上,通過PC和運動控制卡以及相應(yīng)的機床數(shù)控軟件,構(gòu)成相應(yīng)的數(shù)控系統(tǒng)產(chǎn)品[3-5]。固高科技有限公司的GT系列多軸運動控制卡是一種插卡式運動控制器,該系列產(chǎn)品基于計算機PCI總線,可控制1~4個伺服電機或步進電機。該系列產(chǎn)品具有梯型曲線、S型曲線,JOG模式點位運動規(guī)劃及電子齒輪同步運動規(guī)劃功能,同時具有多軸直線插補和圓弧插補運動規(guī)劃功能,特別適用于既有點位運動控制,也有插補運動控制要求的場合,其電子齒輪運動規(guī)劃功能滿足了有同步控制要求的應(yīng)用場合[6]。
作者利用固高GT系列運動控制卡和固高四軸運動開發(fā)平臺,采用NC嵌入PC模式完成了一個數(shù)控雕銑教學實驗系統(tǒng)的開發(fā)。
作者選用固高GT-400-SG型運動控制卡和固高四軸運動開發(fā)平臺進行數(shù)控雕銑系統(tǒng)的開發(fā)。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。GT-400系列運動控制器可以同步控制4個運動軸,實現(xiàn)多軸協(xié)調(diào)運動。其核心由ADSP2181數(shù)字信號處理器和FPGA組成,可以實現(xiàn)高性能的控制計算。GT-400-SG型運動控制卡外形如圖2 所示[3]。
圖1 數(shù)控雕銑系統(tǒng)的硬件結(jié)構(gòu)示意圖
圖2 GT-400-SG型運動控制卡外形
固高四軸運動開發(fā)平臺提供了4路步進電機及其驅(qū)動、通用狀態(tài)指示、限位開關(guān)和輸入輸出I/O通道,在上述系統(tǒng)硬件平臺搭建和連接完成后,研究和開發(fā)的重點是上位機程序 (Windows平臺下的數(shù)控雕銑實驗系統(tǒng))的開發(fā),該系統(tǒng)具有如下功能:(1)進行NC程序代碼的詞法檢查和語法檢查;(2)各軸點動操作;(3)自動對刀;(4)程序執(zhí)行暫停和繼續(xù),程序執(zhí)行斷點保存與恢復(fù);(5)程序單步執(zhí)行控制;(6)動態(tài)繪制刀具軌跡;(7)系統(tǒng)自診斷。
數(shù)控雕銑系統(tǒng)的基本功能由各個功能子程序?qū)崿F(xiàn),主要包括加工過程的協(xié)調(diào)控制、狀態(tài)參數(shù)的顯示、工藝參數(shù)設(shè)置和修改、程序中斷優(yōu)先級控制、文件管理以及故障診斷和報警等。數(shù)控雕銑系統(tǒng)的運行流程如圖3所示。
圖3 數(shù)控雕銑系統(tǒng)的運行控制流程
系統(tǒng)界面是人機交互的窗口,其設(shè)計要在充分發(fā)揮系統(tǒng)功能的基礎(chǔ)上滿足布局合理、簡潔大方和便于操作的要求。另外系統(tǒng)還要給出必要的操作提示,將跟當前操作無關(guān)的功能和命令置為無效,以防止操作者誤操作。
所開發(fā)的數(shù)控雕銑系統(tǒng)界面如圖4所示。界面左上側(cè)的PictureBox圖像控件為軌跡顯示區(qū)域。在執(zhí)行加工程序過程中,工件坐標系和刀具軌跡將動態(tài)顯示在這一區(qū)域。軌跡顯示區(qū)域的范圍可以通過調(diào)整刻度單位的大小來調(diào)節(jié)。刻度單位是指工件坐標系一個刻度單位代表的實際長度。界面左下側(cè)帶滾動條的TextBox文本框是NC代碼顯示區(qū)域。
界面右側(cè)從上往下依次是坐標顯示區(qū)域、操作控制區(qū)域和手動控制區(qū)域。坐標顯示區(qū)域用于顯示當前刀具點在機床坐標系下的坐標值和在工件坐標系下的坐標值。這些坐標值是通過在時鐘程序中實時地查詢各軸的位置值獲取的。刀具點的機床坐標與其工件坐標存在確定的對應(yīng)關(guān)系,二者的差值即工件坐標原點在機床坐標系下的坐標值。
操作控制區(qū)域中是一些系統(tǒng)操作控制的功能按鈕和提示信息。“當前程序號”指示的是當前被執(zhí)行的程序段號,進度條顯示程序編譯的進度,狀態(tài)提示欄用來提示當前操作,“清屏”用來清除軌跡顯示區(qū)域的圖像,灰色圖像控件模擬了一個指示燈,程序開啟和關(guān)閉時分別呈綠色和灰色?!伴_啟”按鈕用來打開系統(tǒng),開啟并初始化運動控制卡、讀取上次退出時候保存的刀具位置值、讀取配置文件中的參數(shù)進行系統(tǒng)設(shè)置,進行軸的坐標映射等?!瓣P(guān)閉”按鈕用來保存當前系統(tǒng)設(shè)置并關(guān)閉系統(tǒng)。“緊急停止”按鈕用來在系統(tǒng)發(fā)生錯誤時急停各軸運動,防止發(fā)生錯誤時損壞刀具和工件。手動控制區(qū)域可進行單軸運動,其中手動速度可自動調(diào)節(jié)。當?shù)毒哌_到坐標極限位置時,對應(yīng)方向的單軸運動被禁止。
圖4 系統(tǒng)操作界面及刀具軌跡動態(tài)顯示
數(shù)控雕銑系統(tǒng)采用Visual Basic語言開發(fā),其主要功能是根據(jù)數(shù)控加工程序控制各軸實現(xiàn)連續(xù)軌跡的運動控制。編程實現(xiàn)時首先要鏈接固高運動控制卡對應(yīng)的動態(tài)鏈接庫,并通過調(diào)用運動控制卡提供的庫函數(shù)實現(xiàn)運動控制卡和各個軸的初始化。下面介紹系統(tǒng)開發(fā)中的運動控制卡參數(shù)設(shè)定、雕銑系統(tǒng)相關(guān)參數(shù)設(shè)定、坐標映射、譯碼、詞法和語法檢查、刀具軌跡動態(tài)顯示等主要功能的實現(xiàn)。
運動控制卡的參數(shù)設(shè)置包括設(shè)置輸出脈沖形式、控制周期、限位信號觸發(fā)電平、原點信號觸發(fā)電平、編碼器計數(shù)方向等,在數(shù)控程序中通過設(shè)計函數(shù)Initial()來實現(xiàn)。
數(shù)控雕銑系統(tǒng)的相關(guān)參數(shù)設(shè)定主要是設(shè)置跟系統(tǒng)相關(guān)的一系列參數(shù),采用外部ini配置文件的形式實現(xiàn)。需要通過調(diào)用Visual Basic中的Win API函數(shù)的GetPrivateProfileString和WritePrivateProfileString現(xiàn)實現(xiàn)配置文件的讀寫操作,限于篇幅不再贅述。
坐標映射用于實現(xiàn)將坐標系內(nèi)描述的運動通過坐標映射關(guān)系映射到相應(yīng)的軸上,從而建立坐標系運動和各軸運動的運動學傳遞關(guān)系,它是實現(xiàn)多坐標協(xié)調(diào)運動的基礎(chǔ)。固高運動控制卡提供的坐標映射命令函數(shù)原型:
short GT_MapAxis(short Axis_Num,double*map_count)。其中 Axis_Num為軸號 (取值1、2、3或4),調(diào)用坐標映射命令后,該軸工作于坐標運動模式。該軸的實際位置記為Axis_N,單位為脈沖。數(shù)組map_count包括5個元素,順次記為 Cx、Cy、Cz、Ca和C,坐標軸X、Y、Z、A所對應(yīng)的相應(yīng)坐標記為x、y、z和a。上述函數(shù)描述的映射關(guān)系可用公式表示為:
Axis_N=Cx×x+Cy×y+Cz×z+Ca×a+C
由此可看出被映射的控制軸的運動是坐標X、Y、Z和A的線性組合。實現(xiàn)坐標映射的程序代碼如下:
Dim cnt1、cnt2、cnt3 As TyMap ’TyMap為板卡函數(shù)庫中定義的數(shù)組
Dimi as integer
For i=0 To 4
cnt1.C(i)=0
cnt2.C(i)=0
cnt3.C(i)=0
Next i
cnt1.C(0)=1000
cnt2.C(1)=1000
cnt3.C(2)=1000
Call Error(GT_MapAxis(1,cnt1))
Call Error(GT_MapAxis(2,cnt2))
Call Error(GT_MapAxis(3,cnt3))
將cnt1.C(0)、cnt2.C(1)和cnt3.C(2)都賦值為1 000是因為1 mm對應(yīng)的脈沖數(shù)為1 000,這樣在發(fā)送多軸協(xié)調(diào)運動指令時就可以以mm為單位,更加方便。
數(shù)控代碼的譯碼是逐段提取NC程序代碼中的運動指令和信息,并將這些運動指令和信息保存在結(jié)構(gòu)體數(shù)組中。數(shù)控代碼的詞法檢查主要是針對NC程序代碼中出現(xiàn)非法字符或者未定義的功能字。語法檢查主要是檢查NC代碼中不符合編程規(guī)則的語法錯誤。詞法檢查通過正則表達式對每一個程序段進行搜索匹配,生成錯誤報告。
Function cifatest(ByVal ncs As String)As String
Dim resultnc as String
……
Set rregexpG=New RegExp
rregexpG.IgnoreCase=False
rregexpG.Global=True
……
End Function
NC代碼編譯器對其它數(shù)控功能字的處理方法與此類似。
固高GT系列運動控制卡提供了一個4K字的坐標系運動命令緩沖區(qū),以實現(xiàn)多軸協(xié)調(diào)連續(xù)軌跡運動。另外運動控制卡還提供了一個命令狀態(tài)寄存器和一個坐標系運動規(guī)劃狀態(tài)寄存器,通過查詢這兩個寄存器的狀態(tài)值可以監(jiān)測到各軸的狀態(tài)信息和多坐標運動狀態(tài)信息。
如圖4所示,為了更加直觀形象地描述刀具的運動情況,該數(shù)控雕銑系統(tǒng)將刀具軌跡動態(tài)的顯示在系統(tǒng)界面上。通過動態(tài)查詢各軸的位置值,確定這些刀具點的工件坐標值后將它們依次連接起來就形成了刀具的軌跡。
計算機技術(shù),特別是軟件技術(shù)的快速發(fā)展為開放式數(shù)控系統(tǒng)技術(shù)的發(fā)展提供了強大的技術(shù)支持,使得基于PC的開放式數(shù)控系統(tǒng)具有很強的靈活性,因此開放式數(shù)控系統(tǒng)自誕生以來就得到業(yè)界的廣泛關(guān)注和好評,它是未來數(shù)控技術(shù)發(fā)展的注流方向之一[7]。
本文作者開發(fā)了一個基于PC和運動控制卡的數(shù)控雕銑教學實驗系統(tǒng),在系統(tǒng)開發(fā)過程中充分利用了PC機豐富的軟硬件資源和強大的技術(shù)優(yōu)勢,在搭建基于PC和運動控制卡的數(shù)控雕銑系統(tǒng)硬件環(huán)境的基礎(chǔ)上,進行了數(shù)控雕銑數(shù)控系統(tǒng)的總體設(shè)計和開發(fā),完成了系統(tǒng)中運動控制卡參數(shù)設(shè)定、雕銑系統(tǒng)相關(guān)參數(shù)設(shè)定、坐標映射、譯碼、詞法和語法檢查、刀具軌跡動態(tài)顯示等主要功能的實現(xiàn),較好地體現(xiàn)了基于PC的開放式數(shù)控系統(tǒng)的標準化、通用化和模塊化的特點,同時系統(tǒng)具有較好的智能性、易操作性和很強的可靠性與可擴展性。
[1]富宏亞,梁全.開放式數(shù)控技術(shù)及其在我國的發(fā)展狀況[J].航空制造技,2010(4):53-56.
[2]畢俊喜.數(shù)控系統(tǒng)及仿真技術(shù)[M].北京:機械工業(yè)出版社,2013.
[3]秦忠,呂彥明,毛銳.基于運動控制卡的電路板雕刻機的開放式數(shù)控系統(tǒng)的研究[J].機床與液壓,2009,37(6):45-47.
[4]劉長宏,宋鵬,劉巖川,等.基于運動控制卡的數(shù)控系統(tǒng)應(yīng)用研究[J].大連民族學院學報,2009,12(1):36-38.
[5]張宏,李富平.基于PC+運動控制卡的開放式數(shù)控系統(tǒng)的研究[J].機械設(shè)計與制造,2008(6):171-172.
[6]固高科技.GT系列運動控制器用戶手冊[Z].深圳固高科技有限公司,2006.
[7]趙春紅.基于PC的開放式數(shù)控系統(tǒng)[D].蘭州:西北工業(yè)大學,2008.