
CPU1500周期的定义
在一个循环中,它包括以下几个部分:
自动更新输出过程映像分区0 (PIPI 0)
自动更新输入过程映像分区0 (PIPI 0)。
循环程序的执行。
在这个周期中,进程映像分区0将自动更新。当通过自动更新配置I/O模块(默认)时,I/O地址应该分配给这些进程映像分区(PIPI 0/PIPQ 0)。
下图说明了周期中发生的各个阶段。在以下示例中,用户配置了最小周期时间。更新处理映像分区和处理循环程序在配置的最小循环时间结束之前完成。因此,在开始下一个程序周期之前,CPU将等待配置的最小周期时间到期。
操作系统开始循环时间测量的循环控制点。
CPU将过程图像的输出状态写入输出模块。
CPU读取输入模块的输入状态,并将输入数据写入过程图像输入。
CPU执行用户程序,执行程序中的指令。
等待直到配置的最小周期时间结束。
循环控制点
到达循环控制点后,CPU就完成了循环程序,不再执行OB。此时,所有用户数据保持一致。要求任何不修改用户数据的通信(如HMI通信或PUT/GET通信)都是活动的。
循环控制点被标记为:
循环结束及其循环时间统计。
开始下一个循环及其循环时间统计。
重启监控配置的最大周期时间。
(超时计数器复位)
循环控制点的到达取决于以下哪个事件是最后发生的:
结束最后一个程序循环OB。
最短周期时间到期(如果已配置)
到达循环控制点后,CPU将执行以下步骤:
1.将过程图像输出写入输出模块。
2.将输入模块的输入状态读入过程图像输入。
3.执行第一个程序循环OB
周期时间的定义
周期时间是CPU执行以下操作所需的时间:
更新过程图像输入/输出
执行循环程序。
中断该周期的所有程序段和系统活动。
等待最小循环时间(如果参数已经设置,并且时间长于程序执行时间)
不同周期时间的原因
下图显示了这两个不同的周期时间Tcyc1和Tcyc2。
在这个例子中,因为循环程序被循环中断OB(例如:OB 30)中断,所以循环时间Tcyc2比T cyc1长。之后,运动控制功能和通信将再次中断循环中断OB。
最短周期时间
在第7步中,您可以设置CPU的最小周期时间。非冗余CPU的默认最小周期时间设置为1毫秒。建议在下列情况下增加该值:
减少周期时间的波动范围。
利用剩余的计算时间执行通信任务。然后,CPU将在最小周期时间到期之前处理这些通信任务。
将剩余的计算时间用于通信任务的优点如下:
延长最小周期时间,以避免不必要的过程映像频繁更新,从而降低背板总线上的负载。
延长最短周期时间可以提高通信性能。
最大周期时间
最大循环时间是循环程序运行时间的可配置上限。最大周期时间任务将监控相应流程所需的响应时间。
默认情况下,非冗余CPU的最大周期时间设置为150 ms。向CPU分配参数时,该值可在1 ms至6000 ms的范围内设置。如果当前处理的周期时间长于最大周期时间,将调用时间错误OB (OB 80)。通过OB 80中的用户程序指定CPU对时间误差的响应。
第一次超过循环时间(不使用OB 80)停止。
首次超过周期时间(使用OB 80)运行
第二次超过循环时间(使用OB 80)停止。
要在步骤7中直接查看周期时间的统计数据,请遵循以下步骤:
1.使用步骤7建立与CPU的在线连接。
2.选择在线工具任务卡。
结果:循环时间的统计信息图显示在循环时间部分。
下图显示了直接从步骤7中读取的周期时间统计数据。在本例中,周期时间在7毫秒和12毫秒之间波动。当前周期时间为10毫秒。此时,可设置的最长周期时间为40毫秒
-结束-
审核编辑:李倩









