暮光追不者 发表于 2023-8-1 01:23:29

后处理利用工序名的方式输出M00和强制换刀。

后处理用含有M00的工序名自动判断输出M00实现换压,或者强制换刀,或者实现别的功能。
虽然方法有挺多,个人感觉这种方法比较一目了然。
送上代码跟方法。






下面是代码:
#=============================================================
proc PB_CMD__check_block_stop { } {
#=============================================================
#输出条件
global mom_group_name
if {$mom_group_name != 0} {
return 1
} else {
return 0
}
}#=============================================================
proc PB_CMD_M001 { } {
#=============================================================
#放初始移动
global mom_group_name mom_tool_number mom_next_tool_number
if {} {
set mom_group_name 0
}
}#=============================================================
proc PB_CMD_M002 { } {
#=============================================================
#放第一次移动
global mom_group_name mom_tool_number mom_next_tool_number
if {} {
MOM_output_literal "M05"
MOM_output_literal "M09"
PB_auto_tool_change            ;#自动换刀块
set mom_group_name 0
}
}

测试用的后处理

暮光追不者 发表于 2023-8-2 13:56:43

本帖最后由 暮光追不者 于 2023-8-2 14:09 编辑

12楼的网友反馈单条输出会报警,而且不支持分组编程的,所以修改了一下代码。后续还有问题可以回复。

2023-8-2

#=============================================================
proc PB_CMD__check_block_stop { } {
#=============================================================
#输出条件
global mom_group_name
if {} {
return 1
} else {
return 0
}
}#=============================================================
proc PB_CMD_M001 { } {
#=============================================================
#放初始移动
global mom_group_name
if {} {
set mom_group_name 0
if {} {
set mom_group_name 0
}
}
}#=============================================================
proc PB_CMD_M002 { } {
#=============================================================
#放第一次移动
global mom_group_name
if {} {
MOM_output_literal "M05"
MOM_output_literal "M09"
PB_auto_tool_change            ;#自动换刀块
set mom_group_name 0
}
}

snowa* 发表于 2023-8-2 21:53:16

本帖最后由 snowa* 于 2023-8-2 22:24 编辑

我在楼主基础上改了一下

#放在换刀M6之前
global mom_group_name
if { && } {
MOM_output_literal "G91 G28 Y0.0"
MOM_output_literal "M00"
unset mom_group_name
} else {
MOM_output_literal "M01"
}


#放第一次移动
global mom_group_name
if {! } {
set mom_group_name 0
}
if { || } {
PB_auto_tool_change            ;#自动换刀块
}

加M00可以强制换刀加输出M00。加M01可以强制换刀加输出M01
一举解决了我暂停换压板和同一把刀强制换刀2个问题

mfklngeyc 发表于 2023-8-1 22:37:30

谢谢大佬回复666666

mfklngeyc 发表于 2023-8-1 16:43:39

proc PB_CMD__check_block_stop 放那个位置

雾色囚 发表于 2023-8-1 09:02:37

学到了

enricyx 发表于 2023-8-1 10:16:09

感谢分享。。。。。。。。。互相学习。。。。。。。

gongxixi 发表于 2023-8-1 10:20:21

这个方法好,比较清晰明显

gsphzc 发表于 2023-8-1 17:04:41

感谢分享

暮光追不者 发表于 2023-8-1 19:56:27

这个是输出条件,看第一张图那个G91 G28 Y0.和M00,点进去右键——添加输出条件就行了。

why6666133 发表于 2023-8-1 20:55:31


放法不错

dlc317 发表于 2023-8-1 21:41:00

666,大佬真6
页: [1] 2 3 4 5
查看完整版本: 后处理利用工序名的方式输出M00和强制换刀。