分享一个法那科 三菱攻丝自动判断是否要输出M29语句
本帖最后由 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
代码如下:(注意不要多复制一个空格)
global mom_tool_pitch mom_spindle_speed feed
if ! { set mom_tool_pitch 0 }
if {$mom_tool_pitch != 0 } {
if { $feed <= 3 } {
set feed [ format "%.2f" $mom_tool_pitch ]
} else {
set feed
MOM_output_literal "M29"
}
}
自己后处理出来的程序当输入F<3时,后处理出来F=P,当F>3时F=S*P,如下图所示:
能达到预期 的效果!此法有一个弊端,当选1个以上螺丝孔时,法那科输出M29时,每一个孔前输出一个M29,不知有没有大伽能解决此问题!
补充内容 (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... 楼主解决了吗?我这个也是,多个孔攻丝的时候每个都出M29,楼上说的解决方法我试了试不行,没准是我哪里设置的不对,望指教 本帖最后由 雁南一撇 于 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 " "空格
后面加个
输出条件选择TAP
就可完美解决.
效果如下:
G43 Z30. H13 M08
M29 S1000
G98 G84 X-212. Y-187. Z-9.5 R-6.5 F450. Q1.3
X-158.....
肯定是有法绝对一直重复输出M29的{:lol:} 当然可以,修改你的定制命令里输出M29文字行,将M29改为$TAP ,然后做个块设置变量名 定义为模态即可 gaowenyang 发表于 2021-4-27 11:20
当然可以,修改你的定制命令里输出M29文字行,将M29改为$TAP ,然后做个块设置变量名 定义为模态即可
多谢指点为,能不能再详细写下步骤?
“块设置变量名 定义为模态即可” 哈哈,早就用上了 fanzg 发表于 2021-4-27 15:20
哈哈,早就用上了
多个孔一起 攻牙, 有没有多输出M29? 謝謝你無私的上傳 liu636363@163 发表于 2021-4-27 16:39
謝謝你無私的上傳
客气, 相互学习... 不要放到模块里边,用判断刀具的命令,让程序在用丝锥时输出M29
fanzg 发表于 2021-4-27 15:20
哈哈,早就用上了
多个孔攻牙时, 后处理时会不会每个孔前都有M29?
能不能分享(有偿也可)