搜索
写经验 领红包
 > 健康

如何测量一个程序的循环周期时间长短(循环时间怎么测)

导语:如何测量一个程序的循环周期时间?

1. 使用“在线和诊断”中的“循环时间”来查看。如下图:

使用以上方法需要在TIA博途中“转至在线”。测量的时间单位为毫秒。

2. 使用主程序 “OB1”的临时变量测量循环时间。对于S7-1500的“程序循环OB”,将其从“优化的块访问”改成“标准兼容模式”。通过访问临时变量来得到测量出的循环时间。

1) 右键单击主程序 “OB1”,在弹出的菜单中选择“属性...”。

2) 进入“常规”标签并且取消“属性”中的“优化的块访问”属性(去掉钩选)。

3) 点击确定。如下图:

改变块的访问方式后,这些参数已经被保存在声明的临时变量里了(否则不可见)。这些信息包括这个块的进入系统时的起始时间数据、故障原因和故障点。可以在块中评估这些数据。现在可以通过主程序 “OB1”的临时变量确定循环时间了。如下图:

注意:以上方法不适用于S7-1200。

3.用&34;指令测量S7-1200/S7-1500程序的运行时间

使用 &34; 指令可以测量整个程序、单个块或命令序列的运行时间。注意如果想测量单个块或命令序列的程序运行时间,为了避免被通信或其他高优先级OB中断或延迟,在允许情况下请将程序代码移动到具有更高优先级的OB中。本示例测量循环中断OB30(优先级改为了24)中一个被调用的程序块的运行时间。

创建循环中断 OB30;在 OB30 中调用&34;指令,创建DB1来存储指令所需变量,如图2所示;&34;指令的第一次调用用来设置测量时间的起点,并将其保存在DB变量 &34;中来为第二次调用做参考;然后调用 要测量的程序块&34;;当程序块被执行后,&34; 指令第二次调用,第二次调用来计算 &34;程序块的运行时间并将结果(秒)写入DB变量 &34;中。

可使用TRACE功能创建变量&34;.Result的跟踪轨迹来记录FB1的运行时间,采样选择OB30。测得Test[FB1]程序块的运行时间在 137µs 到 154 µs之间

上例给出了测量单个程序块的方法,测量整个程序及命令序列也是一样的,只需在想测量程序的起点调用RUNTIME指令,在程序的终点再次调用RUNTIME指令即可。

4. 小结:推荐使用“RUNTIME”指令进行测量,因为它可以测量整个程序、单个块或者命令序列的运行时间。

本文内容由小春整理编辑!