国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

橢圓宏程序自動編制技術研究*

2022-06-28 03:43曹智梅
新技術新工藝 2022年5期
關鍵詞:宏程序半軸橢圓

曹智梅

(廣東松山職業(yè)技術學院,廣東 韶關 512126)

數(shù)控加工編程一般分為手工編程和自動編程。手工編程編制的程序簡潔明了,識讀性強,程序段少。自動編程通常是借助CAD/CAM軟件來實現(xiàn),其程序段多,占用內存大,可讀性差。在近年的數(shù)控大賽中,數(shù)控車床、數(shù)控銑床和加工中心都包含橢圓曲線的加工。對于橢圓曲線,數(shù)控機床中并沒有提供專門的加工指令。雖然現(xiàn)在越來越多的操作者喜好用CAD/CAM自動編程軟件進行曲線的加工,但由于宏程序具有通用性好、易讀性強、程序段短等優(yōu)點,在數(shù)控加工中仍然占有非常重要的地位。

宏程序使用起來事半功倍,但在真正編寫宏程序時,由于點的坐標表達較繁瑣,編寫過程中極易出錯。本文借助VB軟件,對橢圓加工參數(shù)進行了一般表達,將其長半軸、短半軸、加工刀具號、進給率、主軸轉速、坐標位置和坐標旋轉角度等多個參數(shù)設置為可輸入的變量。當這些變量發(fā)生改變時,程序對應進行自動修改,大大減輕了編程人員的工作量,結合自動編程和手工編程的優(yōu)勢,在保證程序可讀性的前提下,提高了程序的正確性和編寫效率[1]。

1 橢圓曲線分析

1.1 橢圓參數(shù)方程

采用宏程序加工橢圓時,一般采用橢圓參數(shù)方程。橢圓的參數(shù)方程為:x=acosθ,y=bsinθ。橢圓參數(shù)方程中的參數(shù)θ是宏程序的編程變量,它控制著橢圓曲線加工的起止點位置。方程中每一個θ對應于一個x和一個y,當θ從0°變化到360°時,就可以求出橢圓上插補點對應的(x,y)坐標,無論加工哪個象限的橢圓,僅需要用一個表達式來表達。

橢圓標準參數(shù)方程描述的橢圓中心剛好位于坐標原點,且橢圓的長半軸與X軸坐標重合。當橢圓的中心不與原點重合,且橢圓的長半軸與X軸逆時針成一定角度時,橢圓上點的坐標則需要進一步計算[2]。

1.2 橢圓上點的坐標平移

橢圓圖形位置如圖1所示。圖1a中,已知橢圓中心O′在XOY坐標系中的坐標值為(x0,y0),橢圓長半軸長度為a,橢圓短半軸長度為b,則橢圓上任意點的坐標可表達為:

x=acosθ+x0

y=bsinθ+y0

a) 橢圓平移

b) 橢圓平移+旋轉

1.3 橢圓上點的坐標旋轉

當橢圓平移后,橢圓長軸雙繞橢圓中心逆時針旋轉角度φ(見圖1b),則此時需要對橢圓上點的坐標重新計算。

當數(shù)控機床具備旋轉指令G68時,旋轉中心為(x0,y0),旋轉角度為φ,編寫的程序為G68 Xx0Yy0Rφ。若機床沒有可供使用的旋轉指令,則橢圓上點的坐標可表達為:

x=(acosθ+x0)cosφ+(bsinθ+y0)sinφ

y=(bsinθ+y0)cosφ-(acosθ+x0)sinφ

2 編程基礎及變量設置

2.1 宏程序編制基礎

在進行宏程序編制時,要用到變量表達,首先要將圖形上的點的坐標進行數(shù)值表達。宏程序主要有程序開頭、程序中間和程序結尾3部分,程序開頭主要是描述加工前的準備狀態(tài),如主軸啟動、換刀、快速定位、冷卻液開關控制等;程序中間部分是整個程序的核心,主要通過循環(huán)語句來控制走刀的路線,重點是插補點的坐標計算公式。程序結尾主要是退刀,以及程序結束語句等。

2.2 VB編程基礎

VB是一種可視化編程語言,具備強大的計算功能、輸出功能和控制功能,能很好地完成條件判斷,以及按計劃的輸出。

本程序的界面設計如圖2所示。整個界面分成4個區(qū)域,第1個區(qū)域為橢圓參數(shù)區(qū),將橢圓長半軸、短半軸、橢圓中心點坐標、橢圓旋轉角度等參數(shù)進行輸入;第2個區(qū)域為加工參數(shù)區(qū),主要是將加工過程中的刀具號、主軸轉速、進給率、切削液開關控制等參數(shù)進行設定;第3個區(qū)域為橢圓圖形顯示區(qū),方便使用者理解各個參數(shù)的含義;第4個區(qū)域為宏程序生成區(qū),也是整個軟件的結果輸出區(qū),是整個系統(tǒng)界面中的核心區(qū)域[3-4]。

圖2 橢圓宏程序自動生成系統(tǒng)初始界面

2.3 編程變量選擇

橢圓曲線參數(shù)和切削加工參數(shù)都是編程過程中需要設置的變量。

1)橢圓曲線參數(shù)主要包括橢圓的定形尺寸和定位尺寸,橢圓的定形尺寸有橢圓長半軸a和短半軸b,橢圓的定位尺寸有橢圓中心位置的坐標x0和y0,橢圓的旋轉角度φ。這些基本參數(shù)在加工過程中會隨著具體加工對象的不同而改變,也是會變動的變量,均設置成變量,編程前可以按實際情況進行修改。

2)切削加工參數(shù)主要包括刀具號、刀具直徑、轉速和進給率、切削深度以及切削液開關控制等。在加工過程中,切削參數(shù)也是需要變化的量,設置好后,可以在自動編程中體現(xiàn)。

2.4 編程變量默認值及參數(shù)設置

圖2中,橢圓長半軸長度默認值設置成50,橢圓短半軸長度默認值設置成30,橢圓中心坐標X向平移和Y向平移均默認設置為0,橢圓長軸與X軸旋轉角度默認為0,橢圓插補角度增量也就是橢圓參數(shù)方程中的變量θ默認值設置為1;加工參數(shù)中刀具號默認值設置為01,主軸轉速默認值設置為2 500,進給率設置為100,切削液默認值設置成開(即M8)。

為了對編程中的變量進行控制,VB程序設計時需要設置10個變量值,即6個橢圓參數(shù)、3個加工參數(shù)和1個冷卻液控制參數(shù)進行對應,編程加工參數(shù)設置如下:

Option Explicit

Private Sub Command1_Click()

Dim A1!, B2!, C3!, D4!, E5!, F6!, G7%, H8!, I9%, I%, J10%

List1.Clear

A1 = Val(Text1.Text) '橢圓長半軸

B2 = Val(Text2.Text) '橢圓短半軸

C3 = Val(Text3.Text) '橢圓中心坐標X向平移

D4 = Val(Text4.Text) '橢圓中心坐標Y向平移

E5 = Val(Text5.Text) '橢圓的旋轉角度

F6 = Val(Text6.Text) '橢圓插補角度增量

G7 = Val(Text7.Text) '刀具號碼

H8 = Val(Text8.Text) '主軸轉速

I9 = Val(Text9.Text) '進給率

J10 = 8 '切削液開

3 宏程序自動編程算法及編制

3.1 算法流程圖

整個自動編程算法包含3個部分:第一部分是輸入已知參數(shù),通過已知參數(shù)來計算編程的變量。第二部分是VB程序計算,通過橢圓宏程序的部體框架設計,將計算的數(shù)值替代程序中的具體位置;第三部分是輸出加工宏程序,將替換完變量的程序進行輸出,同時保證輸出的程序滿足機床輸入標準,可直接用于機床加工[5-6]。其算法流程圖如圖3所示[7-8]。

圖3 算法流程圖

3.2 宏程序段核心部分處理

設置好變量后,應對核心部分進行編寫,具體編寫如下:

If Option2.Value = True Then J10 = 9

List1.AddItem "O0001; " '宏程序名稱

List1.AddItem "G40 G80 G49 G69 G21 G17; " '宏程序初始化

List1.AddItem "G90 G54 G0 X0 Y0 S" & H8 & " M03; " '主軸轉速

List1.AddItem "M6 T" & G7 & "; " '換刀

List1.AddItem "G43 Z50 H" & G7 & " ; " '刀長補正

List1.AddItem "G0 Z5; "

List1.AddItem "#1=0; "

List1.AddItem "#5=" & a1 & "; "

List1.AddItem "#6=" & B2 & "; "

List1.AddItem "G68 X" & C3 & " Y" & D4 & " R" & E5 & "; " '坐標旋轉

List1.AddItem "#7=" & a1 & "+" & C3 & ";" '下刀點位置計算

List1.AddItem "G0 X#7 Y" & D4 & " M" & J10 & "; " '切削液

List1.AddItem "G1 Z-2 F" & I9 & "; " '進給率

List1.AddItem "WHILE [#1 LE 360] DO1 ;"

List1.AddItem "#101=#5*COS[#1]+ X" & C3 & ";"

List1.AddItem "#102=#6*SIN[#1]+ Y" & D4 & ";"

List1.AddItem "G01 X[#101] Y[#102];"

List1.AddItem "#1=#1+1 ;"

List1.AddItem "END1; "

List1.AddItem "G1 Z2 ; "

List1.AddItem "G49 G69 "

List1.AddItem "G0 Z50 M5 M9; "

List1.AddItem "G0 X0 Y0; "

List1.AddItem "M30"

End Sub

3.3 宏程序以文件形式輸出

為了更好地使用編寫的宏程序,可以在“編制程序”按鈕中加入輸出指令,將編寫好的宏程序寫入電腦中,并以a.txt為文件名保存到C盤要目錄中,方便使用者。

Open "c:a.txt" For Output As #1

For i = 0 To List1.ListCount - 1

Print #1, List1.List(i)

Next i

Close

4 宏程序自動編程效果展示

4.1 運行測試

當橢圓參數(shù)如圖4所示時,單擊“編制程序”按鈕,編寫的宏程序如圖4所示;可以驗證繪制的宏程序形式正確,內容完整,能直接輸入數(shù)控機床進行加工。用不同的數(shù)值來測試,其程序的正確性也得到了驗證。橢圓插補角度增量θ可根據(jù)實際需要來取值,當加工的橢圓插補誤差偏大時,應適當減小θ的數(shù)值。

圖4 橢圓宏程序自動編程系統(tǒng)運行結果

4.2 輸出的完整宏程序

以記事本形式打開C盤根目錄下的a.txt文件,得到的宏程序如下,其程序可以直接傳輸?shù)綑C床進行數(shù)控加工。

O0001;

G40 G80 G49 G69 G21 G17;

G90 G54 G0 X0 Y0 S2500 M03;

M6 T1;

G43 Z50 H1 ;

G0 Z5;

#1=0;

#5=50;

#6=30;

G68 X10 Y20 R10;

#7=50+10;

G0 X#7 Y20 M8;

G1 Z-2 F100;

WHILE [#1 LE 360] DO1 ;

#101=#5*COS[#1]+ X10;

#102=#6*SIN[#1]+ Y20;

G01 X[#101] Y[#102];

#1=#1+1 ;

END1;

G1 Z2 ;

G49 G69

G0 Z50 M5 M9;

G0 X0 Y0;

M30

4.3 改進方向

本程序中,為了研究方便:1)研究的加工對象為完整橢圓,若加工的為橢圓弧,則還需要進一步計算橢圓圓弧起止點的對應參數(shù),并設置成變量,編制程序時應保證從起點到止點為逆時針方向;2)忽略了刀具補償,刀具只沿著軌跡直接進刀,實際加工過程中較多情況下會有刀具補償?shù)那闆r,程序中需要加入G41或G42指令,下刀點需要從軌跡外部下刀;3)切削深度沒有設置成變量,且在Z方向沒有分層銑削,只切削了一層,接下來要考慮Z向分層加工和XY分層加工。

5 結語

本文在研究宏程序編程的基礎上,應用VB軟件實現(xiàn)橢圓宏程序的自動生成,主要研究工作如下。

1)將橢圓宏程序編寫進行模塊化和規(guī)范化處理,將加工過程中需要設置的值進行直觀化變量處理,并給出了通用的自動編程思路和方法。

2)克服了傳統(tǒng)CAD/CAM軟件不能自動生成宏程序的弊端,提高了橢圓宏程序的編寫效率。

3)應用VB軟件的直觀性,結合宏程序的便捷性,由橢圓宏程序作為示例,可以移植到其他曲線的宏程序自動編程,具有較好的借鑒性,極大地方便了工程技術人員,有很高的應用價值和推廣前景。

猜你喜歡
宏程序半軸橢圓
橢球槽宏程序編制及其Vericut仿真
載貨汽車半軸套管的快速拆裝分析與探討
例談橢圓的定義及其應用
汽車全浮式半軸的可靠性優(yōu)化設計
巧用點在橢圓內解題
宏程序在加工中心生產(chǎn)中的應用
數(shù)控車編程教學中宏程序嵌套的應用
差速器半軸安裝偏心的理論計算與測量方法研究
橢圓的三類切點弦的包絡
農(nóng)用運輸車后橋故障分析
江津市| 鄢陵县| 抚宁县| 呼伦贝尔市| 敦化市| 玉屏| 应城市| 柳河县| 水城县| 昌黎县| 临沭县| 宁远县| 阿坝县| 商南县| 木里| 梧州市| 谷城县| 宁都县| 安达市| 长治县| 靖州| 竹山县| 东乌珠穆沁旗| 昆山市| 托克逊县| 镇雄县| 定安县| 普兰店市| 宾川县| 铁岭市| 鹤山市| 连山| 南陵县| 通道| 肥西县| 乐山市| 高陵县| 双桥区| 板桥市| 夏河县| 民勤县|