FANUC宏中断返回:M99后加P,为什么会改变返回后的模态?
依据16i/18i-MB宏中断规则,比较M99恢复原模态与M99P保留中断模态。通过相同起点下绝对、增量和进给值的变化,说明返回位置与返回状态必须分别审核。
在中断型用户宏程序中,M99与带P的M99不仅可能返回不同的程序位置,它们对模态信息的处理也不同。只检查目标N段是否存在,无法判断返回后X、F等数值会怎样解释。
这是宏中断的规则,不是所有子程序的规则
依据16i/160i/160is-MB及18i-MB、MB5系列操作手册GFZ/B-63534EN/02,§15.11,第446–449页(原厂手册公开镜像):宏中断由中断信号触发,与普通调用不同。M99返回时恢复中断前的模态信息;M99 Pxxxx返回时,则把中断程序修改后的新模态带回。P指定的是返回搜索的顺序号,而非要调用的O程序号。本文限于该版支持的中断型宏程序及存储程序运行。
同样的X10.0,可能表示两个不同终点
原创状态例假设中断前为公制G01、G90、G94、F600,中断程序改成G91、F120。其他坐标变换和补偿均不参与这个示例。
| 返回形式 | 返回后绝对/增量模式 | 返回后每分钟进给值 |
|---|---|---|
| M99 | 恢复G90 | 恢复600 mm/min |
| M99 P700 | 保留G91 | 保留120 mm/min |
为了单独比较语义,另假设两次独立分析中,返回后的首个移动均从同一工件坐标X=40 mm开始,该段只给X10.0且不重写上述模态。在G90下终点是X=10 mm,位移−30 mm;在G91下终点是X=50 mm,位移+10 mm。方向、距离和进给值都可能不同。
这不是两种返回形式实际必定抵达相同程序段的断言,也不预测中断过程中刀具的物理位置。相同起点只用于隔离“模态解释”这个变量;真实分析还要单独检查返回目标与中断发生位置。
只补一个G90,可能仍有遗漏
在上面的M99 P700分支,若目标段仅重新指定G90,绝对位置解释虽然明确,F值仍可能沿用120。即使几何终点正确,也不能据此认为加工条件已恢复。反过来,只重写F600,同样不能消除G91对坐标的影响。
审查返回接口时,可以把“将执行哪个程序段”与“该段入口有哪些有效模态”列为两列,再逐项看目标段依赖哪些继承状态。两种返回方式各有用途,不能把加P视作无副作用的跳转修复。
模态恢复也不表示机床位置、夹紧状态或外部设备动作被倒放。本文提供程序语义分析,不提供可直接运行的宏中断程序。相关资料见OPTION栏目。
