鉆削深孔通用宏子程序的編制

發布日期:2012-10-28    蘭生客服中心    瀏覽:5853

  如前所述,通用固定循環指令在深孔鉆削編程中存在著刀具冷卻、臺階深孔的加工空運行時間較長、排屑困難等問題。如果采用CAM軟件進行自動編程,即使采用G01、G00等簡單指令產生程序,也必須進行大量的手工修改才可避免上述問題,編程效率較低,且易出錯。經過試驗,筆者以FANUC系統為例,編制了一個通用宏子程序,利用G65功能調用該子程序,較好地解決了刀具冷卻、排屑等深孔加工問題。

  3.1、G65調用子程序的格式用G65指令調用子程序的格式為:G65P0020X_Y_Z_R_Q_P_K_F_;X、Y為孔的定位坐標(#23、#24)。

  3.2鉆深可變式深孔鉆加工宏程序

  主程序的結構

  O1125

  S1000M03

  G54G90G00X0Y0Z30程序開始,定位于G54原點上方

  G65P0020Z-65R1Q20F200D0.5調用宏程O1126

  S004T0.2

  M30程序結束

  自變量賦值說明(通用)

  #7=(D)每次進給前的緩沖高度(絕對值)Depth

  #9=(F)切削進給速度Feed

  #17=(Q)第1次鉆深(絕對值)

  #18=(R)R點(快速趨近點)坐標(Z坐標值,非絕對值)

  #19=(S)鉆深每次遞減比例Scale(經驗值可取0.3~0.5)

  #20=(T)最小鉆深比例,最小鉆深為T*Q

  #26=(Z)孔深(Z坐標值,非絕對值)

  以下為類似于G73式的鉆深可變式深孔鉆加工宏程序。主要是為了在加工條件允許的情況下追求更高效率而采用較為激進的斷屑方式,如圖3。

  宏程序(G73式)

  O1126

  G00Z#18//快速趨近R點

  #27=#18-#26//總鉆深(絕對值)

  #16=#17//第1次鉆深(即賦#16初始值為#17)

  #1=#20*#17//最小鉆深

  #27=#27-#16//第1次鉆后的剩余深度(絕對值)

  WHILE[#27GT0]DO1//如鉆深未到底,則鉆孔,即循環1繼續

  G91G01Z-#16F#9//每次向下鉆深進給1個#16(增量值)

  G00Z#7//快速回退1個#7(增量值)

  IF[#16GE#1]GOTO1//如鉆深#16≥最小鉆深#1,轉至N1行

  N1#16=#16*#19//鉆深#16按設定比例#19依次遞減(絕對值)

  IF[#16GE#1]GOTO3//如#16≥#1,轉至N3行(此時已執行完N1行)

  IF[#16LT#1]GOTO2//如鉆深#16<最小鉆深#1,轉至N2行

  N2#16=#1//鉆深#16=最小鉆深#1

  IF[#16LT#1]GOTO3//如#16<#1,轉至N3行(此時已執行完N2行)

  N3#27=#27-#16//剩余深度(絕對值)#27依次遞減每次鉆深#16

  G01Z-#7//向下鉆1個回退量#7(增量值)

  END1//鉆深不足1次(此時0<#27<#1)時循環1結束

  #16=#16+#27//恢復剩余深度(絕對值)

  G01Z-#16//完成最后1段鉆深加工

  G80G90G00Z30//返回安全平面并取消固定循環

  M99//宏程序結束返回

  以下為類似于G83式的鉆深可變式深孔鉆加工宏程序。主要用于深徑比較大、材料加工性能較差、加工條件較惡劣的深孔鉆削加工,因此采用較為保守和徹底的排屑方式,即每次向下進給一個鉆深后,都快速返回到R點平面,如圖4。

  宏程序(G83式)

  O1126

  G00Z#18//快速趨近R點

  #27=#18-#26//總鉆深(絕對值)

  #16=#17//第1次鉆深(即賦#16初始值為#17)

  #1=#20*#17//最小鉆深

  #27=#27-#16//第1次鉆后的剩余深度(絕對值)

  #4=#18-#16//第1次鉆深進給的Z坐標目標值(非絕對值)

  WHILE[#27GT0]DO1//如鉆深未到底,則鉆孔,即循環1繼續

  G01Z#4F#9//每次鉆深進給至Z#4面

  G00Z#18//快速返回至R點平面

  Z[#4+#7]//快速下降至Z#4面上#7處(#7由D賦值)

  IF[#16GE#1]GOT01//如鉆深#16≥最小鉆深#1,轉至N1行

  N1#16=#16*#19//鉆深#16按設定比例#19依次遞減(絕對值)

  IF[#16GE#1]GOTO3//如#16≥#1,轉至N3行(此時已執行完N1行)

  IF[#16LT#1]GOTO2//如鉆深#16<最小鉆深#1,轉至N2行

  N2#16=#1//鉆深#16=最小鉆深#1

  IF[#16LT#1]GOTO3//如#16<#1,轉至N3行

  #4=#4-#16//#4依次遞減#16

  N3#27=#27-#16//剩余深度(絕對值)#27依次遞減每次鉆深#16

  END1//鉆深不足1次(此時0<#27<#1)時循環1結束

  #16=#16+#27//恢復剩余深度(絕對值)

  G01Z[#4-#16]//完成最后1段鉆深加工

  G80Z30//返回安全平面并取消固定循環

  M99//宏程序結束返回

更多相關信息