QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
全站
goto3d 说: 此次SW竞赛获奖名单公布如下,抱歉晚了,版主最近太忙:一等奖:塔山817;二等奖:a9041、飞鱼;三等奖:wx_dfA5IKla、xwj960414、bzlgl、hklecon;请以上各位和版主联系,领取奖金!!!
2022-03-11
查看: 2384|回复: 0
收起左侧

[应用案例] 让Mastercam后处理智能输出G05.1指令

[复制链接]
发表于 2017-7-26 20:32:34 | 显示全部楼层 |阅读模式

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 ghost1 于 2017-7-26 20:44 编辑

G05.1(AI轮廓控制)指令是以高速高精加工为目的,可以控制机床运动时的加速/减速延迟.伺服系统延迟,由此减少加工形状误差.  - 以上来自Fanuc系统说明书

G05.1开启和关闭分别是代码
G05.1 Q1开启
G05.1Q0关闭.

弄明白了之后,我们就开始处理后处理的问题.

打开Mastercam 2017调用自带的三轴VMC机床,其机床指向后处理为"Generic Fanuc 3X Mill.pst"
编写一个简单的测试程序 2D外形铣削一个矩形
1.jpg
程序其实无所谓,主要是简单!简单!简单!    重要事情讲三遍.
简单的程序能尽快的完成调试.这对于修改而言可以少去很多的等待时间.
执行后处理操作,得到代码如下:
2.jpg
现在代码是没有G05.1功能的,要在G43 H219 Z25.这行前面插入G05.1 Q1
在M5这行前插入G05.1 Q0!
打开后处理调试器,通过先前的方法很方便的找到了具体的位置:
(什么,你不知道后处理调试器?赶紧去看看先前发的文章吧!)
3.jpg
我们就在代码 pbld, n$, sg43, *tlngno$, pfzout, pscool, pstagetool, e$
前面插入一句 pbld, n$, "G05.1 Q1", e$
其中 n$是行号,e$是换行.插入代码意思就是在G43这行前面直接输出 "G05.1 Q1"
4.jpg
然后找到M5所在位置
5.jpg
果然也很顺利的找到了.
在 pbld, n$, sccomp, *sm05, psub_end_mny, e$ 前面插入 pbld, n$, "G05.1 Q0", e$ 代码如图:
6.jpg
好了,到此我们保存后处理,从新生成G代码,得到代码如下:
7.jpg
看起来有模有样的!!目的顺利达到  本文结束.谢谢大家!!
...
...
...
...
这TM那门子智能?!! 简直是简单粗暴.还不带 Tao.....
好吧,被叫回来返工了.苦比程序员加班中....
如果你觉得后处理修改这就完成了,那就大错特错了.
我们继续创建一个新的操作.
继续2D外形好了,但这次我们换一把新的刀!
8.jpg
两个操作,两把刀具,我们继续后处理代码:
9.jpg
第一把刀在结束的时候关闭掉了G05.1但第二把刀却没有开启.这时候,代码就有问题.BUG就这样在考虑不周的时候产生了!继续用代码调试去找到第二个G43 H1的位置.插入 pbld, n$, "G05.1 Q1", e$
10.jpg
保存,进行后处理!
11.jpg
虽然是关了又开,但这次代码总OK了吧!!总能够交差下班了吧!
呵呵呵呵~~~
继续创建新的操作.钻孔
12.jpg
为啥是钻孔呢?要晓得.G05.1Q1模式不能用于钻孔,也就是说遇到钻孔的时候必须取消G05.1模式.
我们直接后处理程序,看看我们的代码是什么样子的
13.jpg
钻孔的地方代码是有问题的.刚解决前面的BUG,后面又出现新问题了!
咱们要做的就是必须要让后处理自己判断,当发现是钻孔的时候就不要输出 G05.1 Q1!
要怎么判断呢.这时候就需要用到一个系统自带的函数: tool_op$
凡是带$的都是美国原装进口货,手里有美刀!不需要我们去定义.而我们自己定义的自然不能带$了!
找到psof$程序段下面的第一组 pbld, n$, "G05.1 Q1", e$
这是里第一个操作程序段
我们要让后处理判断下当前处理的操作是不是钻孔.查询MP说明书得知
tool_op$值为2的时候是钻孔操作(还有五轴钻孔,但我们是三轴后处理,可以无视)
我们需要将先前的pbld, n$, "G05.1 Q1", e$ 替换为 if tool_op$ <> 2, pbld, n$,  "G05.1 Q1", e$.
14.jpg
他的意思就是 IF(判断)  tool_op$ 这个操作 <>(不等于)2的时候,输出 pbld, n$, "G05.1 Q1", e$ 因为没用到else(否则)所以在等于2的时候,pbld, n$, "G05.1 Q1", e$这句自然跳过了.好了 保存.先看一下代码是否正确?
直接输出钻孔操作,得到代码如下:
15.jpg
可以看到钻孔操作的 G05.1 Q1输出已经没有了.那其他操作是不是还在呢?继续输出2D外形操作:
16.jpg
OK,2D外形操作G05.1 Q1还是存在的.我们继续用前面方法更改第二处
直接搜索 pbld, n$, "G05.1 Q1", e$ 找到后,替换成 if tool_op$ <> 2, pbld, n$, "G05.1 Q1", e$.完成后保存后处理文件!什么?钻孔后面还有"G05.1 Q0".不用担心,反正是取消,不影响的.我非要改了呢?改完后你处理所有代码.又会发现新的问题..而你不去勤快下的话,代码虽然看起来啰嗦,但却能执行!

发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备13008828号-1 )

快速回复 返回顶部 返回列表