宏程序不是萬能的,但是沒有宏程序是不能的,尤其是處理一些疑難雜症。
比如下面要加工一個大螺距的矩形螺紋。
一、矩形螺紋計算公式如下表:
二、螺紋常用三種進給方法:側向進給、徑向進給、交替式進給
加工矩形螺紋的時候,由于刀具是方頭(類似于切槽刀),一般采用徑向進給走刀法加工。但是當螺距角大,牙槽寬度比刀具寬度大的時候,常常采用側向進給,或者交替進給。總的來說,你想采用哪種方式加工,那就怎麼編程。
三、案例欣賞
加工如下圖矩形60x10螺紋。
下面鄒軍愛數控采用側向進給方式來編寫此程序。
刀具X下降一定深度,向Z向移動,至到達到牙寬尺寸為止 。
然後X繼續下降一定深度, Z向移動到牙寬尺寸,依次類推 至到X向切削深度符合牙高。
其實側向進給方式需要做兩次判斷:
第一次:判斷又沒有車到某個深度 (X方向的牙高深度)
第二次:在對應的深度上判斷牙寬到尺寸沒 (Z方向的呀寬深度)
既然需要做兩次判斷,我們很容易想到宏程序的二層嵌套
設變量 #1代表牙高
設變量 #2代表牙寬
計算出矩形60X10螺紋的牙高和牙寬
牙高: 0.5x10 0.1=5.1
牙寬: 0.5x10 0.02=5.02
(備注:假如刀具寬為3,那麼把刀具寬度計算在内,實際牙寬為:5.02-3=2.02)
那麼清風說過:你能不能編寫出宏程序,就看你心中有沒有學到手的宏案例,複制 套用即可
複制宏程序二層嵌套(如下簡圖):
程序如下:
T0101
S500M3
G0X60Z5
#1=0 (單邊牙高,初始賦值為0,從零開始,以及後面#1=#1 0.1 每層下刀0.1mm)
WHILE[#1LE5.1]DO1 (既然#1表示牙高,那麼它的值如果小于等于5.1,說明沒車完)
G0X[60-2*#1] (每刀的切削深度為:60-2*#1)
G32Z-83F50
G0X62
Z15
#2=0 (牙寬, 初始賦值為0 )
WHILE[#2LE2.02]DO2 (由于剩餘的槽寬是2,02,所以#2的值如果小于2.02,那麼說明沒切刀牙寬尺寸)
G0X[60-2*#1]
Z[5-#2]
G32Z-83F50
G0X62
Z5
#2=#2 2.02 (由于剩餘的槽寬隻有2.02,比刀具寬度小,所以賦值為2.02)
END2
#1=#1 0.1
END1
G0X100
Z100
M30
四、嵌套循環運行順序
1.當程序執行到 WHILE[#1LE5.1]DO1的時候,它知道#1的初始值是0,是小于5.1的,所以就依次執行WHILE 到END1之間的程序
2,當運行到WHILE[#2LE2.02]DO2 這一段,#2的值小于2.02,于是就繼續往下執行,當執行到#2=#2 2.02 的時候,#2的值發生了變化,系統判斷還是滿足條件,于是又執行DO2與END2之間的程序,至到不滿足條件,才跳出内部循環
3,當#2大于2.02的時候(這一層的牙寬到尺寸了),程序跳轉至END2之外,執行#1=#1 0.1,發現#1的值仍然小于5.1,程序繼續執行DO1與END1之間的程序。
好啦,歡迎鄒軍愛數控V❤: soscnc 獲取更多數控編程方面的幹貨!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!