求助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"}
强制回原点多安全,不用考虑判断语句出错。也浪费不了多少时间。 你贴源代码干啥,贴报警啊,我们要知道报警内容才好判断是哪里出了问题 随风飘~e族 发表于 2026-9-20 14:47
你贴源代码干啥,贴报警啊,我们要知道报警内容才好判断是哪里出了问题
以上是报警截图
要试一下,那个位置有角度变量出现,出错的原因是你没有给mom_current_b_angle 定义并覆值。 白色治愈之风 发表于 2026-9-20 15:42
强制回原点多安全,不用考虑判断语句出错。也浪费不了多少时间。
大机器线速度才24M速度30把刀换了再回原点也能省下2/3分钟 现在单价这么底难搞呀 开头少了一个变量声明 global mom_current_b_angleset,如果还报错,就像楼上说的,可能需要给个初始值了。 你这是AI写的吧?
页:
[1]