我是安周,今天分享一个后处理攻丝中判断 (F=P / F=SP )的思路
大家都知道法兰克和三菱不同的地方就是攻丝,一般都分为两个后处理,那么有没有办法用一个后处理搞定呢,下来我分享一下我的思路。
直奔正题:
当攻丝循环输出时,F小于3,则认为机床读取F值是刀具螺距,这时刚性攻丝不会输出M29而F
这时候后处理允许输出小数点2位,(F==P)P直接读取刀具螺距。
如果大于3,后处理认为机床读取F值为(S*P),这时后处理认为机床需要M29。
这里的用3判断是作者很少看到有螺距大于3的,当然这个根据实际情况。
创建刀路:
刀具的螺距
转速和进给:
下来修改后处理,找到现成循环:
在攻丝事件中加入一个自定义命令
代码如下:
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"
}
}
保存后处理,测试。
前面我做的刀路S150 F250 P1.5 后处理看效果
F大于3, F输出 转速S150*螺距1.5 F225. 法兰克格式 输出M29
F小于3 ,F输出 刀具螺距1.5 F1.5 三菱不需要M29
这样做的目的不用每次去刻意的设置一下F,节约编程时间,让软件去完成吧。