找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 20415|回复: 44

[分享] 分享一个法那科 三菱攻丝自动判断是否要输出M29语句

  [复制链接]

5

主题

215

回帖

4677

积分

中尉

积分
4677
发表于 2021-4-27 10:17:51 | 显示全部楼层 |阅读模式
本帖最后由 zrui_cm 于 2021-4-27 10:19 编辑

原贴地址:论坛不让写网站(度娘搜:NX后处理攻丝进给自动判断 F=P / F=SP)
在网上找了好久 终于找一个懒 人使用的攻丝方法,分享给大家

我是安周,今天分享一个后处理攻丝中判断 (F=P / F=SP )的思路大家都知道法兰克和三菱不同的地方就是攻丝,一般都分为两个后处理,那么有没有办法用一个后处理搞定呢,下来我分享一下我的思路。直奔正题:当攻丝循环输出时,F小于3,则认为机床读取F值是刀具螺距,这时刚性攻丝不会输出M29而F这时候后处理允许输出小数点2位,(F==P)P直接读取刀具螺距。                                         
如果大于3,后处理认为机床读取F值为(S*P),这时后处理认为机床需要M29。这里的用3判断是作者很少看到有螺距大于3的,当然这个根据实际情况。
此方法需要 说明一点,建刀具时要把螺距  输进去,不然后处理出来 不是想要的...


1 11.jpg 12.jpg



代码如下:(注意不要多复制一个空格)
global mom_tool_pitch mom_spindle_speed feed
  if ![info exists mom_tool_pitch ] { set mom_tool_pitch 0 }
         if {$mom_tool_pitch != 0 } {
            if { $feed <= 3 } {
                set feed [ format "%.2f" $mom_tool_pitch ]
               } else {
                set feed [expr $mom_tool_pitch*$mom_spindle_speed]
                MOM_output_literal "M29"
               }
            }


自己后处理出来的程序当输入F<3时,后处理出来F=P,当F>3时F=S*P,如下图所示:
13.png

能达到预期 的效果!此法有一个弊端,当选1个以上螺丝孔时,法那科输出M29时,每一个孔前输出一个M29,不知有没有大伽能解决此问题!

14.png






补充内容 (2021-5-3 09:53):
缺陷的解决方法:
MOM_output_literal "M29"  把 输出 M29这个换成调用 命令:

MOM_do_template M29
就可完美解决.
效果如下:
G43 Z30. H13 M08
M29 S1000
G98 G84 X-212. Y-187. Z-9.5 R-6.5 F450. Q1.3
X-158...

0

主题

2

回帖

37

积分

列兵

积分
37
发表于 2021-12-31 14:23:33 | 显示全部楼层
楼主解决了吗?我这个也是,多个孔攻丝的时候每个都出M29,楼上说的解决方法我试了试不行,没准是我哪里设置的不对,望指教

9

主题

295

回帖

8222

积分

少校

积分
8222
发表于 2021-12-29 11:03:51 | 显示全部楼层
本帖最后由 雁南一撇 于 2021-12-29 11:05 编辑
drdk888 发表于 2021-7-31 16:02
换成这个命令 要报警  MOM_do_template M29
大师问题出在哪?

MOM_output_literal "M29"  把 输出 M29这个换成调用 命令:

MOM_do_template M29报警不行,MOM_output_literal "M29"又有多个M29的解决方法:
把MOM_output_literal "M29"改成MOM_output_literal " "空格
后面加个
m29.jpg
输出条件选择TAP
就可完美解决.
效果如下:
G43 Z30. H13 M08
M29 S1000
G98 G84 X-212. Y-187. Z-9.5 R-6.5 F450. Q1.3
X-158.....
(9B_IX)TPM3F28}4P7X8Z%A.png

24

主题

1241

回帖

2万

积分

少将

积分
24627

论坛贡献论坛元老

发表于 2021-4-27 10:23:14 | 显示全部楼层
肯定是有法绝对一直重复输出M29的{:}

0

主题

85

回帖

966

积分

五级士官

积分
966
发表于 2021-4-27 11:20:20 | 显示全部楼层
当然可以,修改你的定制命令里输出M29文字行,将M29改为$TAP ,然后做个块设置变量名 定义为模态即可

5

主题

215

回帖

4677

积分

中尉

积分
4677
 楼主| 发表于 2021-4-27 11:36:21 | 显示全部楼层
gaowenyang 发表于 2021-4-27 11:20
当然可以,修改你的定制命令里输出M29文字行,将M29改为$TAP ,然后做个块设置变量名 定义为模态即可

多谢  指点为,  能不能再详细  写下步骤?  

“块设置变量名 定义为模态即可”  

3

主题

817

回帖

1万

积分

中校

积分
11641
发表于 2021-4-27 15:20:13 | 显示全部楼层
哈哈,早就用上了

5

主题

215

回帖

4677

积分

中尉

积分
4677
 楼主| 发表于 2021-4-27 16:27:44 | 显示全部楼层
fanzg 发表于 2021-4-27 15:20
哈哈,早就用上了

多个孔一起 攻牙, 有没有多输出M29?

0

主题

760

回帖

1万

积分

中校

积分
10655
发表于 2021-4-27 16:39:38 | 显示全部楼层
謝謝你無私的上傳

5

主题

215

回帖

4677

积分

中尉

积分
4677
 楼主| 发表于 2021-4-27 16:46:44 | 显示全部楼层

客气, 相互学习...

4

主题

221

回帖

1693

积分

六级士官

积分
1693
发表于 2021-4-27 17:53:22 来自手机 | 显示全部楼层
不要放到模块里边,用判断刀具的命令,让程序在用丝锥时输出M29

5

主题

215

回帖

4677

积分

中尉

积分
4677
 楼主| 发表于 2021-4-28 22:29:56 | 显示全部楼层
fanzg 发表于 2021-4-27 15:20
哈哈,早就用上了

多个孔  攻牙时, 后处理时会不会每个孔前都有M29?
能不能分享(有偿也可)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-1-10 21:05

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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