少尉
UID2661307
U币1
G币1929
技术0
主题9
精华0
阅读权限75
注册时间2016-6-27
最后登录2024-10-20
在线时间193 小时
手机18668066759
少尉
|
在加工中有时候会遇到使用定制刀具来加工孔非常规孔,这个时候默认的几个钻孔循环指令如G81,G83,。。。等可能无法满足要求,需要手工编程,效率不高不说,而且还容易出错,今天分享下如何利用Mastercam的自定义钻孔功能定制一个自定义的钻孔循环指令,来配合定制刀具,生成加工程序。
下面以曾经为一位朋友定制的一个可拆卸刀头的沉头刀加工反面沉头的实际案例来做说明。
以下内容,需要各位了解FANUC钻孔固定循环的实现原理以及宏程序的几种调用方法,当然简单的宏程序编写能力也必不可少。
开始:
1. 以下图为例,加工下图的一个沉头孔,沉头直径42,通孔20,沉头面干涉,无法从沉头面加工,因此使用定制的可拆卸刀头从20通孔面加工
动作分解:首先刀具定位到孔中心 X, Y, 安全高度 R ,然后暂停M00,检查(拆卸)刀头,然后刀杆进入孔内,到达沉头孔口并让出20mm空间用于安装刀头 Q, 暂停M00 ,安装刀头,加工 S, F,退刀,拆刀头,回安全高度,继续下一个孔。。。
2. 根据上面的分解动作手工编好子程序,以O8001提前存储在FANUC系统目录
- %
- O8001
- #1= 2000
- #2= #4001
- #3= #4003
- M00 (UNLOCK-TOOL)
- G90
- G01 Z#18 F#1
- M00
- G01 Z[#26+#17]
- M00 (LOCK-TOOL)
- S#19 M03
- G01 Z#26 F#9
- G04 X1.
- G01 Z[#26+#17] F#1
- M05
- M00 (UNLOCK-TOOL)
- G01 Z#18 F#1
- G#2 G#3
- M99
- %
复制代码 3. 修改 Mastercam 后处理
根据上面编号的宏程序 确定调用格式以及需要Mastercam输出的参数是哪些
在这里我们用 G66 模态调用,移动指令调用,能达到和G81等钻孔循环一样的效果。
G66 P8001 Zxx Rxx Qxx Sxx Fxx
下面XY每移动一次,就重复调用一次P8001
G67 取消调用
确定需要 Z R Q S F这5个参数,那就开整。
打开后处理 搜索 pdrlcst8 后处理快修改如下:
- pdrlcst8 #Custom drill cycle 8 - example custom cycle
- pdrlcommonb
- *sm00, e$
- sopen_prn, "CUSTOMIZABLE DRILL CYCLE EXAMPLE - FIRST HOLE", sclose_prn, e$
- pcan1, "G66 P8001", pfzout, prdrlout, peck1$, *speed, *feed, e$
- pbld, n$, pfxout, pfyout, e$
- #pcan1, pbld, n$, *sm00, pfxout, pfyout, pfzout, pcout, *feed, strcantext, e$
- pcom_movea
复制代码 继续搜索 pdrlcst8_2
- pdrlcst8 #Custom drill cycle 8 - example custom cycle
- pdrlcommonb
- pcan1, pbld, <span style="color: rgb(0, 0, 255);">n[ DISCUZ_CODE_2 ]lt;/span>, pxout, pyout, <span style="color: rgb(0, 0, 255);">e[ DISCUZ_CODE_2 ]lt;/span>$
- pcom_movea
复制代码
再搜索 pcanceldc$ 添加 if drillcyc$ = 8, pcan1, pbld, n$, "G67", strcantext, e$- pcanceldc[ DISCUZ_CODE_151 ]nbsp; #Cancel canned drill cycle
- result = newfs(three, zinc)
- z$ = initht$
- if cuttype = one, prv_zia = initht$ + (rotdia$/two)
- else, prv_zia = initht$
- pxyzcout
- !zabs, !zinc
- prv_gcode$ = zero
- pcan
- if drillcyc$ = 8, pcan1, pbld, n$, "G67", strcantext, e$
- else, pcan1, pbld, n$, sg80, strcantext, e$
- if (drillcyc$ = 3 & tap_mode = 2) | (drillcyc$ = 7 & tap_feedtype), pbld, n$, sg94, e$
- result = newfs(15, feed) #Reset the output format for 'feed'
- pcan2
复制代码 4. 打开控制定义,自定义钻孔9 自己起个名字 把Q 参数打开
5. 选择蓝色面沉头孔,钻孔参数选择刚刚设置的自定义钻孔,
设置好Q值,链接参数按正常编程设置
6.输出效果
使用效果和G81。。。等钻孔指令一样
扩展一下,后面例如雷尼绍探针在线测量,自动分中等功能是不是就能实现了。。。。
|
评分
-
查看全部评分
|