蔡漢明,王佳麗,宋曉梅,王 濤
(青島科技大學(xué) 機(jī)電工程學(xué)院,山東 青島 266061)
JXCAD電火花線切割機(jī)床編程與通信系統(tǒng)研制
蔡漢明,王佳麗,宋曉梅,王 濤
(青島科技大學(xué) 機(jī)電工程學(xué)院,山東 青島 266061)
本文研發(fā)的JXCAD電火花線切割機(jī)床編程與通信系統(tǒng)是一套有自主知識(shí)產(chǎn)權(quán)的,針對(duì)電火花線切割的,價(jià)廉、易操作的數(shù)控機(jī)床系統(tǒng)。JXCAD系統(tǒng)利用Delphi開發(fā)工具,開發(fā)的JXCAD線切割自動(dòng)編程軟件完成了零件輪廓的造型和定義,3B代碼的生成以及通過計(jì)算機(jī)并行口將程序輸入到線切割控制機(jī)的相關(guān)功能,達(dá)到了降低操作者工作量、提高工作效率以及降低對(duì)操作者文化水平要求的目的。
線切割;自動(dòng)編程;Delphi;控制
數(shù)控線切割機(jī)床是十分重要的數(shù)控加工設(shè)備,其具有加工精度高、適應(yīng)范圍廣和能夠加工復(fù)雜形狀零件等優(yōu)點(diǎn),在機(jī)械制造及模具制造等領(lǐng)域里有著廣泛的應(yīng)用。目前,國(guó)內(nèi)的電火花線切割機(jī)床軟件編程依賴國(guó)外軟件,硬件控制部分采用硬控制的靈活性不高,無形之中增加了產(chǎn)品的成本,并且操作復(fù)雜,界面未本地化,為大部分操作者增加了負(fù)擔(dān),降低了企業(yè)自主能動(dòng)性;因此,許多從事線切割加工的企事業(yè)單位十分需要價(jià)格低廉、易學(xué)易用、漢化界面和能夠充分發(fā)揮企業(yè)自主性的線切割自動(dòng)編程系統(tǒng)來解決這個(gè)問題。筆者利用Delphi開發(fā)工具開發(fā)了JXCAD線切割自動(dòng)編程軟件,該軟件可以通過JXCAD 繪圖環(huán)境進(jìn)行繪制零件輪廓造型,然后進(jìn)行加工零件輪廓定義,輸入鉬絲半徑、放電間隙和偏置方向等參數(shù)。自動(dòng)編程系統(tǒng)能對(duì)零件輪廓進(jìn)行各種預(yù)處理,并自動(dòng)生成3B代碼。產(chǎn)生的程序通過計(jì)算機(jī)的并行口可以輸入到線切割控制機(jī)中,大副度節(jié)省了數(shù)據(jù)的輸入時(shí)間,保證了零件的加工質(zhì)量和生產(chǎn)效率。
1.1 系統(tǒng)的開發(fā)環(huán)境
系統(tǒng)的開發(fā)環(huán)境為Windows XP/Win7操作系統(tǒng)和Delphi7.0軟件開發(fā)工具。
1.2 系統(tǒng)的構(gòu)成
JXCAD系統(tǒng)由CAD模塊、CAM模塊和CNC模塊3部分組成,其模塊設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)模塊設(shè)計(jì)
1)CAD模塊主要由圖形繪制、圖形編輯、圖形矢量化和無縫集成流行CAD等4部分組成。
a.圖形的繪制。為了滿足電火花線切割加工圖形繪制的要求,基本的圖形元素包括直線、矩形、正多邊形、橢圓、圓和平面曲線等。
b.圖形的編輯。為了提高繪圖效率,減少工作量,提高繪圖精度和復(fù)雜度,增加了圖形編輯模塊,包括鏡像、旋轉(zhuǎn)、復(fù)制、刪除、剪切、移動(dòng)和倒角等。
c.無縫集成流行CAD。兼容目前流行的CAD軟件,如AutoCAD等繪圖軟件,此模塊減少了因?yàn)檐浖患嫒荻鴮?dǎo)致的圖元信息的丟失和工作的重復(fù)等問題[1]。
d.圖形矢量化。通過掃描儀輸入的工程圖樣或零件圖樣,經(jīng)過本模塊處理后,形成使線切割自動(dòng)編程系統(tǒng)能夠識(shí)別的矢量圖形。
2)CAM模塊主要由圖元鏈接、軌跡計(jì)算和代碼生成3部分組成。
a.圖元鏈接。用戶在進(jìn)行圖形繪制、編輯時(shí)一般不是按照線切割的加工順序進(jìn)行輸入,所以應(yīng)將圖元的順序進(jìn)行重新排列。本模塊的功能主要是對(duì)圖元信息按照加工要求進(jìn)行重新排序。
b.軌跡計(jì)算。模塊對(duì)圖元加工的相關(guān)參數(shù),如電極半徑、放電間隙和刀具的左偏右偏等進(jìn)行處理,得到刀具的走刀路徑,使用戶能夠直觀地觀察到刀具的軌跡,提早發(fā)現(xiàn)加工時(shí)出現(xiàn)的問題,并及時(shí)進(jìn)行相應(yīng)處理。
c.代碼生成。本模塊根據(jù)得到的刀具軌跡,自動(dòng)生成3B代碼,同時(shí)對(duì)生成的文本文件進(jìn)行保存。
3)CNC模塊主要完成與驅(qū)動(dòng)系統(tǒng)的信息通信,使得在CAM模塊獲得的數(shù)據(jù)信息能夠及時(shí)有效地傳輸給驅(qū)動(dòng)系統(tǒng),從而完成實(shí)際的數(shù)控加工。
1.3 JXCAD系統(tǒng)界面
系統(tǒng)的用戶界面如圖2所示。
圖2 系統(tǒng)界面設(shè)計(jì)
CAD造型設(shè)計(jì)的關(guān)鍵在于進(jìn)行圖元信息輸入時(shí),能夠及時(shí)、準(zhǔn)確地對(duì)已輸入的信息進(jìn)行存放和編輯,以便在CAM模塊對(duì)圖元信息進(jìn)行提取。為了準(zhǔn)確地表示圖元數(shù)據(jù)結(jié)構(gòu)之間的相互關(guān)系,方便、快捷地對(duì)圖元進(jìn)行建立、刪除和插入等管理操作,同時(shí)節(jié)省內(nèi)存,減少冗余度,本系統(tǒng)CAD模塊的數(shù)據(jù)存儲(chǔ)采用如圖3所示的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
圖3 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
該結(jié)構(gòu)的設(shè)計(jì)思想是一行即一層,每層為雙向鏈表結(jié)構(gòu),在每一行的第1個(gè)數(shù)據(jù)區(qū)只存放該層的層名和層的狀態(tài)標(biāo)志、線型、顏色,每一層剩下的數(shù)據(jù)區(qū)存放的是當(dāng)前層各圖元成員信息。層的管理主要有2個(gè)指針:一個(gè)指針在管理層,該指針從上往下;另一個(gè)指針在層指針?biāo)趫D元的末尾,當(dāng)新增加圖元時(shí),就添加在這個(gè)指針的位置上。
在CAD造型設(shè)計(jì)中,圖元的添加、刪除和插入等操作的算法思想如下。
1)圖元添加。首先,系統(tǒng)會(huì)有一個(gè)當(dāng)前層,供用戶在當(dāng)前的圖層上進(jìn)行圖元輪廓的繪制,當(dāng)繪制結(jié)束時(shí),指針位于圖元鏈表的尾部,即圖3中橫向鏈表的NULL處,系統(tǒng)將繪制好的圖形元素的參數(shù)添加到這個(gè)尾部。當(dāng)用戶需要操作其他圖層時(shí),圖層的指針則向下移動(dòng),這樣就可以在新的層中進(jìn)行操作。如果需要建立新層,可以在圖3中縱向的NULL處增加新層。
2)刪除。首先,對(duì)鏈表進(jìn)行遍歷,找到與光標(biāo)最近的結(jié)點(diǎn),即找到用戶需要?jiǎng)h除的圖元,如果結(jié)點(diǎn)位于圖元中間,則將上一圖元的尾指針指向下一圖元的頭指針,而下一圖元的頭指針指向上一圖元的尾指針,完成刪除當(dāng)前圖元的操作。如果結(jié)點(diǎn)位于圖元尾部,只需要將原鏈表的尾結(jié)點(diǎn)之前的一個(gè)結(jié)點(diǎn)的指針設(shè)為空即可[2]。
3)插入。在對(duì)樣條曲線進(jìn)行修改編輯時(shí),首先用戶要選中樣條曲線,系統(tǒng)會(huì)將樣條曲線的特征多邊形顯示在屏幕上,并且光標(biāo)會(huì)位于特征多邊形的起點(diǎn),通過鍵盤使光標(biāo)進(jìn)行前后移動(dòng),找到需要插入的結(jié)點(diǎn),然后將新的圖元信息插入到當(dāng)前結(jié)點(diǎn)的后一結(jié)點(diǎn),完成插入操作。
在繪圖任務(wù)完成以后,用戶就可以對(duì)零件圖形進(jìn)行數(shù)控加工處理,完成鏈接和數(shù)控工作。
用戶在進(jìn)行圖元繪制時(shí),繪圖順序一般與走刀軌跡不一致,所以應(yīng)將這種無序的圖元鏈表進(jìn)行重新排序,得到封閉的、有效的、滿足數(shù)控需要的圖元鏈表。為解決此問題,系統(tǒng)采用了循環(huán)鏈表結(jié)構(gòu)(見圖4)。
圖4 軌跡鏈表
圖元的鏈接即為循環(huán)鏈表的輸入,其算法思想如下:首先要申請(qǐng)一個(gè)首結(jié)點(diǎn),操作者需要在圖元上選擇1點(diǎn)作為加工起始點(diǎn),來確定第1個(gè)加工圖形輪廓;然后從選擇點(diǎn)向另外一端作為加工方向,以另外一個(gè)端點(diǎn)找到下一個(gè)相接的圖元,直至閉合,這個(gè)路徑就是加工路徑。如果找到的圖元與加工路徑相反,系統(tǒng)會(huì)自動(dòng)對(duì)圖元信息進(jìn)行標(biāo)示,在進(jìn)行數(shù)控加工時(shí)遇到此標(biāo)示時(shí),系統(tǒng)會(huì)將圖元的起始點(diǎn)和終止點(diǎn)進(jìn)行對(duì)調(diào),最終完成整個(gè)圖元鏈表的排序。
數(shù)控加工需要完成2個(gè)工作:確定加工參數(shù)和輸出數(shù)控加工代碼,即對(duì)已存儲(chǔ)的循環(huán)鏈表進(jìn)行輸出。
刀具路徑算法的輸出思想為先取出當(dāng)前指針和當(dāng)前指針指向的下一個(gè)指針的數(shù)據(jù),根據(jù)偏向計(jì)算出等距線的交點(diǎn),根據(jù)圖元信息將當(dāng)前指針指向的等距線翻譯成數(shù)據(jù)指令輸出,將指針下移,重復(fù)執(zhí)行上述過程直到指針結(jié)點(diǎn)等于首結(jié)點(diǎn)為止。
根據(jù)偏向計(jì)算出等距線的交點(diǎn),有2種情況:一是初步偏移,即對(duì)所有圖元進(jìn)行簡(jiǎn)單偏移和連接,偏移曲線為原輪廓的等距線,而且整體光滑連續(xù);二是干涉處理,如果相鄰輪廓不光滑相切,則在其間插入以半徑為偏移距離的過渡圓弧,過渡圓弧的走向?yàn)槠品较?,左偏移為順時(shí)針,右偏移為逆時(shí)針[3]。當(dāng)有尖角存在時(shí),處理方法是在尖角處加1個(gè)小多邊形或者圓弧。最后,系統(tǒng)按照3B代碼的要求建立txt文件,并將程序?qū)戇M(jìn)新建的文件中。
圖形繪制的走刀路徑如圖5所示,其中,外輪廓為走刀路徑,內(nèi)輪廓為圖形輪廓。
圖5 走刀路徑
3B代碼如下:
10,1,116.497,56.450,10.000
B6497B28166B28166GYL3 ,110.000, 28.284
B10000B28284B78284GYSR1,71.716,-10.000
B43431B0B43431GXL3 , 28.284,-10.000
B28284B10000B78284GXSR4,-10.000, 28.284
B0B43431B43431GYL2 , -10.000, 71.716
B10000B28284B78284GYSR3, 28.284,110.000
B43431B0B43431GXL1 , 71.716,110.000
B28284B10000B78284GXSR2,110.000, 71.716
B0B43431B43431GYL4 , 110.000, 28.284
B6497B28166B28166GYL1 ,116.497, 56.450
D,,,,, 715.463
通信模塊完成代碼與驅(qū)動(dòng)設(shè)備的信息傳遞,從而實(shí)現(xiàn)驅(qū)動(dòng)電動(dòng)機(jī)精準(zhǔn)、穩(wěn)定地運(yùn)動(dòng),最終完成工件的數(shù)控加工任務(wù)。
首先,將獲得的3B代碼進(jìn)行譯碼,使得數(shù)控系統(tǒng)能夠識(shí)別,從而得到加工要求的原始數(shù)據(jù)并將結(jié)果保存,以備后續(xù)仿真使用。由于3B代碼的編譯過程與譯碼的過程是互逆的,所以此過程可以按照3B代碼的編譯規(guī)則進(jìn)行譯碼。
其次,數(shù)據(jù)通過PC機(jī)并口端與三相六拍的電動(dòng)機(jī)相連進(jìn)行傳遞,完成對(duì)數(shù)控機(jī)床X、Y方向的驅(qū)動(dòng)。25針D形接頭的PC接口有3個(gè)8位的端口寄存器:數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器[4]。由于數(shù)據(jù)端口可以寫入數(shù)據(jù),也可以讀出數(shù)據(jù),并且其8個(gè)輸出點(diǎn)可以自由控制,因此通過對(duì)電平的狀態(tài)改變來進(jìn)行數(shù)據(jù)傳遞。數(shù)據(jù)寄存器的基本信息見表1。若數(shù)控系統(tǒng)三相六拍步進(jìn)電動(dòng)機(jī)為正轉(zhuǎn),則通電順序?yàn)锳-AB-B-BC-C-CA[5]。若傳輸?shù)男盘?hào)為高電位1時(shí),電動(dòng)機(jī)對(duì)應(yīng)轉(zhuǎn)到某一位置;若傳輸信號(hào)為低電位0時(shí),則對(duì)應(yīng)的電動(dòng)機(jī)不動(dòng)。表2表示并口數(shù)據(jù)寄存器的具體數(shù)據(jù)所對(duì)應(yīng)的步進(jìn)電動(dòng)機(jī)的每一拍(表1和表2中,X電動(dòng)機(jī)、Y電動(dòng)機(jī)分別表示X、Y向的電動(dòng)機(jī))。
最后,系統(tǒng)運(yùn)用插補(bǔ)原理將數(shù)控機(jī)床的加工軌跡在屏幕上顯示,為了保證軌跡的準(zhǔn)確性,使插補(bǔ)運(yùn)算的步長(zhǎng)與步進(jìn)電動(dòng)機(jī)的脈沖當(dāng)量保持一致。
表1 數(shù)據(jù)寄存器的基本信息
表2 三相六拍步進(jìn)電動(dòng)機(jī)各相對(duì)應(yīng)并口寄存器數(shù)值
JXCAD系統(tǒng)從零件圖樣的繪制和代碼的生成到數(shù)控機(jī)床的驅(qū)動(dòng),形成了一套非常完備、實(shí)用的電火花線切割數(shù)控機(jī)床加工系統(tǒng),本系統(tǒng)對(duì)操作人員的要求低,有效地提高了加工效率,縮短了工期,能夠?yàn)槠髽I(yè)帶來巨大的經(jīng)濟(jì)效益;同時(shí),本系統(tǒng)對(duì)于數(shù)控加工軟件同樣適用,其應(yīng)用前景非常廣闊。
[1] 蔡漢明, 宋曉梅.中文二維交互式繪圖軟件CADM的數(shù)據(jù)結(jié)構(gòu)[J]. 青島大學(xué)學(xué)報(bào), 2002(2):67-70.
[2] 張勇, 楊喜權(quán). 數(shù)據(jù)結(jié)構(gòu)[M].北京: 中國(guó)林業(yè)出版社, 2006.
[3] 董鳳海.電火花線切割圖形自動(dòng)編程系統(tǒng)的研究與開發(fā)[D]. 青島:青島科技大學(xué), 2005.
[4] 唐光榮,李九玲.微型計(jì)算機(jī)應(yīng)用技術(shù)——數(shù)據(jù)采集與控制技術(shù)[M].北京:清華大學(xué)出版社,2001.
[5] 馮清秀,鄧星鐘.機(jī)電傳動(dòng)控制[M].武漢:華中科技大學(xué)出版社,2011.
責(zé)任編輯鄭練
TheDevelopmentofProgrammingandCommunicationsforJXCADWEDMSystems
CAI Hanming,WANG Jiali,SONG Xiaomei,WANG Tao
(Mechanic and Electronic Engineering, Qingdao University of Science and Technology, Qingdao 266061, China)
With a set of independent intellectual property rights, the JXCAD WEDM systems has low price and is easy to operate. The system was developed by Delphi, and it completed shape and the definition of components outline, 3B code generation. 3B code was entered into control machine by parallel port of computer. It was hoped that the system could reduce operator workload, improve work efficiency and reduce operator cultural level.
WEDM, automatic programming, Delphi, control
TG 484
:A
蔡漢明(1960-),男,教授,主要從事計(jì)算機(jī)輔助設(shè)計(jì)等方面的研究。
2014-08-18