西门子编程使用的OB块解释


1 、自由循环组织块 OB1

      S7  CPU 启动完成后,操作系统循环执行 OB1 OB1 执行完成后,操作系统再次启动 OB1 。在 OB1 中可以调用 FB SFB FC SFC 等用户程序使其循环执行。除 OB90 以外, OB1 优先级最低,可以被其他 OB 中断。 OB1 默认扫描监控时间为 150ms (可设置),扫描超时, CPU 自动调用) B80 报错,如果程序中没有建立 OB80 CPU 进入停止模式。

2 、日期中断组织块 OB10~OB17

       CPU 属性中,可以设置日期中断组织块 OB10~OB17 触发的日期、执行模式(到达设定的触发日期后, OB 只执行一次或按每分、每小时、每周、每月周期执行)等参数,当 CPU 的日期值大于设定的日期值时,触发相应的 OB 并按设定的模式执行。在用户程序中也可以通过调用 SFC28 系统函数设定 CPU 日期中断的参数,调用 SFC30 激活日期中断投入运行,与在 CPU 属性中的设置相比,通过用户程序,可以在 CPU 运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个 OB 进行设置。

3 、时间延迟中断组织块 OB20~OB23

       时间延迟中断组织块 OB20~OB23 的优先级及更新过程映像区的参数需要在 CPU 属性中设置,通过调用系统函数 SFC32 触发执行, OB 号及延迟时间在 SFC32 参数中设定,延迟时间为 1~60000ms ,大大优于定时器精度。

4 、循环中断组织块 OB30~OB38

       循环中断组织块 OB30~OB38 按设定的时间间隔循环执行,循环中断的间隔时间在 CPU 属性中设定,每一个 OB 默认的时间间隔不同,例如) B35 默认的时间间隔为 100ms ,在 OB35 中的用程序将每隔 100ms 调用一次,时间间隔可以自由设定,最小时间间隔不能小于 55ms OB 中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断 OB 没有完成程序扫描而被再次调用,从而造成 CPU 故障,触发 OB80 报错,如果程序中没有创建 OB80 CPU 进入停止模式。通过调用 SFC39~SFC42 系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如 PID 函数块通常需在循环中断中调用以处理积分时间的计算。

5 、硬件中断组织块 OB40~OB47

       硬件中断也叫过程中断,由外部设备产生,例如功能模块 FM 、通信处理器 CP 及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断 OB (一个模块只能良一个中断 OB S7-300 系列 PLC  CPU 只能触发硬件中断 OB40 ),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断 OB 的事件。配置中的中断事件出现,中断主程序,执行中断 OB 中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。

         如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的 OB ,中断 OB 执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断 OB 在空闲(没有模块其他通道的中断请求)时触发。通过调用 SFC39~SFC42 系统函数可以禁止、延迟、使能硬件中断的调用。

6 DPV1 中断组织块 OB55~OB57

      CPU 响应 PROFIBUS-DP  V1 从站触发的中断信息。

7 、多处理器中断组织块 OB60

       用于 S7-400 系列 PLC CPU (一个机架中最多插入 4 CPU 完成同一个复杂任务)处理功能,通过调用 SFC35 ,可以触发 OB60 在多个 CPU 中同时执行。

8 、时钟同步中断组织块 OB61~OB64

       用于处理 PROFIBUS-DP  V1 等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、 PROFIBUS-DP 总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、 PROFIBUS-DP 总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换) 7 个循环,时钟同步中断将 7 个循环同步,优化数据的传递并保证 PROFIBUS-DP 各个从站数据处理的同步性。 PROFIBUS 时钟同步中断只能用于 S7-400 系列 PLC  CPU (具有 DP  V2   功能)。

9 、工艺同步处理中断组织块 OB65

       用于 T-CPU (具有运动控制功能的 CPU )工艺块与开始程序的同步处理。

10 、冗余故障中断组织块 OB70 OB72

       用于 S7-400H 冗余系统,当 I/O 冗余故障,例如冗余的 PROFIBUS-DP 从站故障时,触发 OB70 的调用,当 CPU 冗余故障,如 CPU 切换、同步故障时,触发 OB72 的调用。如果 I/O 冗余,或者 CPU 冗余故障而在 CPU 中没有创建 OB70 OB72 CPU 不会进入停止模式。

11 、异步故障中断组织块 OB80~OB87

       异步故障中断用于处理各种故障事件。

      OB80 :处理时间故障、 CIR Configuration  In  Run )后的重新运行等功能,例如 OB1 OB35 运行超时, CPU 自动调用 OB80 报错,如果程序中没有创建 OB80 CPU 进入停止模式。

      OB81 :处理与电源相关的各种信息( S7-400 系列 PLC  CPU 只有电池故障时调用),出现故障, CPU 自动调用 OB81 报错,如果程序中没有创建 OB81 CPU 不会进入停止模式。

      OB82 :诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、传感器电源丢失),出现故障时调用 OB82 ,如果程序中没有创建 OB82 CPU 进入停止模式。诊断中断还对 CPU 所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。

      OB83 :用于模块插拔事件的中断处理,事件出现, CPU 自动调用 OB83 报警,如果程序中没有创建 OB83 CPU 进入停止模式。

      OB84 :用于处理存储器、冗余系统中两个 CPU 的冗余连接性能降低等事件。

      OB85 :用于处理操作系统访问模块故障、更新过程映像区时 I/O 访问故障、事件触发但相应的 OB 没有下载到 CPU 等事件,事件出现, CPU 自动调用 OB85 报错,如果程序中没创建 OB85 CPU 进入停止模式。

      OB86 :用于处理扩展机架(不适用于 S7-300 系列)、 PROFIBUS-DP 主站、 PROFIBUS-DP PROFINET  I/O 分布 I/O 系统中站点故障等事件,事件出现, CPU 自动调用 OB86 报错,如果程序中没有创建, CPU 进入停止模式。

      OB87 :用于处理 MPI  GD   通信及时钟同步故障,事件出现, CPU 自动调用 OB87 报错,如果程序中没有创建, CPU 不会进入停止模式。

12 、处理中断组织块 OB88

       用于处理程序嵌套、区域数据分配故障,故障出现, CPU 自动调用 OB88 报错,如果程序中没有创建, CPU 进入停止模式。

13 、背景循环中断组织块 OB90

       优先级最低,保证 CPU 最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和 CPU 中程序的删除触发 OB90 的调用。只能用于 S7-400 系列 PLC  CPU

14 、启动中断组织块 OB100~OB102

       用于处理 CPU 启动事件,暖启动 CPU 调用 OB100 ,热启动 CPU 调用 OB101 (不适合 S7-300 系列 PLC S7-400H ),冷启动 CPU 调用 OB102 ,温度越低, CPU 启动时清除存储器中数据区的类型越多。

15 、同步错误中断组织块 OB121 OB122

      OB121 处理与编程故障有关的事件,例如调用的函数没有下载到 CPU 中、 BCD 码出错等, OB122 处理与 I/O 地址访问故障有关的事件,例如访问一个 I/O 模块时,出现读故障等。如果上述故障出现,在程序中没有创建 OB121 OB122 CP 进入停止模式。

         注意:不是所有的 OB 都可以在 S7  CPU 中使用,例如 S7-300 系列 PLC  PU 中只有暖启动 OB100 ,操作系统不能调用 OB101 OB102 CPU 中可以使用的 OB 请参考 CPU 选型手册。

        S7-300 系列 PLC 中组织块的优先级是固定的,不能修改,在 S7-400 系列 PLC 中下列组织块的优先级可以进行修改:

        OB10~OB47 :优先级修改范围 2~23

        OB70~OB72 :优先级修改范围 2~38

        OB81~OB87 :优先级修改范围 2~26 ,优先级 24~26 确保异步故障中断不被其他的事件中断。

         几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过 12 个相同优先级的 OB 同进触发,中断可能丢失。
  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值