西门子NCU573.3 6FC5357-0BB33-0AE2SINUMERIK 840D/DE NCU 573.3 Pentium III 不带系统软件 存储器:NC 2.5MB,PLC 96KB PROFIBUS-DP 准备 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 “子程序执行时间”例程