西门子_plc_中各个组织块ob作用.doc
1、自由循环组织块 OB1S7 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~OB57CPU 响应 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 报错,如果程序中没有 创