三菱 FX5U 输出刷新阶段工作原理
FX5U(iQ‑F)和老 FX3U 扫描时序不一样: FX3U 顺序:输入采样 → 程序执行 → 输出刷新(END 末尾)FX5U:初始化 →【I/O 刷新(同时做输入采样 + 输出刷新)】→ 程序运算 → END 处理也就是:输出刷新发生在每一轮扫描的最开头,在执行梯形图之前完成,不是在 END 后面。
1、Y 输出映像存储器
程序梯形图里面操作的Y0、Y1…,是输出映像区(软元件内存),不是直接操作硬件端子。
梯形图运行时,线圈 Y 接通 / 断开,只会改写内存里 Y 映像的值;硬件端子不会立刻变化。
整个程序执行过程中,不管 Y 线圈通断多少次,硬件输出端子保持上一轮 I/O 刷新输出的状态。
例:程序中段 Y0 接通,后面又复位 Y0;这一轮扫描硬件输出不会产生 Y0 脉冲,只取程序执行结束后 Y 映像的最终状态,等到下一轮扫描开头的 I/O 刷新阶段才输出到硬件端子。
2、FX5U 输出刷新完整流程(I/O 刷新环节)
完整扫描循环:
初始化处理(仅上电 / STOP→RUN 执行一次)
I/O 刷新阶段(每扫描周期开头)
①输入刷新:读取所有 X 硬件端子,更新 X 输入映像;
②输出刷新:把 Y 输出映像区全部数据,批量写入本体、扩展模块的硬件输出锁存电路,驱动外部 Y 端子(晶体管 / 继电器)。
执行用户梯形图 / ST 程序,运算逻辑,改写 Y、M、D 等软元件映像。
END 处理:网络通讯刷新、智能模块刷新、看门狗、自诊断。
回到第 2 步,再次 I/O 刷新,开启下一轮扫描。
关键点:本周期程序运算得到的 Y 状态,要等到下一个扫描周期开头的 I/O 刷新,才真正输出到硬件端子。 输出响应最大滞后时间≈1 个扫描周期。
3、两种打破批量刷新的特殊方式
① REF 指令(立即 I/O 刷新)FNC50
程序中间调用REF Y0 K8,可以在程序运行中途强制把指定范围 Y 映像立刻输出到硬件端子,不用等到下一轮扫描开头 I/O 刷新。
示例:
REF Y0 K16,刷新 Y0‑Y17 共 16 点输出。注意:必须 8 的倍数;会增加程序执行时间,普通逻辑不建议频繁使用。
② DY 直接访问输出(Direct Y)
FX5U 支持DY直接 IO 访问,DY0,写 DY 时直接操作硬件输出锁存,不经过 Y 映像区,不受扫描周期约束。
注意:DY 和普通 Y 映像相互独立;普通梯形图线圈 Y 不会改变 DY 状态;多用于特殊高速逻辑,普通程序不要混用。
4、和 S7‑200 SMART 输出刷新做对比
表格
| 项目 | S7‑200 SMART | FX5U |
|---|---|---|
| 输出刷新位置 | 扫描周期末尾,程序执行完之后 | 扫描周期开头,程序执行之前 |
| 逻辑 | 程序运算完,Q 映像→硬件输出;下一轮采样输入 | 用上一轮程序算出的 Y 映像,在本轮开头输出硬件;再跑本轮程序 |
| 立即刷新指令 | 无 REF,只能用中断 | REF 指令 / DY 直接访问输出 |
虽然时序位置不一样,但最大输出滞后都是约 1 个扫描周期,宏观控制效果几乎相同。
5、实操要点
梯形图中同一个 Y 多次线圈输出,以程序最后一次线圈状态为准,中间状态不会输出硬件。
继电器输出模块,还有继电器本身机械响应延迟(ms 级别),叠加扫描周期延迟。
高速脉冲输出(Y0/Y1 内置定位),不经过 Y 映像区,硬件独立输出,不受扫描周期约束。
恒定扫描模式下,I/O 刷新会在恒定扫描等待时间结束之后执行ManualsLib。
END 处理只做网络、智能模块刷新;普通数字量 Y 输出刷新不在 END 阶段。


