- {{item.name}}
如何避免S7-300/400系统扫描时间过长而导致CPU停机?
- 1
- 981
- 2316
1. 如何避免S7-300/400系统扫描时间过长而导致CPU停机?
如果用户程序的执行时间超出硬件组态中所设定CPU的扫描周期监控时间,则CPU会因看门狗超时而停机,同时触发定时错误OB80,诊断信息如图1所示:

图1 诊断信息
S7-300/400 CPU的循环扫描时间(看门狗时间)默认为150ms(最大可修改为6000ms),用户程序的执行时间必须在设定的扫描周期监控时间范围内。最大扫描周期设置如图2所示:

图2 设置最大扫描周期时间
2. 如何查看S7-300/400系统扫描循环时间?
如果工程师需要了解程序的扫描周期,可通过如下两种方法查询。
方法一、将程序下载到PLC后,进行在线连接,查看CPU信息,如图3所示:

图3 查看CPU“扫描循环时间”
方法二、通过将OB1相应的临时变量传送到M区,即可读取CPU扫描循环时间,如图4、图5所示:

图4 临时变量传送到M区

图5 变量监控
3. 如何查看S7-300/400中一个子程序的大约执行时间?
使用S7-300/400 CPU时,如果工程师需要了解某个子程序的大约执行时间,可在该子程序前、后分别读取CPU系统时钟,然后使用时钟相减指令FC34进行编程计算,步骤如下:
1、设置PLC系统时钟,按图6所示的设置:

图6 置PLC系统时钟
2、创建一个块符号名为“time”的数据块(DB1),并创建如下变量,如图7所示:

图7 创建数据块
3、在需要测试的子程序的第一个网络和最后一个网络读取系统时钟,然后运用时钟相减指令FC34进行计算。
如下例程中测试了“FC1”子程序的执行时间,如图8所示:

图8 “子程序执行时间”例程
4、通过变量监控表查看该子程序的大约执行时间,如图9所示:

图9 子程序大约执行时间
关键词
系统,OB80,周期,子程序,执行
- 评论
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
关联文档
- 在 WinCC SCADA (V7.x 和 TIA Prof)中使用 CASE 语句时如何避免“语法检查返回了错误”?
- 如何避免错误信息 "编译失败。请联系西门子客户服务。”?
- 在编译、下载或保存WinCC (TIA 博途)配置时如何避免由于无法访问文件或目录而产生的错误消息?
- 如何避免在TIA博途 WinCC 中不同编辑语言下输入文本时崩溃行为?
- 如何调整DP目标循环时间Ttr,避免因此造成的总线故障?
- 如何在WinCC中获取与S7-300/400 CPU的通讯状态
- S7-300/400 CPU,CP,FM Firmware更新及问题汇总
- S7300/400 CPU 后备电池的使用
- 如何不停机升级4.5版H CPU 的固件版本
- 如何同步操作面板与 S7-200/300/400 控制器的日期和时间(更新版)
看过该文档的用户还看过哪些文档


西门子官方商城




{{item.nickName}}