Step7-OB组织块介绍和使用技巧_第1页
Step7-OB组织块介绍和使用技巧_第2页
Step7-OB组织块介绍和使用技巧_第3页
Step7-OB组织块介绍和使用技巧_第4页
Step7-OB组织块介绍和使用技巧_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

导读导读 在在 OB1 中可以调用中可以调用 FB SFB FC SFC 等用户程序等用户程序 使其循环执行 除使其循环执行 除 OB90 以外 以外 OB1 优先级最低 可以被优先级最低 可以被 其他其他 OB 中断 中断 OB1 默认扫描监控时间为默认扫描监控时间为 150ms 可设置 可设置 扫描超时 扫描超时 CPU 自动调用 自动调用 B80 报错 如果程序中没有建报错 如果程序中没有建 立立 OB80 CPU 进入停止模式 进入停止模式 每种类型的每种类型的 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 同进触发 中断可能丢失 同进触发 中断可能丢失 我们在使用相应我们在使用相应 OB 时要注意以下问题 时要注意以下问题 1 OB 只是及时反应出了故障 但并不解决故障 只是及时反应出了故障 但并不解决故障 OB 允许允许 CPU 带故障运行 带故障运行 2 诊断诊断 OB 如如 OB82 86 122 反映的是硬件上的故障 反映的是硬件上的故障 靠软件是解决不了的 软件的作用是尽快指向故障点 硬靠软件是解决不了的 软件的作用是尽快指向故障点 硬 件的问题还是硬件解决 件的问题还是硬件解决 3 诊断诊断 OB 的产生会影响的产生会影响 CPU 的整个程序的执行速度 的整个程序的执行速度 会影响系统的控制品质 尤其是一些带过程中断 大量运会影响系统的控制品质 尤其是一些带过程中断 大量运 算及运动控制的高速生产线 算及运动控制的高速生产线 4 无条件的让无条件的让 OB 去掩盖故障是一件很危险的事情 应去掩盖故障是一件很危险的事情 应 该有应对的措施 让系统尽快的进入一种可控的安全状态 该有应对的措施 让系统尽快的进入一种可控的安全状态 由于通信的原因 模块不存在或有故障 刷新过程映由于通信的原因 模块不存在或有故障 刷新过程映 像表时像表时 I O 访问出错 将会调用优先级错误中断 访问出错 将会调用优先级错误中断 OB85 可以在可以在 CPU 属性对话框中设置属性对话框中设置 3 种调用种调用 OB85 的方式 的方式 S7 300 默认的方式是不调用默认的方式是不调用 OB85 S7 400 默认的方式是默认的方式是 每个扫描循环周期调用一次 还可以设置为故障发生和消每个扫描循环周期调用一次 还可以设置为故障发生和消 失时分别调用一次 失时分别调用一次 用用 PI PQ 地址区访问有故障的地址区访问有故障的 I O 模块 模块 DP 从站时 从站时 将会调用将会调用 I O 访问错误中断 访问错误中断 OB122 每个扫描周期调用 每个扫描周期调用 一次 一次 对于简单程序 只涉及到数字量逻辑控制 只使用对于简单程序 只涉及到数字量逻辑控制 只使用 OB1 就可以了 对于复杂程序 使用了就可以了 对于复杂程序 使用了 DP 通讯等等 就通讯等等 就 需要做一些相应功能的组织块来保证需要做一些相应功能的组织块来保证 PLC 的运行正常 的运行正常 1 OB100 启动组织块 即启动组织块 即 PLC 一通电的第一个扫描一通电的第一个扫描 周期就先处理此块 以后就不扫描了 所以在这个块内可周期就先处理此块 以后就不扫描了 所以在这个块内可 以做初始化脉冲 复位一些数据 以做初始化脉冲 复位一些数据 2 OB122 I O 访问错误组织块 访问错误组织块 3 OB121 编程错误组织块 这个块比较重要 曾经编程错误组织块 这个块比较重要 曾经 遇到一个德国进口喂料机 使用一段时间后出现遇到一个德国进口喂料机 使用一段时间后出现 CPU 不能不能 运行 程序是使用运行 程序是使用 STL 编程 使用了很多间接寻址 很难编程 使用了很多间接寻址 很难 找到问题所在 后来就选择了这个组织块后 找到问题所在 后来就选择了这个组织块后 CPU 运行设运行设 备就正常工作了 备就正常工作了 4 OB82 诊断中断组织块 这个对于使用模拟量模块诊断中断组织块 这个对于使用模拟量模块 多的项目需要使用这个块 否则一旦接入的模拟量信号出多的项目需要使用这个块 否则一旦接入的模拟量信号出 现问题时 现问题时 CPU 停机就是大事了 停机就是大事了 5 OB80 时间错误组织块 包括 超出周期时间 时间错误组织块 包括 超出周期时间 执行执行 OB 时出现确认错误 提前了时间而使时出现确认错误 提前了时间而使 OB 的启动时间的启动时间 被跳过 在被跳过 在 CiR 后恢复后恢复 RUN 模式 模式 6 OB86 机架故障组织块 对于使用了机架故障组织块 对于使用了 DP 通讯的分通讯的分 布式布式 I O 需要使用这个块 需要使用这个块 要想第一时间找到处故障的要想第一时间找到处故障的 子站 需要使用子站 需要使用 OB86 来作为来作为 DP 故障诊断故障诊断 需要对需要对 OB86 内变量做编程处理 使用触摸屏或其他上位机来显示报警内变量做编程处理 使用触摸屏或其他上位机来显示报警 内容 内容 7 OB87 通讯错误组织块 通讯错误组织块 组织块是操作系统与用户程序的接口 可以从下面几组织块是操作系统与用户程序的接口 可以从下面几 个方面来理解 个方面来理解 1 组织块不是用户程序调用的 而是由操作系统调用组织块不是用户程序调用的 而是由操作系统调用 的 其变量声明表中只有临时变量 的 其变量声明表中只有临时变量 2 组织块分为三类 组织块分为三类 启动组织块用于系统初始化 启动组织块用于系统初始化 主程序主程序 OB1 是循环执行的 是循环执行的 出现中断事件时 操作系统将会停止执行当前的任务 出现中断事件时 操作系统将会停止执行当前的任务 调用一个分配给该事件的组织块 调用一个分配给该事件的组织块 3 除了自动生成的 除了自动生成的 OB1 其他组织块需要用户生成 其他组织块需要用户生成 组织块中的程序是用户编写的 组织块中的程序是用户编写的 4 每个组织块都有 每个组织块都有 20 个字节的局部变量 其中包含个字节的局部变量 其中包含 OB 的启动信息 这些信息在的启动信息 这些信息在 OB 启动时由操作系统提供 启动时由操作系统提供 包括启动事件 启动日期与时间 错误及诊断事件 包括启动事件 启动日期与时间 错误及诊断事件 5 中断的优先级也就是组织块的优先级 如果在执行中断的优先级也就是组织块的优先级 如果在执行 中断程序 组织块 时 又检测到一个中断请求 中断程序 组织块 时 又检测到一个中断请求 CPU 将将 比较两个中断源的中断优先级 如果优先级相同 按照产比较两个中断源的中断优先级 如果优先级相同 按照产 生中断请求的先后次序进行处理 生中断请求的先后次序进行处理 如果后者的优先级比正在执行的如果后者的优先级比正在执行的 OB 的优先级高 将中止当的优先级高 将中止当 前正在处理的前正在处理的 OB 改为执行较高优先级的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论