畢寶鵬,朱磊,張博
?
基于C語(yǔ)言編制長(zhǎng)圓孔切割程序軟件的設(shè)計(jì)
畢寶鵬,朱磊,張博
(陜西重型汽車有限公司,陜西 西安 710200)
隨著大部分車架縱梁應(yīng)用了長(zhǎng)圓孔,而編制長(zhǎng)圓孔切割數(shù)控程序需要經(jīng)過(guò):繪制CAD圖紙,導(dǎo)入FastCam編制長(zhǎng)圓孔切割程序的過(guò)程。文章提出基于C語(yǔ)言自動(dòng)生成切割長(zhǎng)圓孔程序軟件的設(shè)計(jì)方法,通過(guò)輸入長(zhǎng)圓孔程序的切割基準(zhǔn)點(diǎn)和長(zhǎng)圓孔位置,軟件可自動(dòng)生成切割數(shù)控程序。通過(guò)軟件生成的切割程序不但增加了切割補(bǔ)償量,而且增加了注釋行方便加工人正確識(shí)別使用切割程序。
數(shù)控編程;C語(yǔ)言;長(zhǎng)圓孔;切割程序
重卡車架縱梁截面為U形,在腹面和兩個(gè)翼面上分別不同直徑的圓孔,這些圓孔都是利用數(shù)控沖孔機(jī)沖裁加工而成。目前車架廠五臺(tái)數(shù)控沖孔機(jī)加工孔徑全部為全控,孔徑規(guī)格十余種,直徑范圍Φ9mm-Φ60mm。車架上還有些規(guī)格的孔無(wú)法用數(shù)控沖孔機(jī)直接沖裁,比如Φ80mm、Φ95mm、120mm×60mm異形孔(也稱長(zhǎng)圓孔)等,目前采用的加工方式數(shù)控切割。
近兩年根據(jù)用戶要求和產(chǎn)品升級(jí),部分縱梁管束孔由圓孔變更為長(zhǎng)圓孔,并且此種長(zhǎng)圓孔工藝將逐步推廣至大部分縱梁。為了滿足持續(xù)增加的長(zhǎng)圓孔切割需求,提升車架廠長(zhǎng)圓孔切割產(chǎn)能,車架廠在縱梁一車間數(shù)控點(diǎn)焊機(jī)下料工位導(dǎo)入簡(jiǎn)易切割線,使其具備切割長(zhǎng)圓孔功能。
切割長(zhǎng)圓孔具體流程如圖1所示:根據(jù)縱梁鉆孔圖確定長(zhǎng)圓孔位置,選定切割基準(zhǔn)點(diǎn),繪制AutoCAD圖紙,然后將繪制的CAD圖紙讀入數(shù)控切割程序編制軟件FastCam中,進(jìn)行完前處理后,確定切割軌跡,最后在FastPOLT中確認(rèn)校對(duì)切割軌跡,輸出.txt格式數(shù)控切割程序。
在Fastcam加工環(huán)境下編制切割程序,輸出為.txt文件。通過(guò)對(duì)fastcam輸出的切割程序進(jìn)行充分分析,可以利用C語(yǔ)言的開(kāi)發(fā)快速生成切割長(zhǎng)圓孔程序的軟件。為了更好的進(jìn)行介紹,首先準(zhǔn)備一個(gè)切割基準(zhǔn)點(diǎn)為(50,45)位置為(805,115)的長(zhǎng)圓孔,如圖2所示。
圖1 傳統(tǒng)長(zhǎng)圓孔切割程序編制流程
圖2 長(zhǎng)圓孔位置示意圖
下面是fastcam輸出的長(zhǎng)圓孔切割程序(格式為.txt):
…….
1.G92 X0.Y0.
2.G21
3.G91
4.G00X89.75Y-720.
5.M07
6.G02X10.Y-10.I0.J-10.
7.G01Y-60.
8.G02X-59.5I-29.75J0.
9.G01Y60.
10.G02X59.5I29.75J0.
11.G02X-10.Y-10.I-10.J0.
12.M08
13.G00X-89.75Y740.
14.M02
……..
第1行G92代表工件零點(diǎn)設(shè)定,后面跟的是點(diǎn)的坐標(biāo),一般繪制切割程序圖紙時(shí)將選定的基準(zhǔn)點(diǎn)移動(dòng)CAD圖紙坐標(biāo)原點(diǎn)。第2行G21代表公制輸入。第3行G91代表程序中所有的坐標(biāo)點(diǎn)為增量值。第4行G00代表快速定位,后面跟的X--,Y—代表相對(duì)前一個(gè)坐標(biāo)(0,0)增量值。第5行M07代表打開(kāi)切割機(jī)等離子。第6行G02代表順時(shí)針圓弧插補(bǔ),后面跟的X--,Y--,I--,J--其中X--,Y--表示圓弧終點(diǎn)位置,I—表示圓心相對(duì)圓弧起點(diǎn)在X軸上的增量值,J—表示圓心相對(duì)圓弧起點(diǎn)在Y軸上的增量值,因此G02X10.Y-10.I0.J-10表示順時(shí)針進(jìn)行直徑為10mm的四分之一圓弧插補(bǔ)。第7行G01代表直線插補(bǔ),后面代表沿著坐標(biāo)增量值。第8行G02X-59.5I-29.75J0表示順時(shí)針進(jìn)行直徑為59.5mm的二分之一圓弧插補(bǔ)。第9行代表長(zhǎng)度為60mm的直線插補(bǔ)。第10行G02X59.5I29.75J0. 表示順時(shí)針進(jìn)行直徑為59.5mm的二分之一圓弧插補(bǔ)。第11行G02X-10.Y-10.I-10.J0. 表示順時(shí)針進(jìn)行直徑為10mm的四分之一圓弧插補(bǔ)。第12行M08代表關(guān)閉切割機(jī)等離子。第13行代表快點(diǎn)移動(dòng)到坐標(biāo)原點(diǎn)。第14行M02代表關(guān)閉所有代碼,并回到初始位置,程序結(jié)束。如下圖所示為程序運(yùn)行軌跡。
圖3 長(zhǎng)圓孔切割軌跡圖
C語(yǔ)言是一門面向過(guò)程的計(jì)算機(jī)編程語(yǔ)言,是一目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言,廣泛用于系統(tǒng)軟件與應(yīng)用軟件的開(kāi)發(fā)。C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,許多大型應(yīng)用軟件都是用C語(yǔ)言編寫的。在生成切割長(zhǎng)圓孔程序軟件的設(shè)計(jì)中,利用C語(yǔ)言豐富的字符處理函數(shù)、數(shù)值運(yùn)算函數(shù)及文件操作等能快速、容易地實(shí)現(xiàn)長(zhǎng)圓孔切割程序的中各個(gè)點(diǎn)的相對(duì)坐標(biāo)計(jì)算及數(shù)控加工代碼文件的輸出。
上節(jié)文中分析了長(zhǎng)圓孔程序中切割機(jī)識(shí)別代碼的文件格式。通過(guò)大量分析縱梁鉆孔圖,發(fā)現(xiàn)長(zhǎng)圓孔大小一致,因此,切割時(shí)切割軌跡是一致的,只需提供切割基準(zhǔn)點(diǎn)坐標(biāo)和長(zhǎng)圓孔相對(duì)位置,通過(guò)數(shù)學(xué)計(jì)算,就可以計(jì)算出程序中所需的起弧和收弧位置的坐標(biāo)。
由于在切割過(guò)程中火焰或者電弧有一定的寬度,造成切割材料有損耗。為保證零件尺寸,考慮到損耗,所以必須加切割補(bǔ)償。補(bǔ)償量可以在切割機(jī)控制器上加,也可以在程序中直接增加補(bǔ)償。因?yàn)殚L(zhǎng)圓孔圖紙尺寸簡(jiǎn)單,所以在編制切割長(zhǎng)圓孔程序中設(shè)置了切割補(bǔ)償,也就是說(shuō)要改變程序中零件的尺寸。根據(jù)現(xiàn)場(chǎng)加工精度及工藝尺寸要求,在程序中設(shè)定的切割補(bǔ)償量為0.25mm。
在FastCam中模塊FastPOLT可以顯示切割路徑,看到相應(yīng)的切割模擬演示。而在自動(dòng)生成切割長(zhǎng)圓孔程序軟件中,只需保證基準(zhǔn)點(diǎn)和長(zhǎng)圓孔相對(duì)位置準(zhǔn)確,就可以保證長(zhǎng)圓孔切割程序的準(zhǔn)確率。因此,在生成長(zhǎng)圓孔切割程序時(shí),在首行增加了注釋語(yǔ)句,格式:(A B-C D)其中AB為縱梁鉆孔圖中選定切割基準(zhǔn)孔的坐標(biāo),CD為長(zhǎng)圓孔的坐標(biāo)(坐標(biāo)基準(zhǔn)點(diǎn)為縱梁前段與下翼面相交的點(diǎn),如圖1所示)。
自動(dòng)生成切割長(zhǎng)圓孔程序軟件的實(shí)現(xiàn)主要具體步驟如下:
步驟1:調(diào)用C語(yǔ)言printf()語(yǔ)句通過(guò)提示“請(qǐng)輸入基準(zhǔn)點(diǎn)(A,B)”,“請(qǐng)輸入長(zhǎng)圓孔位置(C,D)”分別輸入程序基準(zhǔn)點(diǎn)的坐標(biāo)及長(zhǎng)圓孔位置坐標(biāo)。
步驟2:調(diào)用C語(yǔ)言printf()語(yǔ)句和strcat()語(yǔ)句,在指定文件目錄下創(chuàng)建與輸入程序號(hào)同名的數(shù)控代碼文件,后綴為.txt。
步驟3:通過(guò)C語(yǔ)言數(shù)值運(yùn)算函數(shù)計(jì)算出長(zhǎng)圓孔起弧和收弧位置坐標(biāo)。
步驟4:調(diào)用文件管理函數(shù)fopen()打開(kāi)前述步驟創(chuàng)建的.txt數(shù)控代碼文件。
步驟5:調(diào)用fprintf()函數(shù)往上述創(chuàng)建的數(shù)控代碼文件寫入程序注釋行:(A B-C D)。
步驟6:調(diào)用fprintf()函數(shù)依次寫入長(zhǎng)圓孔切割程序數(shù)控代碼,并帶入相關(guān)點(diǎn)坐標(biāo)值。
步驟7:調(diào)用fclose()函數(shù)和return()關(guān)閉文件,結(jié)束。
下圖分別是使用自動(dòng)生成切割長(zhǎng)圓孔軟件編制長(zhǎng)圓孔程序的流程圖和軟件的運(yùn)行界面,從流程圖和運(yùn)行的界面來(lái)看,人機(jī)交互效果比較好,方便工藝人員校對(duì)長(zhǎng)圓孔切割程序,不僅提高了長(zhǎng)圓孔切割程序的編制效率,減少編制流程,更大大提高程序的準(zhǔn)確率。
下表是使用傳統(tǒng)編制長(zhǎng)圓孔切割程序和自動(dòng)生成切割長(zhǎng)圓孔程序軟件對(duì)于編制同一長(zhǎng)圓孔程序的時(shí)間對(duì)比,由表1可以看出基于C語(yǔ)言自動(dòng)生成切割長(zhǎng)圓孔程序軟件編制長(zhǎng)圓孔程序的高效性。
圖4(a) 使用自動(dòng)生成長(zhǎng)圓孔切割程序軟件編制切割程序流程
圖4(b) 自動(dòng)生成長(zhǎng)圓孔切割程序軟件使用界面
表1 兩種不同編制程序方式時(shí)間對(duì)比
本文基于C語(yǔ)言設(shè)計(jì)的自動(dòng)生成長(zhǎng)圓孔切割程序軟件,在不需要繪制AutoCAD圖紙的情況下,通過(guò)輸入長(zhǎng)圓孔相關(guān)參數(shù)就可實(shí)現(xiàn)快速生成長(zhǎng)圓孔切割數(shù)控程序,同時(shí)還在切割程序中增加切割補(bǔ)償量、切割參數(shù)注釋等輔助功能來(lái)完善整個(gè)軟件。從實(shí)際使用情況來(lái)看,該軟件運(yùn)行穩(wěn)定,不僅提高了長(zhǎng)圓孔切割程序的編制效率,減少編制流程,更大大提高程序的準(zhǔn)確率。
[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,1991.
Design of long circular hole cutting program software based on C language
Bi Baopeng, Zhu Lei, Zhang Bo
(Shaanxi Heavy-duty Automobile Company Limited, Shaanxi Xi'an 710200)
With the application of long circular holes in most of the longitudinal girders of frame, the NC program for cutting long circular holes needs to go through the process of drawing CAD drawings, importing FastCam and programming long circular holes. This paper presents a design method of program software for cutting long circular holes based on C language. By inputting the cutting datum point and the position of long circular holes in the program, the software can automatically generate the cutting NC program. The cutting program generated by the software not only increases the cutting compensation, but also increases the annotation line to facilitate the correct recognition and use of the cutting program.
NC programming; C language; Long circular hole; Cutting program
U462.2
A
1671-7988(2018)20-135-03
U462.2
A
1671-7988(2018)20-135-03
畢寶鵬(1989-),男,碩士,就職于陜西重型汽車有限公司,從事車架工藝技術(shù)。
10.16638/j.cnki.1671-7988.2018.20.050