• {{item.name}}
SIMATIC S7-400系列 {{item.name}}
{{item2.name}}
更多
常问问题

如何避免S7-300/400系统扫描时间过长而导致CPU停机?

star star star star star
5.0 分
文档编号:F0712| 文档类型:常问问题| 发布时间:2024年01月24日
  • 1
  • 557
  • 2316
1. 如何避免S7-300/400系统扫描时间过长而导致CPU停机? 如果用户程序的执行时间超出硬件组态中所设定CPU的扫描周期监控时间,则CPU会因看门狗超时而停机,同时触发定时错误OB80,诊断信息如图1所示: ......

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,周期,子程序,执行


您可以前往全球资源库查看此文档

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。