畢寶鵬,朱磊,張博
?
基于C語言編制長圓孔切割程序軟件的設(shè)計(jì)
畢寶鵬,朱磊,張博
(陜西重型汽車有限公司,陜西 西安 710200)
隨著大部分車架縱梁應(yīng)用了長圓孔,而編制長圓孔切割數(shù)控程序需要經(jīng)過:繪制CAD圖紙,導(dǎo)入FastCam編制長圓孔切割程序的過程。文章提出基于C語言自動(dòng)生成切割長圓孔程序軟件的設(shè)計(jì)方法,通過輸入長圓孔程序的切割基準(zhǔn)點(diǎn)和長圓孔位置,軟件可自動(dòng)生成切割數(shù)控程序。通過軟件生成的切割程序不但增加了切割補(bǔ)償量,而且增加了注釋行方便加工人正確識(shí)別使用切割程序。
數(shù)控編程;C語言;長圓孔;切割程序
重卡車架縱梁截面為U形,在腹面和兩個(gè)翼面上分別不同直徑的圓孔,這些圓孔都是利用數(shù)控沖孔機(jī)沖裁加工而成。目前車架廠五臺(tái)數(shù)控沖孔機(jī)加工孔徑全部為全控,孔徑規(guī)格十余種,直徑范圍Φ9mm-Φ60mm。車架上還有些規(guī)格的孔無法用數(shù)控沖孔機(jī)直接沖裁,比如Φ80mm、Φ95mm、120mm×60mm異形孔(也稱長圓孔)等,目前采用的加工方式數(shù)控切割。
近兩年根據(jù)用戶要求和產(chǎn)品升級(jí),部分縱梁管束孔由圓孔變更為長圓孔,并且此種長圓孔工藝將逐步推廣至大部分縱梁。為了滿足持續(xù)增加的長圓孔切割需求,提升車架廠長圓孔切割產(chǎn)能,車架廠在縱梁一車間數(shù)控點(diǎn)焊機(jī)下料工位導(dǎo)入簡易切割線,使其具備切割長圓孔功能。
切割長圓孔具體流程如圖1所示:根據(jù)縱梁鉆孔圖確定長圓孔位置,選定切割基準(zhǔn)點(diǎn),繪制AutoCAD圖紙,然后將繪制的CAD圖紙讀入數(shù)控切割程序編制軟件FastCam中,進(jìn)行完前處理后,確定切割軌跡,最后在FastPOLT中確認(rèn)校對切割軌跡,輸出.txt格式數(shù)控切割程序。
在Fastcam加工環(huán)境下編制切割程序,輸出為.txt文件。通過對fastcam輸出的切割程序進(jìn)行充分分析,可以利用C語言的開發(fā)快速生成切割長圓孔程序的軟件。為了更好的進(jìn)行介紹,首先準(zhǔn)備一個(gè)切割基準(zhǔn)點(diǎn)為(50,45)位置為(805,115)的長圓孔,如圖2所示。
圖1 傳統(tǒng)長圓孔切割程序編制流程
圖2 長圓孔位置示意圖
下面是fastcam輸出的長圓孔切割程序(格式為.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—代表相對前一個(gè)坐標(biāo)(0,0)增量值。第5行M07代表打開切割機(jī)等離子。第6行G02代表順時(shí)針圓弧插補(bǔ),后面跟的X--,Y--,I--,J--其中X--,Y--表示圓弧終點(diǎn)位置,I—表示圓心相對圓弧起點(diǎn)在X軸上的增量值,J—表示圓心相對圓弧起點(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行代表長度為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 長圓孔切割軌跡圖
C語言是一門面向過程的計(jì)算機(jī)編程語言,是一目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言,廣泛用于系統(tǒng)軟件與應(yīng)用軟件的開發(fā)。C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進(jìn)行操作的場合,用C語言明顯優(yōu)于其它高級(jí)語言,許多大型應(yīng)用軟件都是用C語言編寫的。在生成切割長圓孔程序軟件的設(shè)計(jì)中,利用C語言豐富的字符處理函數(shù)、數(shù)值運(yùn)算函數(shù)及文件操作等能快速、容易地實(shí)現(xiàn)長圓孔切割程序的中各個(gè)點(diǎn)的相對坐標(biāo)計(jì)算及數(shù)控加工代碼文件的輸出。
上節(jié)文中分析了長圓孔程序中切割機(jī)識(shí)別代碼的文件格式。通過大量分析縱梁鉆孔圖,發(fā)現(xiàn)長圓孔大小一致,因此,切割時(shí)切割軌跡是一致的,只需提供切割基準(zhǔn)點(diǎn)坐標(biāo)和長圓孔相對位置,通過數(shù)學(xué)計(jì)算,就可以計(jì)算出程序中所需的起弧和收弧位置的坐標(biāo)。
由于在切割過程中火焰或者電弧有一定的寬度,造成切割材料有損耗。為保證零件尺寸,考慮到損耗,所以必須加切割補(bǔ)償。補(bǔ)償量可以在切割機(jī)控制器上加,也可以在程序中直接增加補(bǔ)償。因?yàn)殚L圓孔圖紙尺寸簡單,所以在編制切割長圓孔程序中設(shè)置了切割補(bǔ)償,也就是說要改變程序中零件的尺寸。根據(jù)現(xiàn)場加工精度及工藝尺寸要求,在程序中設(shè)定的切割補(bǔ)償量為0.25mm。
在FastCam中模塊FastPOLT可以顯示切割路徑,看到相應(yīng)的切割模擬演示。而在自動(dòng)生成切割長圓孔程序軟件中,只需保證基準(zhǔn)點(diǎn)和長圓孔相對位置準(zhǔn)確,就可以保證長圓孔切割程序的準(zhǔn)確率。因此,在生成長圓孔切割程序時(shí),在首行增加了注釋語句,格式:(A B-C D)其中AB為縱梁鉆孔圖中選定切割基準(zhǔn)孔的坐標(biāo),CD為長圓孔的坐標(biāo)(坐標(biāo)基準(zhǔn)點(diǎn)為縱梁前段與下翼面相交的點(diǎn),如圖1所示)。
自動(dòng)生成切割長圓孔程序軟件的實(shí)現(xiàn)主要具體步驟如下:
步驟1:調(diào)用C語言printf()語句通過提示“請輸入基準(zhǔn)點(diǎn)(A,B)”,“請輸入長圓孔位置(C,D)”分別輸入程序基準(zhǔn)點(diǎn)的坐標(biāo)及長圓孔位置坐標(biāo)。
步驟2:調(diào)用C語言printf()語句和strcat()語句,在指定文件目錄下創(chuàng)建與輸入程序號(hào)同名的數(shù)控代碼文件,后綴為.txt。
步驟3:通過C語言數(shù)值運(yùn)算函數(shù)計(jì)算出長圓孔起弧和收弧位置坐標(biāo)。
步驟4:調(diào)用文件管理函數(shù)fopen()打開前述步驟創(chuàng)建的.txt數(shù)控代碼文件。
步驟5:調(diào)用fprintf()函數(shù)往上述創(chuàng)建的數(shù)控代碼文件寫入程序注釋行:(A B-C D)。
步驟6:調(diào)用fprintf()函數(shù)依次寫入長圓孔切割程序數(shù)控代碼,并帶入相關(guān)點(diǎn)坐標(biāo)值。
步驟7:調(diào)用fclose()函數(shù)和return()關(guān)閉文件,結(jié)束。
下圖分別是使用自動(dòng)生成切割長圓孔軟件編制長圓孔程序的流程圖和軟件的運(yùn)行界面,從流程圖和運(yùn)行的界面來看,人機(jī)交互效果比較好,方便工藝人員校對長圓孔切割程序,不僅提高了長圓孔切割程序的編制效率,減少編制流程,更大大提高程序的準(zhǔn)確率。
下表是使用傳統(tǒng)編制長圓孔切割程序和自動(dòng)生成切割長圓孔程序軟件對于編制同一長圓孔程序的時(shí)間對比,由表1可以看出基于C語言自動(dòng)生成切割長圓孔程序軟件編制長圓孔程序的高效性。
圖4(a) 使用自動(dòng)生成長圓孔切割程序軟件編制切割程序流程
圖4(b) 自動(dòng)生成長圓孔切割程序軟件使用界面
表1 兩種不同編制程序方式時(shí)間對比
本文基于C語言設(shè)計(jì)的自動(dòng)生成長圓孔切割程序軟件,在不需要繪制AutoCAD圖紙的情況下,通過輸入長圓孔相關(guān)參數(shù)就可實(shí)現(xiàn)快速生成長圓孔切割數(shù)控程序,同時(shí)還在切割程序中增加切割補(bǔ)償量、切割參數(shù)注釋等輔助功能來完善整個(gè)軟件。從實(shí)際使用情況來看,該軟件運(yùn)行穩(wěn)定,不僅提高了長圓孔切割程序的編制效率,減少編制流程,更大大提高程序的準(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