为了计算终端设备的运行时间,您可以读出 CPU 的当前数据和时间值并计算两次时间的差值。

描述

图 1 所示为计算终端设备运行时间的实例。 为此,STEP 7 (TIA Portal) 提供了两个扩展指令"RD_SYS_T" (读取时间) 和 "T_DIFF" (时间差).。计算后的时间输出是所读取的数据之间的差值,也就是设备的运行时间。

FC2程序:

该块中"RD_SYS_T" 指令被连续两次带条件调用。

当输入参数 "startTime"信号为"1",第一个条件就满足,第一条指令"RD_SYS_T"就被执行。

当输入参数 "stopTime"信号为"1",第二个条件就满足,第二条指令"RD_SYS_T"就被执行。

图2所示是OB "Main"中调用FB "Timedifferent"的实例。

用于测量终端设备运行时间的指令:

步骤 1:"start" = "1" 并且 "stop" = "1"

两个“"RD_SYS_T” 指令同时读出CPU的当前日期和时间。这种情况下,“T_DIFF” 指令计算所得的两次时间值之差为0。

“T_DIFF” 的输出参数 "outTime" 值被复位为0。

步骤 2:开始时间测量:"startTime" = "1" 并且 "stopTime" = "0"

第一个 "RD_SYS_T" 指令不执行,从而停止了CPU时钟读取。所读取的最后 CPU 时钟值保存在静态变量中。

第二个“RD_SYS_T” 指令继续执行并将当前数据存储在第二个静态变量中。

两个静态变量的时间值之差通过指令 "T_DIFF"进行计算,并把结果存储于输出变量"outTime" 中。

步骤 3: 时间测量结束:"start" = "0" 并且 "stop" = "0"

第一个 "RD_SYS_T" 指令继续不执行。所读取的最后 CPU 时钟值仍然保存在静态变量中。

第二个 "RD_SYS_T" 指令也不再执行,也一样停止了CPU时钟读取。所读取的最后 CPU 时钟值仍然保存在静态变量中。

两个静态变量的时间值之差通过指令 "T_DIFF"进行计算。结果作为运行时间传送到输出参数 "outTime"。

注意

在启动新的时间测量之前,必须首先复位两个参数 "start" 和 "stop"为0。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查