欢迎光临~上海湘昌电气设备有限公司
  咨询电话:021-31559585

新闻中心

西门子1200PLC程序中OB块的应用逻辑

组织块 (OB)

 OB块 控制用户程序的执行。 每个 OB OB 编号必须唯一。 200 以下的默认 OB 编号被 保留。其它 OB 编号必须大于或等于 200 CPU 中的特定事件将触发组织块的执行。 OB 无法互相调用或通过 FC FB 调用。 只 有启动事件(例如,诊断中断或时间间隔)可以启动 OB 的执行。CPU 按优先等级处理 OB,即先执行优先级较高的 OB 然后执行优先级较低的 OB。最低优先等级为 1(对应主 程序循环),最高优先等级为 26(对应时间错误中断)。 OB 控制以下操作:

程序循环 OB CPU 处于 RUN 模式时循环执行。 主程序块是程序循环 OB。用户在 其中放置控制程序的指令以及调用其它用户块。 允许使用多个程序循环 OB,它们按 编号顺序执行。 OB 1 是默认设置。 其它程序循环 OB 必须标识为 OB 200 或更大。

 ● 启动 OB CPU 的操作模式从 STOP 切换到 RUN 时执行一次,包括处于 RUN 模式 时和执行 STOP RUN 切换命令时上电。 之后将开始执行主程序循环”OB。 允许 有多个启动 OB OB 100 是默认设置。 其它启动 OB 必须为 OB 200 或更大。

 ● 循环中断 OB 以指定的时间间隔执行。 循环中断 OB 将按用户定义的时间间隔(例 如,每隔 2 秒)中断循环程序执行。 在任何给定的时间,最多可组态总共 4 个 时间 延时事件和循环事件,每个组态的时间延时和循环事件只允许使用一个 OB。 该 OB 必须是 OB 200 或更大。

 ● 硬件中断 OB 在发生相关硬件事件时执行,包括内置数字输入端的上升沿和下降沿事 件以及 HSC 事件。 硬件中断 OB 将中断正常的循环程序执行来响应硬件事件信号。 可以在硬件配置的属性中定义事件。 每个组态的硬件事件只允许对应一个 OB。 该 OB 必须是 OB 200 或更大。

当超出最大循环时间或者发生时间错误事件时,将执行时间错误中断 OB OB 80 将 处理时间错误中断。它将在触发后执行,同时会中断正常循环程序执行或其它所有事 件 OB 的执行。以下介绍了触发时间错误中断的事件以及 CPU 对这些事件的响应:超出最大循环时间: 在 CPU 属性中组态最大循环时间。 如果 OB 80 不存在,则 在超出最大时间后,CPU 将切换为 STOP 模式。时间错误: 如果 OB 80 不存在,则 CPU 将保持为 RUN 模式。 如果在 CPU 完成 首次执行前,发生时间事件丢失或重复发生、发生队列溢出,或者发生一个事件 OB(时间延时事件、时间事件或者循环中断),则将导致时间错误。 发生任何上述事件都将生成一个描述相应事件的诊断缓冲区条目。 无论是否存在 OB 80,都将生成诊断缓冲区条目。

 ● 诊断错误中断 OB 在检测到和报告诊断错误时执行。 如果具有诊断功能的模块发现错 误(如果模块已启用诊断错误中断),诊断 OB 将中断正常的循环程序执行。 OB 82 是唯一支持诊断错误事件的 OB。 如果希望 CPU 在接收到该类型的错误时进入 STOP 模式,可以在 OB 82 中加入 STP 指令(使 CPU 进入 STOP 模式)。 如果程 序中没有诊断 OB,则 CPU 会忽略该错误(保持 RUN 模式)
上一条:西门子MindSphere数字化应用中心 没有下一条

联系我们

CONTACT US

联系人:彭华

手 机:15901856117

邮 箱:258129840@qq.com

公 司:上海湘昌电气设备有限公司

地 址:上海市金山区枫泾镇泾波路中冶113号