独立数控机床维修服务 · 技术资料与故障排查 手机 / 微信 18025212569

FANUC实时宏ZONCE与ZEDGE:条件后来成立,为何动作仍未发生?

发布于

依据30i-A实时宏规则,用100毫秒假定执行窗口比较ZONCE、ZEDGE和初始为真的情况,解释一次性宏的等待范围与短脉冲识别不能混为一谈。

文章目录
  1. 三个规则决定时序
  2. 把等待放进一个具体窗口
  3. 程序中的文字先后,不等于时间窗口长短
  4. 怎样判断应该检查哪一层

把“条件满足时执行”写入实时宏后,条件后来确实成立,动作却没有发生。这里至少有两个独立问题:采用的是单次判断还是边沿等待,以及等待所在的执行窗口是否已经结束。

三个规则决定时序

30i/31i/32i-A通用用户手册B-63944EN/03,§17.1.1及§17.4.1–17.4.2,第581、599–600页(原厂手册公开镜像)规定:ZONCE在判断为假时结束,不等待以后变真;ZEDGE等待假到真的变化,初始已经为真不算新边沿。一次性RTM与后续第一个NC指令一起启动,有效期止于该NC指令结束。

本文只讨论该版本实时自定义宏功能中的一次性语句,不把普通宏IF、模态RTM或PLC扫描逻辑视为相同机制。功能是否具备及信号映射须与实际控制配置一致。

把等待放进一个具体窗口

原创逻辑例设关联NC块在t=0开始、t=100 ms结束;“动作”仅表示记录一个软件事件,没有输出信号或轴运动。表格假定列出的条件变化已被有效采样。

条件变化一次性ZONCE一次性ZEDGE
起初为假,60 ms变真并保持首次为假即结束窗口内识别到上升边沿后执行
起初为假,120 ms才变真已经结束100 ms窗口已结束,不再等待
起初为真,40 ms变假,70 ms再变真初始为真时执行初始真不触发,后续假→真才触发

第二行并不是条件表达式写错,而是事件发生在有效期之外。第三行则说明“当前状态为真”与“观察到新边沿”有不同用途:前者回答状态是否成立,后者确认此后是否发生了转换。

程序中的文字先后,不等于时间窗口长短

把一次性实时宏写得更靠前,不能据此推断它会更早开始等待;应先识别实际触发它的NC指令。若工艺要求监视跨越多个NC块,仅把一个块的预计运行时间拉长也不能证明逻辑可靠,因为倍率、停止和执行分支都可能改变时间关系。

还应区分“生命周期足够长”与“采样能看见事件”。假定检查周期为4 ms,1 ms脉冲可能完整落在两次检查之间;这是一般采样反例,4 ms不是本文对FANUC实时宏周期的规格声明。ZEDGE不是对任意短脉冲都有效的硬件捕获保证。

怎样判断应该检查哪一层

若开始时为假便永远不执行,先核对是否误用了ZONCE;若块内成立可以触发、块结束后不触发,核对一次性有效期;若只有很短的事件偶发丢失,再分析输入链路及采样。三个现象的原因不同,不能统一归结为“宏程序不实时”。更多机制分析见OPTION栏目。

相关技术资料

FANUC可选旋转轴控制:绝对指令的正负号如何指定转向FANUC方向相关高速位置开关:同一坐标为何可能出现不同输出?FANUC柔性同步控制:速度追平与相位对齐是两个条件