S7‑200 SMART 同样是循环扫描模式,完整周期:输入采样 → 执行用户程序 → 输出刷新。
注意:S7‑200 SMART 没有硬件中断时,全部依靠扫描周期刷新过程映像区。
1、输入采样阶段做什么
CPU 一次性读取所有物理数字量输入端子(I 点)的真实电平状态,复制到 输入过程映像寄存器 I(I0.0、I0.1…)。
CPU 扫描周期来到输入采样阶段;
读取本体数字量输入、扩展数字量输入模块硬件端子电平;
将端子通 / 断状态批量写入I 过程映像区;
采样阶段结束后,在本次程序执行全过程,I 映像区不再更新。
就算外部按钮、传感器信号在执行 OB1(主程序)期间发生变化,I 映像区不会跟着变,要等到下一轮扫描的输入采样阶段才会更新。
模拟量 AI 点不一样:模拟量不是在输入采样阶段刷新;模拟量模块会周期性转换,数据存放在 AIW 寄存器,程序读到 AIW 是实时刷新,不受扫描周期约束。
2、举例理解滞后现象
假设扫描周期 = 5ms
t=0ms:输入采样,I0.0=OFF;开始跑梯形图程序;
t=2ms:外部传感器 I0.0 实际接通;
t=0‑5ms 整个程序执行 + 输出刷新阶段:程序里面读到的 I0.0 依旧是 OFF;
t=5ms:进入下一轮输入采样,才把 I0.0 更新为 ON,程序才可以读到 ON。
最坏情况输入响应滞后接近1 个扫描周期。
3、两种特殊情况(打破普通输入采样)
① 数字量输入滤波(系统块设置)
S7‑200 SMART 系统块可以设置输入滤波时间(0.2~12.8ms)。
硬件端子信号必须持续保持超过滤波时间,才会被采样进 I 映像区;
用来滤除抖动、干扰脉冲;脉冲宽度小于滤波时间会直接被过滤掉,读不到。
② 高速计数器 HSC
高速计数器不经过 I 过程映像区,直接读取硬件端子硬件电路,独立硬件计数。
这点非常关键:普通 I 点受扫描周期约束;高速计数器不参与输入采样阶段,硬件直接捕获高频脉冲。
4、和博途 S7‑1200 的微小区别
S7‑200 SMART:普通 DI 全部在扫描的输入采样阶段批量刷新 I 映像区;没有硬件中断 OB;高速计数器硬件独立采集。
S7‑1200:除正常输入采样,还支持硬件中断 OB,信号变化立刻打断主循环,消除扫描周期延迟。
5、实操要点
宽度小于扫描周期的脉冲信号,普通 I 点无法可靠捕获,必须用高速计数器。
不要在程序里对 I 点赋值(
I0.0:=1),I 是只读映像区,写指令无效;I 只能由硬件采样更新。AIW 模拟量通道,不受输入采样阶段约束,程序读取 AIW 直接获取转换后的模拟值。
简单总结流程
扫描周期开始 →【输入采样】批量读取 DI 硬件端子 → 更新 I 过程映像区 → 执行梯形图程序(程序全程读取 I 映像,不读硬件端子)→ 输出刷新 → 循环往复。

