马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
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外形铣削一个矩形 程序其实无所谓,主要是简单!简单!简单! 重要事情讲三遍.
简单的程序能尽快的完成调试.这对于修改而言可以少去很多的等待时间. 执行后处理操作,得到代码如下: 现在代码是没有G05.1功能的,要在G43 H219 Z25.这行前面插入G05.1 Q1 在M5这行前插入G05.1 Q0! 打开后处理调试器,通过先前的方法很方便的找到了具体的位置: (什么,你不知道后处理调试器?赶紧去看看先前发的文章吧!) 我们就在代码 pbld, n$, sg43, *tlngno$, pfzout, pscool, pstagetool, e$ 前面插入一句 pbld, n$, "G05.1 Q1", e$ 其中 n$是行号,e$是换行.插入代码意思就是在G43这行前面直接输出 "G05.1 Q1" 然后找到M5所在位置 果然也很顺利的找到了.
在 pbld, n$, sccomp, *sm05, psub_end_mny, e$ 前面插入 pbld, n$, "G05.1 Q0", e$ 代码如图: 好了,到此我们保存后处理,从新生成G代码,得到代码如下:
看起来有模有样的!!目的顺利达到 本文结束.谢谢大家!!
... ... ... ... 这TM那门子智能?!! 简直是简单粗暴.还不带 Tao..... 好吧,被叫回来返工了.苦比程序员加班中.... 如果你觉得后处理修改这就完成了,那就大错特错了. 我们继续创建一个新的操作. 继续2D外形好了,但这次我们换一把新的刀! 两个操作,两把刀具,我们继续后处理代码: 第一把刀在结束的时候关闭掉了G05.1但第二把刀却没有开启.这时候,代码就有问题.BUG就这样在考虑不周的时候产生了!继续用代码调试去找到第二个G43 H1的位置.插入 pbld, n$, "G05.1 Q1", e$ 保存,进行后处理!
虽然是关了又开,但这次代码总OK了吧!!总能够交差下班了吧!
呵呵呵呵~~~ 继续创建新的操作.钻孔 为啥是钻孔呢?要晓得.G05.1Q1模式不能用于钻孔,也就是说遇到钻孔的时候必须取消G05.1模式.
我们直接后处理程序,看看我们的代码是什么样子的 钻孔的地方代码是有问题的.刚解决前面的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$. 他的意思就是 IF(判断) tool_op$ 这个操作 <>(不等于)2的时候,输出 pbld, n$, "G05.1 Q1", e$ 因为没用到else(否则)所以在等于2的时候,pbld, n$, "G05.1 Q1", e$这句自然跳过了.好了 保存.先看一下代码是否正确? 直接输出钻孔操作,得到代码如下: 可以看到钻孔操作的 G05.1 Q1输出已经没有了.那其他操作是不是还在呢?继续输出2D外形操作:
OK,2D外形操作G05.1 Q1还是存在的.我们继续用前面方法更改第二处
直接搜索 pbld, n$, "G05.1 Q1", e$ 找到后,替换成 if tool_op$ <> 2, pbld, n$, "G05.1 Q1", e$.完成后保存后处理文件!什么?钻孔后面还有"G05.1 Q0".不用担心,反正是取消,不影响的.我非要改了呢?改完后你处理所有代码.又会发现新的问题..而你不去勤快下的话,代码虽然看起来啰嗦,但却能执行!
|