☰
PLC S7-1200中断组织块实训与综合设计:循环中断OB30、硬件中断OB40、诊断OB82/插拔OB83/机架OB86、启动OB100与抢答器传送带彩灯
2026/10/14 3:37:38 网站建设 项目流程

PLC S7-1200中断组织块实训与综合设计:循环中断OB30、硬件中断OB40、诊断OB82/插拔OB83/机架OB86、启动OB100与抢答器传送带彩灯

本篇为《电气控制与 PLC(西门子 S7-1200 / TIA 博途)》第八章"中断组织块与综合程序设计"的课堂实训整理。上半部分讲六类组织块(OB)的作用、编号与博途建块/组态方法,重点是循环中断 OB30、硬件中断 OB40/OB41、错误处理 OB82/OB83/OB86、启动 OB100;下半部分是四个综合程序设计大题:锅炉引风机/鼓风机顺序启停、四人抢答器、传送带行程开关顺序控制、8 路彩灯循环,并串讲交叉引用、多重背景 FB、自锁互锁等工程要点。与此前"用户程序结构(FC/FB/DB/OB 概念、时间中断与延时中断)"一篇互补,本篇侧重中断 OB 的实操配置与综合应用题。个别 OB 编号、定时器号、I/O 地址以教材和博途实际组态为准,已标注【以教材为准】。


一、核心结论(先记住这 22 条)

  1. 组织块(OB)是操作系统与用户程序之间的接口,由 CPU 在特定事件或状态下自动调用;用户程序通过编写不同 OB 来响应"循环扫描、启动、中断、错误"等事件。
  2. OB1 是程序循环组织块(主程序),CPU 处于 RUN 时从上到下循环扫描执行 OB1。
  3. S7-1200 常见中断/事件类 OB:启动组织块、时间中断、延时中断、循环中断、硬件中断,以及诊断错误、插拔、机架故障等错误处理组织块。
  4. 循环中断 OB(默认 OB30)按固定的时间间隔被周期性调用,与 OB1 的扫描周期无关;在其属性中可设置"循环时间(周期)"。
  5. 用循环中断让 Q0.0 每 500ms 翻转一次,即可得到0.5s 为 1、0.5s 为 0、周期 1s 的方波;改循环时间即改方波周期。
  6. QRY 是中断查询指令,可实时查询某中断(如循环中断、时间中断)的当前状态(启用/禁用等),也可按指定日期时间查询。
  7. 硬件中断 OB(编号从 OB40 开始)在发生硬件事件时执行,事件包括数字量输入的上升沿/下降沿、高速计数器事件等;它会中断正常循环程序、优先执行,用于快速响应(如立即停止关键设备)。
  8. 用ATTACH 指令把硬件事件(输入通道)与硬件中断 OB 关联,DETACH 解除关联;还要在 CPU 属性的数字量输入通道里启用上升沿/下降沿检测。
  9. 硬件中断例:I0.0 上升沿触发 OB40 让 MW200 加 1,I0.1 上升沿触发让 MW200 减 1,每来一个沿动作一次。
  10. 诊断错误中断 OB82在模块出现诊断事件(模块烧毁、短路、测量值超量程等)时调用;若程序中没有下载 OB82,CPU 会进入 STOP(停机)。
  11. 插拔中断 OB83在 RUN 状态下插拔模块/导轨(设备不支持热插拔时)触发;没有 OB83 可能导致 CPU 异常停机。
  12. 机架故障 OB86在 CPU 检测到分布式机架或分布式 I/O 站通讯丢失(站故障)时调用;缺失时 CPU 同样会停机。
  13. 启动组织块(默认 OB100)只在 CPU 从 STOP 切换到 RUN 时执行一次,执行完后才进入 OB1 循环,常用于上电初始化(如用 MOVE 给某 MW 送初始值)。
  14. 启动 OB 执行期间不更新过程映像,读到的是过程映像的规定(初始)值——了解即可。
  15. **交叉引用(Cross-reference)**可查看任一变量(停止按钮、TON 定时器、电机线圈等)在哪些程序段、哪些块中被读/写,是排查与统一控制多台设备的重要调试工具(教材约 161 页)。
  16. 多台相同电动机可用一个功能块 FB(如 FB2)+ 多次调用统一实现启停逻辑;实例多、变量多时用**多重背景(Multi-instance)**集中管理背景数据,避免地址冲突。
  17. 注意 M 区地址重叠:MW20 包含 M20.0、M20.1 等位,用 MOVE 向 MW/M 位复制数据时不要让多个线圈占用重叠地址。
  18. 引风机/鼓风机顺序控制:开机先开引风机、延时 10s(T37)再自动开鼓风机;停机先停鼓风机、延时 20s(T38)后再停引风机。
  19. 启动(常开)按钮是瞬动信号,PLC 扫描下只接通一个扫描周期,必须用线圈自身常开触点自锁(启保停)才能保持输出;停止按钮常用常闭(低电平有效)。
  20. 工程上定时器触点一般不直接驱动输出负载,而是先驱动中间继电器 M,再由 M 去驱动输出 Q,逻辑更规范、便于扩展。
  21. 四人抢答器核心:主持人开始后用 T37 限定 10s 抢答窗口;先抢者用中间继电器自锁,并把其常闭触点串入其余三人支路实现互锁;灯亮 3s、音响响 2s,由定时器常闭触点定时切断。
  22. 传送带顺序控制靠行程开关 SQ1~SQ5 作为输入,按工艺顺序逐台启动/停止电机并循环;8 路彩灯用 0.1s 定时器(T33/T37)配合移位/循环指令让 Q0.0~Q0.7 依次点亮。

二、知识结构

S7-1200 中断组织块实训与综合程序设计(第8章) | |- 1. 组织块 OB 总览(操作系统调用用户程序的接口) | |- 程序循环 OB1(主循环扫描) | |- 启动 OB100(STOP->RUN 执行一次,初始化) | |- 时间中断 OB10~OB17(设定日期/时刻) | |- 延时中断 OB20~OB23 | |- 循环中断 OB30~OB38(固定周期,重点) | |- 硬件中断 OB40~OB47(上升/下降沿、高速计数,重点) | `- 错误处理:诊断 OB82、插拔 OB83、机架故障 OB86(缺失则停机) | |- 2. 循环中断 OB30 实训:建块->设循环时间->Q0.0 方波->QRY 查询 |- 3. 硬件中断 OB40/OB41:ATTACH 关联、CPU 通道启用沿检测、MW 加减 |- 4. 错误处理 OB82/OB83/OB86 与启动 OB100 | |- 5. 调试与结构化:交叉引用、多重背景 FB、MOVE 与地址重叠 | `- 6. 综合程序设计四大题 |- 锅炉引风机/鼓风机顺序启停(T37 10s、T38 20s、自锁、常闭停止) |- 四人抢答器(10s 限时、先抢自锁互锁、灯 3s、音响 2s) |- 传送带行程开关顺序控制(SQ1~SQ5、M1/M2/M3、循环) `- 8 路彩灯循环(Q0.0~Q0.7、0.1s、移位/循环指令)

三、详细知识点

(一)组织块(OB)与中断总览

组织块是 CPU 操作系统与用户程序之间的接口。操作系统按照不同的事件(开始运行、循环扫描、定时时间到、硬件沿信号、模块出错等)去调用对应的 OB;用户把要在该事件下执行的程序写进相应 OB 即可。S7-1200 常用的组织块类别(第八章选择题高频):

类别典型编号【以教材为准】何时被调用本次要求
程序循环组织块OB1CPU 在 RUN 时循环扫描执行主程序
启动组织块OB100(默认)STOP→RUN 时执行一次初始化
时间中断组织块OB10~OB17按设定的日期/时刻(可一次性或周期)执行了解/会查
延时中断组织块OB20~OB23由指令启动、延时设定时间后执行前序课已讲
循环中断组织块OB30~OB38按固定时间间隔周期性执行重点实训
硬件中断组织块OB40~OB47数字量沿、高速计数器等硬件事件触发重点实训
诊断错误中断OB82模块诊断错误(短路、烧毁、超量程等)重点
插拔中断OB83RUN 中插拔模块/导轨了解
机架故障组织块OB86分布式机架/I/O 站通讯丢失了解

选择题常让按顺序填写:“①程序循环、②时间中断、③延时中断、④循环中断、⑤硬件中断、⑥启动”,要能把名称与触发条件一一对应。

(二)循环中断 OB30 实训:用 Q0.0 输出周期 1s 方波

1. 控制要求

让输出 Q0.0 前 500ms 输出为 1、后 500ms 输出为 0,即 0.5s 高电平、0.5s 低电平交替,得到周期为 1s 的方波。该功能当然也能用定时器在 OB1 里"0.5s 高—0.5s 低"循环编程实现,但用循环中断更直接:让 OB 每隔 500ms 自动执行一次,在 OB 内对 Q0.0 取反即可。

2. 博途建块步骤

  1. 在项目树中展开该 PLC →程序块 → 添加新块;
  2. 选择组织块 OB,在列表中选择循环中断(Cyclic interrupt),默认编号OB30;
  3. 在弹出的组态/属性中设置循环时间(周期)= 500ms;编程语言选梯形图 LAD(课堂未选 SCL);
  4. 打开 OB30,在其中编写让 Q0.0 交替(取反)的程序;
  5. OB30 会由系统每隔 500ms 自动调用一次,与 OB1 扫描周期长短无关。

3. 修改循环时间与现象

  • 在 OB30 的属性("循环时间/时间间隔"项)里可把周期改为 1s、2s 等,界面显示的时间单位注意是 ms/μs;
  • 程序下载后观察 CPU 上Q0.0 指示灯:0.5s 亮、0.5s 灭交替闪烁;若把循环时间改为 1s,则变成 1s 亮、1s 灭(周期 2s)。
  • 还可用一个 M 点(如某 M 位由 0 变 1)来切换/使能不同的循环时间,实现方波周期在线切换。

4. QRY 中断查询指令

  • QRY(Query,查询中断)指令用于实时查询某个中断组织块(中断对象)的状态(是否启用、当前状态等);
  • 既可以查询当前实时状态,也可以设定到某个日期/时间(课堂举例"设定到某年 10 月 12 号")查询时间类中断;
  • 在循环中断组态/指令旁配合使用,可在程序中读出中断是否正常运行。具体引脚(EN、STATUS、中断对象编号)以博途帮助和教材为准【以教材为准】。

(三)硬件中断 OB40 / OB41 实训

1. 作用与触发事件

硬件中断 OB 在发生相关硬件事件时执行,可快速响应并优先运行硬件中断程序(例如立即停机、立即停止某些关键设备)。常见事件:

  • 数字量输入通道的上升沿事件、下降沿事件;
  • 高速计数器(HSC)事件。

事件发生时,硬件中断 OB 会中断正在执行的正常循环程序(OB1)而优先执行,执行完再返回断点。硬件中断 OB 编号从OB40开始。

2. 关联事件与 OB:ATTACH / DETACH

  • 用ATTACH(连接中断)指令把某个硬件事件(输入通道)与指定的硬件中断 OB 关联起来;用 DETACH 解除关联;
  • 也可在设备组态中直接把通道事件分配给 OB。

3. 实训例:I0.0、I0.1 上升沿让 MW200 加/减 1

  • 新建硬件中断组织块OB40:当硬件输入I0.0 出现上升沿时触发 OB40,在 OB40 中写MW200 := MW200 + 1(INC 加 1);
  • 再建OB41(或在同一 OB 中区分事件):当I0.1 上升沿时执行MW200 := MW200 - 1(DEC 减 1);
  • 这样每来一次 I0.0 上升沿 MW200 加 1、每来一次 I0.1 上升沿减 1。

4. 在 CPU 属性中启用沿检测(关键组态)

  1. 打开CPU 的设备组态 → 属性 → 常规 → 数字量输入;
  2. 选择对应通道,勾选启用上升沿检测(需要时再启用下降沿检测);
  3. 把"通道 1 上升沿"等事件与前面建立的硬件中断 OB(OB40/OB41)关联;
  4. 下载硬件组态与程序,在线监控 MW200,验证每次按按钮(产生一个上升沿)数值加/减 1。

(四)错误处理组织块 OB82 / OB83 / OB86 与启动 OB100

1. 诊断错误中断 OB82

  • 当模块产生诊断错误事件时调用,例如:某模块烧毁、模块短路、信号超出该模块测量范围(上/下限)等硬件/诊断故障;
  • 如果程序中没有下载 OB82,发生这类错误时 CPU 会直接进入 STOP(停机);因此一般把 OB82 当作"错误处理/容错程序",在其中安排报警、安全停机或记录等,保证 CPU 不停机。

2. 插拔中断 OB83

  • 当 CPU 处于 RUN 时插拔模块/导轨(尤其较低端、不支持热插拔的设备)会触发;
  • 若没有 OB83,运行中插拔可能导致 CPU 异常停机(现象类似系统重启)。建立 OB83 可让系统按用户逻辑处理插拔事件。

3. 机架故障组织块 OB86

  • 当 CPU 检测到分布式机架、分布式 I/O 站(PROFINET/PROFIBUS 从站)通讯丢失或重新上电恢复时调用 OB86;
  • 同样,若未在 PLC 中创建 OB86,出现站故障时 CPU 会停机。

4. 启动组织块 OB100

  • CPU从 STOP 切换到 RUN 时执行一次启动 OB,执行完毕后才开始循环执行 OB1;
  • 默认启动 OB 为OB100,一般一个项目只需一个;
  • 典型用途是初始化:例如在 OB100 中用MOVE把初始值(如 100)送入某个 MW,把计数器、标志位清零/置初值;
  • 添加路径:添加新块 → 组织块 →启动(Startup)。
  • 注意:启动 OB 执行过程中不刷新过程映像,读到的是过程映像规定值(此点了解即可)。

记忆规律:错误类 OB(82/83/86)的共同意义是"容错"——下载了它们,对应故障发生时 CPU 进 OB 处理而不停机;没下载就停机。

(五)交叉引用、多重背景 FB 与地址重叠(调试与结构化编程)

1. 交叉引用(Cross-reference)

  • 在博途中对任意变量(如停止按钮、TON 定时器、电动机线圈)右键 →交叉引用(或工具菜单里的交叉引用),可列出该变量在哪些块、哪些程序段被访问(读/写);
  • 用途:在多台电动机、多个定时器的复杂程序中快速定位、统一修改与排错(课堂对照教材约161 页的电动机启停例子演示)。

2. 多重背景与 FB 复用

  • 多台电动机的启停逻辑完全相同,可只写一个功能块FB(如 FB2,电动机控制 FB),在主程序 OB1 中对每台电动机各调用一次 FB2,为每次调用分配背景数据;
  • 随着设备/变量增多,为每次调用都单独建背景 DB 容易造成数据块与地址管理混乱,此时采用多重背景(Multi-instance):把多个实例的背景数据集中放到一个(上层)背景 DB 中统一管理。

3. MOVE 传送与 M 区地址重叠

  • MOVE把源操作数传送到目的地址,可一次写到多个目标;课堂示例把 M20.0/MW20 的值复制到多个 M 位;
  • 注意地址重叠:一个 MW(字)含两个 MB、16 个位,例如 MW20 含有 M20.0、M20.1……M21.7。程序段 1 若对 MW20 写值、程序段 2 又使用 M20.0/M20.1 等位线圈,就会出现重叠访问,要避免无意冲突;
  • 用软件的"重叠访问"提示/交叉引用检查可发现这类问题。

(六)综合例 1:锅炉引风机、鼓风机顺序控制(梯形图大题)

1. 控制要求

  • 开机:按下启动按钮,首先启动引风机;延时10s后自动启动鼓风机;
  • 停机:按下停止按钮,先关断鼓风机;再延时20s后关闭引风机。

2. I/O 与定时器分配(课堂方案,编号【以教材为准】)

元件地址说明
启动按钮 SB1I0.0(常开)启动
停止按钮 SB2I0.x(常用常闭,低电平有效)停止
引风机接触器Q0.0先开、后停
鼓风机接触器Q0.1延时 10s 开、先停
启动延时定时器T37(TON,10s)引风机运行 10s 后接通鼓风机
停止延时定时器T38(TON,20s)鼓风机停后 20s 停引风机

3. 程序逻辑(启保停 + 两级延时)

  1. 启动引风机:按 I0.0 → Q0.0 得电,并用Q0.0 常开触点自锁保持;同时启动 T37 定时 10s;
  2. 10s 后开鼓风机:T37 定时到,其常开触点闭合→ Q0.1 得电并自锁,鼓风机启动;
  3. 停止时先停鼓风机:按下停止按钮(常闭),先切断 Q0.1 支路,鼓风机立即停;同时启动 T38 定时 20s;
  4. 20s 后停引风机:T38 定时到,其常闭触点断开Q0.0 自锁回路,引风机失电停止。

4. 关键考点

  • 为什么必须自锁:PLC 里常开启动按钮是瞬动的——按下时只接通一个扫描周期、松手即断开,若没有 Q0.0 自身常开触点自锁,线圈无法长时间保持;
  • 停止按钮常开/常闭:常用常闭按钮(低电平有效),未按时回路通、按下时回路断;若题目改用常开按钮,则在程序里取反(用常闭触点)即可,功能等价;考试加不加上升沿 P/下降沿 N 不影响本题结果(自锁已负责保持),P/N 主要用于捕捉瞬动;
  • 中间继电器规范:定时器/触点一般不直接驱动输出负载,先驱动中间继电器 M(由按钮/触点带 M 线圈自锁),再用 M 触点驱动 Q 输出;直接接 Q 逻辑上也成立,但工程上不规范、不利于扩展与保护。

(七)综合例 2:四人抢答器(课程设计大题)

1. 控制要求

  • 主持人 1 名、参赛者 4 名(A、B、C、D);
  • 主持人宣布题目并按下开始按钮后,10s 以内抢答有效;10s 后若无人抢答,则本题结束、所有按钮无效;
  • 每人一个抢答按钮、一个指示灯,只有最先按下按钮者抢答有效,其余三人无效;
  • 抢答有效时:该选手指示灯亮 3s,同时音响(喇叭)响 2s。

2. I/O 与内部元件分配(课堂方案,编号【以教材为准】)

元件地址说明
主持人开始按钮I0.0开始并启动 10s 限时
4 名选手抢答按钮I0.1~I0.4一人一个
4 名选手指示灯Q0.0~Q0.3一人一个,亮 3s
音响(喇叭)Q0.4响 2s
抢答允许标志M0.010s 窗口内为 1
4 名选手锁存标志M0.1~M0.4先抢者自锁
限时定时器T37(10s)10s 到关闭抢答窗口
音响定时器T38(2s)2s 后停音响
灯定时器另一定时器(3s)3s 后灭灯,编号以教材为准

3. 程序逻辑

  1. 开始与限时:主持人按 I0.0 → M0.0 自锁,同时 T37 开始 10s 计时;把T37 常闭触点串入 M0.0/抢答总回路,10s 到 T37 常闭断开,M0.0 失电,四个选手支路全部失效(10s 后抢答无效);
  2. 单人锁存:每个选手支路 = M0.0 常开(必须在 10s 窗口内)串本选手按钮 I0.x,驱动本选手 M0.x 并自锁;
  3. 互锁(核心):把其余三名选手 M0.x 的常闭触点串入本选手支路。任一选手最先按下,其 M0.x 得电、常闭断开,其余三人支路被切断,后按者无效——这与正反转控制中"把各自常闭串到对方支路"的互锁完全同理;
  4. 灯亮 3s:先抢者 M0.x 得电 → 其指示灯 Q0.x 亮,在灯支路串入"3s 定时器的常闭触点",3s 到自动断开灭灯;
  5. 音响响 2s:把四人 M0.x 常开并联去驱动音响 Q0.4,并串T38(2s)常闭触点,任一人抢到即响,2s 到 T38 常闭断开、音响停;
  6. 用中间继电器 M锁存抢答状态、再驱动 Q 输出,而不是按钮直接带灯/喇叭,便于复位与扩展。

设计要点口诀:主持人定时开窗(M0.0 + T37)→ 先抢者自锁 → 常闭互锁封死他人 → 定时器常闭定时关灯关音响。

(八)综合例 3:传送带行程开关顺序控制

1. 控制要求(多台传送带/小车)

  • 初始状态各电动机均停止;按下启动按钮 I0.0 后:
    • 电动机 **M1(Q0.0)**首先启动运行;
    • 工件(小车)碰到行程开关SQ1→ 电动机 **M2(Q0.1)**启动;
    • 碰到SQ2→M1 停止;
    • 碰到SQ3→ 电动机 **M3(Q0.2)**启动;
    • 碰到SQ4→M2 停止;
    • 碰到SQ5→M3 停止;之后循环往复工作;
  • 按下停止按钮整体停止并复位,可重新开始。

2. 实现要点

  • 把每个行程开关 SQ 当作一个数字量输入(如 SQ1=I0.1、SQ2=I0.2、SQ3=I0.3、SQ4/SQ5 依次对应后续输入点,具体编号以题图为准【以教材为准】);
  • 工件碰到行程开关时其常开触点闭合(常闭触点断开),用它去接通/断开相应电机的自锁支路;
  • 每台电机仍用"启保停"自锁保持,按工艺顺序由前一个 SQ 启动下一台、由相应 SQ 停掉前一台;
  • 停止按钮用常闭(低电平有效),按下后切断所有支路、复位中间标志,实现一个循环周期结束后重新启动。

(九)综合例 4:8 路彩灯循环

1. 控制要求

  • 8 路彩灯接Q0.0Q0.7(H1H8);按下启动按钮后,按H1→H2→…→H8的顺序依次点亮,相邻彩灯间隔 0.1s,并循环;按下停止按钮复位。

2. 实现要点

  • 用 100ms 定时器(T33/T37,设定 0.1s,考试直接写 0.1s)产生节拍;
  • 每个 0.1s 节拍用移位/循环移位指令(或依次自锁的中间继电器 M0.1、M0.2……)把点亮位依次向后移:Q0.0 先亮 → 0.1s 后 Q0.1 亮 → …… → Q0.7 亮,再循环回 Q0.0;
  • 启动后用中间继电器 M0.0 自锁保持整个循环,停止按钮切断 M0.0 并复位输出。

(十)第八章选择题/理论考点

  • 能按触发条件判别组织块类型:程序循环(OB1)、时间中断、延时中断、循环中断、硬件中断、启动(OB100);
  • 全局变量 vs 背景数据块:全局变量(全局地址 M/I/Q 等)可被所有块访问、使用直接、速度快;FB 的局部变量保存在**背景数据块(背景 DB)**中,靠背景 DB 号区分不同实例;
  • 错误处理 OB(82/83/86)"有则容错、无则停机"的结论;
  • 课堂教师对部分选择题给了参考答案(如若干题选"正确"、个别选"最后一个/第二个/C"等),因录音无法还原完整题干与选项,本稿不逐一罗列选项答案,请以教材第八章习题与博途实测为准【以教材为准】。

四、典型例题与解题方法汇总

例题核心方法
用循环中断做方波添加循环中断 OB30、设周期 500ms,OB 内对 Q0.0 取反 → 周期 1s 方波;改周期即改方波周期
查询中断状态用 QRY 指令查询循环/时间中断的实时状态或指定日期时间状态
上升沿计数建硬件中断 OB40/OB41,CPU 通道启用上升沿检测,ATTACH 关联事件,OB 内 MW±1
模块故障不停机下载诊断 OB82(插拔 OB83、机架 OB86),在其中安排容错处理
上电初始化在启动 OB100 中用 MOVE 给 MW/标志位送初值(只执行一次)
引风机/鼓风机启保停自锁 + T37(10s 启动)+ T38(20s 停止);先开引风、先停鼓风
四人抢答器M0.0+T37 限 10s 窗口;先抢者 M0.x 自锁、常闭互锁;灯 3s、音响 2s 定时器常闭切断
传送带顺序控制SQ1~SQ5 作输入,按工艺顺序启/停 M1/M2/M3 并循环,停止按钮常闭复位
8 路彩灯0.1s 定时器(T33/T37)+ 移位/循环指令驱动 Q0.0~Q0.7 依次点亮
多台电机统一编程一个 FB(FB2)多次调用 + 多重背景,交叉引用排查,注意 M 区地址重叠

综合大题通用解题步骤:

  1. 读清工艺要求,列出"谁先动、延时多久、谁后动、停止顺序";
  2. 做I/O 分配表(输入按钮/行程开关、输出电机/灯/喇叭、中间继电器 M、定时器 T);
  3. 对需要保持的输出一律加自锁(启保停);对互斥对象加互锁(常闭串入对方支路);
  4. 用 TON 定时器实现各级延时,用其常开接通后续、常闭切断前级;
  5. 瞬动按钮(开始、抢答、行程开关)配合上升沿/自锁;停止按钮优先常闭、低电平有效;
  6. 输出尽量由中间继电器 M 驱动;最后在博途中编译、下载、PLCSIM 或上机验证时序。

五、术语、编号与指令速查表

名称编号 / 标识作用
程序循环组织块OB1主程序,RUN 时循环扫描
启动组织块OB100(默认)STOP→RUN 执行一次,初始化
时间中断 OBOB10~OB17设定日期/时刻执行
延时中断 OBOB20~OB23指令启动后延时执行
循环中断 OBOB30~OB38固定周期循环执行(实训用 OB30)
硬件中断 OBOB40~OB47上升/下降沿、高速计数事件触发
诊断错误中断OB82模块诊断错误;缺失则 CPU 停机
插拔中断OB83RUN 中插拔模块/导轨
机架故障 OBOB86分布式机架/I/O 站丢失
QRY指令查询中断实时/指定时间状态
ATTACH / DETACH指令连接 / 解除硬件事件与中断 OB
MOVE指令数据传送(可多目标)
TON(T37/T38/T33)定时器接通延时;100ms 时基可做 0.1s 节拍
INC / DEC指令字加 1 / 减 1(硬件中断例用)
自锁(启保停)电路启动常开 + 自身常开自锁 + 停止常闭
互锁电路对方常闭触点串入本支路
多重背景FB 机制多个 FB 实例共用背景 DB,避免冲突
交叉引用调试工具查变量在各块/程序段的使用情况

六、实训操作与上机要求

  1. 会在博途中"添加新块 → 组织块",分别建立循环中断 OB30、硬件中断 OB40/OB41、启动 OB100 及错误处理 OB82/OB83/OB86,并正确设置循环时间、编程语言(LAD)。
  2. 会在CPU 设备组态 → 属性 → 数字量输入通道中启用上升沿/下降沿检测,并用 ATTACH 把通道事件与硬件中断 OB 关联。
  3. 会用 QRY 查询中断状态;下载后通过 CPU 面板 Q 点指示灯、在线监控 MW 验证循环中断方波与硬件中断计数。
  4. 会用交叉引用查看变量、用多重背景 FB 统一编写多台电动机控制,并能识别 M 区地址重叠。
  5. 四个综合大题(引风机/鼓风机、抢答器、传送带、彩灯)要求能独立完成 I/O 分配、画梯形图、说明时序,并在 PLCSIM 或真机上仿真验证;可作为实验报告题目。

七、待核对与以教材为准的地方

  1. 各类 OB 的具体编号范围(时间中断 OB10~17、延时 OB20~23、循环 OB30~38、硬件 OB40~47 等)随 CPU 型号/固件与教材版本略有差异,以所用 S7-1200 教材和博途实际可选编号为准。
  2. 综合例题中的定时器号(T37/T38/T33)、I/O 与 M 地址为课堂口述记录,不同题图分配不同,做题时以题目给出的 I/O 图/表为准;本稿地址仅用于说明逻辑。
  3. 抢答器"灯 3s"所用定时器编号、传送带 SQ4/SQ5 对应的具体输入点,录音未能清晰还原,已标【以教材为准】,请对照教材题图。
  4. QRY、ATTACH/DETACH 等指令的引脚参数(EN、STATUS、OB_NR、中断对象编号)以博途在线帮助与教材为准。
  5. 第八章选择题的具体选项答案录音未完整还原,本稿只给知识点判别方法,不杜撰选项。

八、复习自测(25 题,含答案与提示)

1. 组织块 OB 的本质是什么?由谁调用?
答:OB 是操作系统与用户程序之间的接口,由 CPU 操作系统在特定事件/状态下自动调用,用户在对应 OB 中写要执行的程序。

2. OB1 是什么?何时执行?
答:程序循环组织块(主程序),CPU 在 RUN 状态下从上到下循环扫描执行。

3. S7-1200 常见的中断/事件类组织块有哪六类?
答:启动、时间中断、延时中断、循环中断、硬件中断,以及诊断错误/插拔/机架故障等错误处理组织块。

4. 循环中断 OB 多久执行一次?与 OB1 扫描周期有关吗?
答:按在其属性中设定的固定循环时间(如 500ms)周期性执行一次,与 OB1 扫描周期长短无关。

5. 如何用循环中断让 Q0.0 输出周期 1s 的方波?
答:建循环中断 OB30、循环时间设 500ms,在 OB30 中对 Q0.0 取反,则 0.5s 为 1、0.5s 为 0,周期 1s。

6. 把 OB30 循环时间由 500ms 改为 1s,方波如何变化?
答:变成 1s 亮、1s 灭,方波周期由 1s 变为 2s。

7. QRY 指令的作用是什么?
答:查询中断组织块(中断对象)的实时状态,也可按指定日期/时间查询时间类中断状态。

8. 硬件中断 OB 由哪些事件触发?编号从几开始?
答:数字量输入的上升沿/下降沿、高速计数器等硬件事件;编号从 OB40 开始。

9. 硬件中断 OB 与正常循环程序的执行优先级关系?
答:硬件事件发生时,硬件中断 OB 中断正在执行的 OB1 循环程序、优先执行,执行完再返回。

10. 用什么指令把硬件事件与硬件中断 OB 关联?解除用什么?
答:ATTACH 关联、DETACH 解除。

11. 写出 I0.0 上升沿让 MW200 加 1 的实现要点。
答:建硬件中断 OB40,在 CPU 属性数字量输入通道启用 I0.0 上升沿检测并关联 OB40,OB40 内写 MW200 加 1(INC)。

12. 除了写 OB40 和 ATTACH,还必须做哪一步硬件组态?
答:在 CPU 设备组态→属性→数字量输入对应通道中启用上升沿(需要时下降沿)检测。

13. OB82 是什么中断?举两类触发事件。
答:诊断错误中断;如模块烧毁/短路、信号超出模块测量范围(超量程)等诊断事件。

14. 程序中没有下载 OB82,发生诊断错误时 CPU 会怎样?
答:CPU 直接进入 STOP(停机);下载 OB82 后可在其中容错处理而不停机。

15. OB83、OB86 分别在什么情况下触发?
答:OB83 在 RUN 中插拔模块/导轨时触发;OB86 在分布式机架或分布式 I/O 站通讯丢失/恢复时触发。

16. 错误处理类 OB(82/83/86)的共同意义是什么?
答:容错——下载并编写后,对应故障发生时 CPU 进入 OB 处理而不停机;缺失则可能停机。

17. 启动 OB 默认是哪个?何时执行、执行几次?主要用途?
答:OB100;CPU 从 STOP 切到 RUN 时执行一次,执行完才进 OB1;用于上电初始化(如 MOVE 送初值、清零)。

18. 启动 OB 执行期间过程映像是否更新?
答:不更新,读到的是过程映像规定(初始)值(了解)。

19. 交叉引用有什么用处?
答:查看某变量在哪些块、哪些程序段被读/写,便于在多设备复杂程序中定位、统一修改与排错。

20. 多台相同电动机为什么适合用一个 FB 多次调用?什么是多重背景?
答:启停逻辑相同,写一个 FB(如 FB2)重复调用即可;多重背景是把多个 FB 实例的背景数据集中到一个背景 DB 中管理,避免数据块/地址混乱冲突。

21. MW20 与 M20.0 同时使用要注意什么?
答:地址重叠——MW20 含有 M20.0 等位,对 MW20 写值会影响这些位,避免多个线圈/传送占用重叠地址。

22. 简述引风机/鼓风机的启停顺序与所用定时器。
答:开机先开引风机 Q0.0,T37 延时 10s 后自动开鼓风机 Q0.1;停机先停鼓风机,T38 延时 20s 后再停引风机。

23. 启动按钮为什么必须自锁?停止按钮为何常用常闭?
答:启动按钮是瞬动信号,只通一个扫描周期,需用自身常开触点自锁保持;停止按钮用常闭(低电平有效),未按时通、按下时断,符合急停/停止的安全习惯。

24. 四人抢答器如何保证"只有最先按下者有效",并实现灯 3s、音响 2s?
答:主持人开始后 M0.0 自锁并由 T37 限定 10s 窗口;每人用 M0.x 自锁,并把其余三人 M0.x 常闭串入本支路实现互锁,先抢者封死他人;灯支路串 3s 定时器常闭、音响 Q0.4 支路串 T38(2s)常闭,定时到自动熄灭/停响。

25. 8 路彩灯循环和传送带顺序控制分别靠什么实现顺序/节拍?
答:彩灯用 100ms 定时器(T33/T37,0.1s)产生节拍,配合移位/循环指令让 Q0.0~Q0.7 依次点亮并循环;传送带用行程开关 SQ1~SQ5 作为输入触点,按工艺顺序逐台启动/停止 M1/M2/M3 并循环,停止按钮常闭复位。


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询