專利名稱:碳纖維高精度數控銑床的控制方法
技術領域:
本發(fā)明是一種在碳纖維高精度數控銑床中進行數控加工代碼自動生成的方法,屬于高精度數控技術領域。
背景技術:
傳統(tǒng)碳纖維銑床工作流程如下首先,根據加工零件形狀形成標準G代碼;其次,將加工代碼輸入到數控中;最后,執(zhí)行數控中的G代碼,通過數控控制各軸銑刀運動完成加工過程。
在上述第一步中,業(yè)界通常的做法是,根據實際的加工零件形狀,人工手動生成數控加工代碼或者利用額外的編程器進行編程。這樣帶來的問題是,形成加工代碼所需時間很長,并且加工代碼精度不是很高。
原因如下首先,人工生成數控加工代碼的時間和精度與操作者的熟練程度及圖形的復雜程度有關。操作者熟練程度越低、加工圖形越復雜,則時間越長,精度越差。其次,當加工圖形稍作變化時,操作者又必須重新生成新的加工代碼,工作效率較低。
發(fā)明內容
技術問題本發(fā)明的目的是提供一種基于計算機輔助制造的數控加工代碼自動生成的方法,即碳纖維高精度數控銑床的控制方法。利用計算機對輸入的工件圖形分析處理,自動生成滿足加工要求的數控加工代碼。該方法擺脫了傳統(tǒng)數控銑床從加工圖形到形成數控加工代碼時間長且精度不高的缺點,極大地提高了工作效率。
技術方案本發(fā)明的方法能夠跟據實際的加工零件自動形成數控加工代碼。該方法如下
建立讀入圖形模塊、二維環(huán)模塊、排序模塊、代碼生成模塊,其控制步驟如下1.)根據待加工零件形狀,在AutoCAD中畫出加工零件圖形,保存為DXF文件格式;2.)由讀入圖形模塊提取DXF文件中的圖形信息,對DXF文件中線段、圓弧、圓等圖形信息直接提取并保存在字符串中,而對DXF文件中橢圓、多線段、樣條曲線等圖形信息,先提取相關信息,然后對其進行圓弧擬和,將其分解為線段圓弧信息,再保存在字符串中;3.)由二維環(huán)模塊將前述字符串中線段圖形信息提取出來生成線段元素,將圓弧圖形信息提取出來生成圓弧元素,將圓圖形信息提取出來生成圓元素,然后將各個線段元素、圓弧元素、圓元素插入到二維環(huán)中;4.)由排序模塊將上述二維環(huán)中各個線段元素、圓弧元素按照首尾相接的順序排列;5.)由代碼生成模塊生成相應加工零件的數控加工代碼。
建立讀入圖形模塊10.讀取組碼和組值,11.判斷組碼是否等于0并且組值是否是ENTITLES(實體段),如果滿足條件執(zhí)行下一步,否則跳到第一步,12.讀取組碼和組值,13.判斷組碼是否等于0并且組值是否是ENDSEC(實體段結束),若滿足條件就退出循環(huán),否則進入下一步,14.判斷組碼是否等于0并且組值是否是LINE(直線),若滿足條件就讀取直線的起點和終點,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,15.判斷組碼是否等于0并且組值是否是ARC(圓弧),若滿足條件就讀取圓弧圓心、半徑、起始角和終止角,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,
16.判斷組碼是否等于0并且組值是否是CIRCLE(圓),若滿足條件就讀取圓心和半徑,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,17.判斷組碼是否等于0并且組值是否是ELLIPSE(橢圓),若滿足條件就讀取橢圓弧中心點、主軸端點坐標、起始角和終止角,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,18.判斷組碼是否等于0并且組值是否是LWPOLYLINE(多線段),若滿足條件就讀取多線段各節(jié)點坐標、凸度,及該多線段是否閉合信息,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,19.判斷組碼是否等于0并且組值是否是SPLINE(樣條曲線),若滿足條件就讀取樣條曲線次數、節(jié)點數目、控制節(jié)點數目、節(jié)點坐標節(jié)點權值,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則直接跳到第(12)步。
建立二維環(huán)模塊由系統(tǒng)的零件幾何信息輸入模塊獲取了零件的邊界輪廓數據,再經過圓弧擬和模塊的處理,從而將異形零件的輪廓曲線統(tǒng)一分解為一系列的直線段、圓弧段或者整圓。本發(fā)明用二維環(huán)來描述零件的邊界輪廓。
所謂二維環(huán)就是由首尾相連的一系列基本幾何元素構成的一條平面曲線?;編缀卧匕ㄖ本€、圓弧、圓。環(huán)的起點和終點重合稱為閉環(huán),環(huán)的起點和終點不重合稱為開環(huán)。在數控編程軟件中,環(huán)是有方向的,它由直線段與圓弧段首尾相接而成,是切割軌跡自動生成算法的核心與基礎。
通常,環(huán)的數學定義為P={Ci}i=1n,]]>其中P代表一個環(huán),它由n個曲線段組成,曲線段包括直線段或者圓弧段,Ci代表了環(huán)中的第i個曲線段。
本發(fā)明用鏈表表示二維環(huán),用CBeeline(線段類)、CCircle(整圓類)、CArc(圓弧類)表示二維環(huán)中的幾何元素,這三個類分別封裝了該零件對應字符串中線段、整圓、圓弧中的數據信息。
具體建立過程如圖3所示
首先建立零件鏈表,該鏈表中存儲的信息是零件對象指針,每個零件指針指向其二維環(huán)鏈表。
其次建立二維環(huán)鏈表,該鏈表中存儲的信息是零件所包含的線段類、整圓類、圓弧類指針。
建立排序模塊由于待加工的零件圖形一般都是封閉的二維環(huán),所以在排序時只需要選定一個起始點,再按照實體的實際連接順序將它們連接起來即可。
具體排序過程如下21)在二維環(huán)鏈表中找切銑起始點,在原鏈表中刪除該節(jié)點,將該節(jié)點添加到排序后的鏈表中,并將幾何元素的信息保存在臨時節(jié)點中,22)依次遍歷原鏈表中的節(jié)點,判斷各節(jié)點指向的幾何元素的端點坐標(起點與終點)是否與臨時節(jié)點中的終點坐標相重合,如果不重合,繼續(xù)讀取下一節(jié)點的數據并重新判斷;如果重合,將該端點作為幾何元素的起點,另一端點作為幾何元素的終點,將幾何元素的信息保存在臨時節(jié)點中,在原鏈表中刪除該節(jié)點,并將該節(jié)點添加到排序后的鏈表中,23)重復步驟22),直到將二維環(huán)鏈表中的所有節(jié)點排序完畢。
建立代碼生成模塊首先介紹本發(fā)明所產生的數控加工代碼格式。
G00 指令是數控器命令切銑頭以最高進給速度移動到程式中指定的終點位置。格式如下G00 X_ Y_,X、Y為定位終點的絕對坐標值。
G01指令是數控器命令切割頭以給定速度執(zhí)行直線切銑功能至程式中指定的終點位置。格式如下G01 X_Y_F_,X、Y為切銑終點的絕對坐標值,F為切銑進給率。切銑起點即為指令執(zhí)行前切銑頭所在位置。
G02/G03指令分別是數控器命令切銑頭以給定速度順時針/逆時針沿圓弧切銑至程式所指定的終點位置。格式如下G02 X Y_I_J_F_,即以速度F順時針切銑。
G03 X_Y_I_J_F_,即以速度F逆時針切銑。
M00程式停止,按下起動繼續(xù)執(zhí)行。
M02程式結束M55氣缸抬起M56氣缸落下代碼自動生成具體的程序流程圖如圖4所示。
31.提取二維環(huán)鏈表中首個幾何元素的起點作為零件切割軌跡的起點坐標,32.生成G00以及M56指令,33.判斷該對象是否是線段對象,若是提取線段終點坐標,然后生成G01指令,并轉入第36)步,否則進入下一步,34.判斷該對象是否是圓對象,若是提取圓的圓心坐標,并計算I和J的值,然后生成G02指令,并轉入第36)步,否則進入下一步,35.判斷該對象是否是圓弧對象,若是提取圓弧終點坐標、圓心坐標,并計算I和J,然后生成G02或者G03指令,36.判斷該對象是否是最后一個對象,若是生成M55指令并結束,否則進入下一步,37.提取二維環(huán)中下一個幾何對象,并轉入第33)步。
有益效果一、縮短了加工時間。本發(fā)明基于計算機輔助制造技術,從圖形生成到最終形成滿足加工要求的數控代碼,完全由計算機完成,較之于人工手動生成數控加工代碼,大大縮短了工業(yè)生產制造時間。
二、增強了加工精度。由于計算機自動生成數控加工代碼,生成的G代碼的精度較之于人工手動生成要精確得多,而且可以根據工業(yè)生產要求控制G代碼生成的精度要求。
三、提高了工作效率。當加工零件稍作變化時,現在只需要將加工零件圖形在AUTOCAD中相應改變一下,即可重新生成數控加工代碼,而無需像傳統(tǒng)銑床那樣由人工根據新的加工零件重新生成數控加工代碼,大大提高了工作效率。
圖1是本發(fā)明總體流程圖。
圖2是本發(fā)明讀入圖形模塊流程圖。
圖3是本發(fā)明二維環(huán)模塊示意圖。
圖4是本發(fā)明代碼生成模塊流程圖。
圖5是本發(fā)明加工零件平面圖。
具體實施例方式
在碳纖維切銑加工中,需要加工一零件,如圖5所示。
1.)在AutoCAD2002中,按照圖4畫出該加工零件形狀,保存為文件Lingjianl.dxf;2.)由讀入圖形模塊處理文件Lingjianl.dxf,對DXF文件中線段、圓弧、圓等圖形信息直接提取并保存在字符串中,而對DXF文件中橢圓、多線段、樣條曲線等圖形信息,先提取相關信息,然后對其進行圓弧擬和,將其分解為線段圓弧信息,再保存在字符串中。具體步驟如下10.讀取組碼和組值,11.判斷組碼是否等于0并且組值是否是ENTITLES(實體段),如果滿足條件執(zhí)行下一步,否則跳到第一步,12.讀取組碼和組值,13.判斷組碼是否等于0并且組值是否是ENDSEC(實體段結束),若滿足條件就退出循環(huán),否則進入下一步,14.判斷組碼是否等于0并且組值是否是LINE(直線),若滿足條件就讀取直線的起點和終點,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,15.判斷組碼是否等于0并且組值是否是ARC(圓弧),若滿足條件就讀取圓弧圓心、半徑、起始角和終止角,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,16.判斷組碼是否等于0并且組值是否是CIRCLE(圓),若滿足條件就讀取圓心和半徑,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,
17.判斷組碼是否等于0并且組值是否是ELLIPSE(橢圓),若滿足條件就讀取橢圓弧中心點、主軸端點坐標、起始角和終止角,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,18.判斷組碼是否等于0并且組值是否是LWPOLYLINE(多線段),若滿足條件就讀取多線段各節(jié)點坐標、凸度,及該多線段是否閉合信息,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,19.判斷組碼是否等于0并且組值是否是SPLINE(樣條曲線),若滿足條件就讀取樣條曲線次數、節(jié)點數目、控制節(jié)點數目、節(jié)點坐標、節(jié)點權值,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則直接跳到第(12)步。
經過讀入圖形模塊處理后,存儲在字符串中的數據是“ARC*50.0*50.0*50.0*100.0*50.0*0.0*ARC*150.0*50.0*150.0*0.0*150.0*100.0*LINE*50.0*0.0*150.0*0.0*LINE*50.0*100.0*150.0*100.0”。
3.)由二維環(huán)模塊將前述字符串中線段圖形信息提取出來生成線段元素,將圓弧圖形信息提取出來生成圓弧元素,將圓圖形信息提取出來生成圓元素,然后將各個線段元素、圓弧元素、圓元素插入到二維環(huán)中。具體步驟如下首先,建立零件鏈表,該鏈表中存儲的信息是該零件對象指針。
其次,讀取字符串中數據,分別生成圓弧對象一、圓弧對象二、直線對象一、直線對象二。
最后,建立二維環(huán)鏈表,將上述四個對象指針插入到二維環(huán)鏈表中。
4.)由排序模塊將上述二維環(huán)中各個線段元素、圓弧元素按照首尾相接的順序排列。具體步驟如下21)在二維環(huán)鏈表中找到切銑起始點(50.0,100.0),在原鏈表中刪除該節(jié)點,將該節(jié)點添加到排序后的鏈表中,并將該幾何元素信息保存在臨時節(jié)點中,22)依次遍歷原鏈表中的節(jié)點,判斷各節(jié)點指向的幾何元素的端點坐標(起點與終點)是否與臨時節(jié)點中的終點坐標相重合,如果不重合,繼續(xù)讀取下一節(jié)點的數據并重新判斷;如果重合,將該端點作為幾何元素的起點,另一端點作為幾何元素的終點,將幾何元素的信息保存在臨時節(jié)點中,在原鏈表中刪除該節(jié)點,并將該節(jié)點添加到排序后的鏈表中,23)重復步驟22),直到將二維環(huán)鏈表中的所有節(jié)點排序完畢。
經過上述排序后,二維環(huán)中幾何元素序列如下圓弧對象一(起點(50.0,100.0),終點(50.0,0.0)),直線對象一(起點(50.0,0.0),終點(150.0,0.0)),圓弧對象二(起點(150.0,0.0),終點(150.0,100.0)),直線對象二(起點(150.0,0.0),終點(50.0,100.0))。
5.)由代碼生成模塊生成相應加工零件的數控加工代碼。
首先介紹本發(fā)明所產生的數控加工代碼格式。
G00 指令是數控器命令切銑頭以最高進給速度移動到程式中指定的終點位置。格式如下G00 X_Y_,X、Y為定位終點的絕對坐標值。
G01 指令是數控器命令切割頭以給定速度執(zhí)行直線切銑功能至程式中指定的終點位置。格式如下G01 X_Y_F_,X、Y為切銑終點的絕對坐標值,F為切銑進給率。切銑起點即為指令執(zhí)行前切銑頭所在位置。
G02/G03指令分別是數控器命令切銑頭以給定速度順時針/逆時針沿圓弧切銑至程式所指定的終點位置。格式如下G02 X_Y_I_J_F_,即以速度F順時針切銑。
G03 X_Y_I_J_F_,即以速度F逆時針切銑。
M00,程式停止,按下起動繼續(xù)執(zhí)行。
M02,程式結束。
M55,氣缸抬起。
M56,氣缸落下。
代碼自動生成具體的程序流程圖如圖4所示。
31.提取二維環(huán)鏈表中首個幾何元素的起點作為零件切割軌跡的起點坐標,32.生成G00以及M56指令,33.判斷該對象是否是線段對象,若是提取線段終點坐標,然后生成G01指令,并轉入第36)步,否則進入下一步,34.判斷該對象是否是圓對象,若是提取圓的圓心坐標,并計算I和J的值,然后生成G02指令,并轉入第36)步,否則進入下一步,35.判斷該對象是否是圓弧對象,若是提取圓弧終點坐標、圓心坐標,并計算I和J,然后生成G02或者G03指令,36.判斷該對象是否是最后一個對象,若是生成M55指令并結束,否則進入下一步,37.提取二維環(huán)中下一個幾何對象,并轉入第33)步。
經過代碼生成模塊,自動生成的數控加工代碼如下N1 G00 X50.0 Y100.0N2 M55N3 G04 X4.00N4 G03 X50.0 Y0.0 I0.0 J-50.0 F#61N5 G01 X150.0 Y0.0N6 G03 X150.0 Y100.0 I0.0 J50.0 F#61N7 G01 X50.0 Y50.0N8 M5權利要求
1.一種碳纖維高精度數控銑床的控制方法,其特征在于該方法首先建立讀入圖形模塊、二維環(huán)模塊、排序模塊、代碼生成模塊,其控制步驟如下1.)根據待加工零件形狀,在AutoCAD中畫出加工零件圖形,保存為DXF文件格式;2.)由讀入圖形模塊提取DXF文件中的圖形信息,對DXF文件中線段、圓弧、圓等圖形信息直接提取并保存在字符串中,而對DXF文件中橢圓、多線段、樣條曲線等圖形信息,先提取相關信息,然后對其進行圓弧擬和,將其分解為線段圓弧信息,再保存在字符串中;3.)由二維環(huán)模塊將前述字符串中線段圖形信息提取出來生成線段元素,將圓弧圖形信息提取出來生成圓弧元素,將圓圖形信息提取出來生成圓元素,然后將各個線段元素、圓弧元素、圓元素插入到二維環(huán)中;4.)由排序模塊將上述二維環(huán)中各個線段元素、圓弧元素按照首尾相接的順序排列;5.)由代碼生成模塊生成相應加工零件的數控加工代碼。
2.根據權利要求1所述的碳纖維高精度數控銑床的控制方法,其特征在于建立讀入圖形模塊的方法為10).讀取組碼和組值,11).判斷組碼是否等于0并且組值是否是實體段,如果滿足條件執(zhí)行下一步,否則跳到第一步,12).讀取組碼和組值,13).判斷組碼是否等于0并且組值是否是實體段結束,若滿足條件就退出循環(huán),否則進入下一步,14).判斷組碼是否等于0并且組值是否是直線,若滿足條件就讀取直線的起點和終點,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,15).判斷組碼是否等于0并且組值是否是圓弧,若滿足條件就讀取圓弧圓心、半徑、起始角和終止角,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,16).判斷組碼是否等于0并且組值是否是圓,若滿足條件就讀取圓心和半徑,然后將其存儲在字符串中,最后跳到第(12)步,否則進入下一步,17).判斷組碼是否等于0并且組值是否是橢圓,若滿足條件就讀取橢圓弧中心點、主軸端點坐標、起始角和終止角,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,18).判斷組碼是否等于0并且組值是否是多線段,若滿足條件就讀取多線段各節(jié)點坐標、凸度,及該多線段是否閉合信息,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則進入下一步,19).判斷組碼是否等于0并且組值是否是樣條曲線,若滿足條件就讀取樣條曲線次數、節(jié)點數目、控制節(jié)點數目、節(jié)點坐標節(jié)點權值,然后進行圓弧擬和,接著將圓弧信息存儲在字符串中,最后跳到第(12)步,否則直接跳到第(12)步。
3.根據權利要求1所述的碳纖維高精度數控銑床的控制方法,其特征在于建立二維環(huán)模塊的方法為首先建立零件鏈表,該鏈表中存儲的信息是零件對象指針,每個零件指針指向其二維環(huán)鏈表,其次建立二維環(huán)鏈表,該鏈表中存儲的信息是零件所包含的線段類、整圓類、圓弧類指針。
4.根據權利要求1所述的碳纖維高精度數控銑床的控制方法,其特征在于建立排序模塊的方法為21).在二維環(huán)鏈表中切銑起始點,在原鏈表中刪除該節(jié)點,將該節(jié)點添加到排序后的鏈表中,并將幾何元素的信息保存在臨時節(jié)點中,22).依次遍歷原鏈表中的節(jié)點,判斷各節(jié)點指向的幾何元素的端點坐標(起點與終點)是否與臨時節(jié)點中的終點坐標相重合,如果不重合,繼續(xù)讀取下一節(jié)點的數據并重新判斷;如果重合,將該端點作為幾何元素的起點,另一端點作為幾何元素的終點,將幾何元素的信息保存在臨時節(jié)點中,在原鏈表中刪除該節(jié)點,并將該節(jié)點添加到排序后的鏈表中,23).重復步驟22),直到將二維環(huán)鏈表中的所有節(jié)點排序完畢。
5.根據權利要求1所述的碳纖維高精度數控銑床的控制方法,其特點在于建立代碼生成模塊的方法為31)提取二維環(huán)鏈表中首個幾何元素的起點作為零件切割軌跡的起點坐標,32)生成G00以及M56指令,33)判斷該對象是否是線段對象,若是提取線段終點坐標,然后生成G01指令,并轉入第36)步,否則進入下一步,34)判斷該對象是否是圓對象,若是提取圓的圓心坐標,并計算I和J的值,然后生成G02指令,并轉入第36)步,否則進入下一步,35)判斷該對象是否是圓弧對象,若是提取圓弧終點坐標、圓心坐標,并計算I和J,然后生成G02或者G03指令,36)判斷該對象是否是最后一個對象,若是生成M55指令并結束,否則進入下一步,37)提取二維環(huán)中下一個幾何對象,并轉入第33)步。
全文摘要
碳纖維高精度數控銑床的控制方法是一種在碳纖維高精度數控銑床中進行數控加工代碼自動生成的方法,該方法首先建立讀入圖形模塊、二維環(huán)模塊、排序模塊、代碼生成模塊,其控制步驟如下1.根據待加工零件形狀,在AutoCAD中畫出加工零件圖形,保存為DXF文件格式;2.由讀入圖形模塊提取DXF文件中的圖形信息,對DXF文件中線段、圓弧、圓等圖形信息直接提取并保存在字符串中;3.由二維環(huán)模塊將前述字符串中線段圖形信息提取出來生成線段元素,將圓弧圖形信息提取出來生成圓弧元素;4.由排序模塊將上述二維環(huán)中各個線段元素、圓弧元素按照首尾相接的順序排列;5.由代碼生成模塊生成相應加工零件的數控加工代碼。
文檔編號G05B19/18GK1862432SQ200610085260
公開日2006年11月15日 申請日期2006年6月7日 優(yōu)先權日2006年6月7日
發(fā)明者黃學良, 王偉, 刁斌 申請人:東南大學