丶唯一的存在 发表于 2026-9-19 16:25:27

求助3+2后处理判断语句哪里出问题了?

这几天在批量生产产品    当产品在B0 C0 加工时候换刀时离产品很近    很容易把产品搞废断刀   换刀前需要Y轴回原点   当产品在B90加工时候   产品离刀具比较远   所有换刀时Y轴不需要回原点   下面是写的代码   后处理报警   请大神指点一二哪里出问题了


#=============================================# UG后处理 换刀前判断B/C轴角度,选择性输出G91 G28 Y0# 事件位置:Postbuilder → Before Tool Change#=============================================# 读取当前B、C轴角度set curr_b $mom_current_b_angleset curr_c $mom_current_c_angle# 角度容差 0.01度,防止浮点误差set tol 0.01# 判断条件:# 条件1:B≈0,C≈0 → 输出G91 G28 Y0.0# 条件2:B≈90 并且 (C≈0 或者 C≈180) → 不输出G91回零if { && } {    # B0 C0 状态,输出G91 Y轴回参考点,之后恢复G90绝对模式    MOM_output_line "G91 G28 Y0.0"    MOM_output_line "G90"} else {    # B90C0 / B90C180 或者其他角度:不输出G91 G28 Y0,直接跳过    # 这里可以加注释行,方便看NC,不需要就删掉下面一行    # MOM_output_line "; B/C轴角度[$curr_b / $curr_c], skip Y return"}

白色治愈之风 发表于 2026-9-20 15:42:23

强制回原点多安全,不用考虑判断语句出错。也浪费不了多少时间。

随风飘~e族 发表于 2026-9-20 14:47:51

你贴源代码干啥,贴报警啊,我们要知道报警内容才好判断是哪里出了问题

丶唯一的存在 发表于 2026-9-21 14:46:45

随风飘~e族 发表于 2026-9-20 14:47
你贴源代码干啥,贴报警啊,我们要知道报警内容才好判断是哪里出了问题

以上是报警截图

tombai691019 发表于 2026-9-21 17:59:51

要试一下,那个位置有角度变量出现,出错的原因是你没有给mom_current_b_angle 定义并覆值。

丶唯一的存在 发表于 2026-9-21 20:00:44

白色治愈之风 发表于 2026-9-20 15:42
强制回原点多安全,不用考虑判断语句出错。也浪费不了多少时间。

大机器线速度才24M速度30把刀换了再回原点也能省下2/3分钟   现在单价这么底难搞呀

随风飘~e族 发表于 2026-9-21 20:02:56

开头少了一个变量声明 global mom_current_b_angleset,如果还报错,就像楼上说的,可能需要给个初始值了。

Chensir0513 发表于 3 天前

你这是AI写的吧?
页: [1]
查看完整版本: 求助3+2后处理判断语句哪里出问题了?