如何在 STEP 7 (TIA Portal) 中计算终端设备的运行时间

为了计算终端设备的运行时间,您可以读出 CPU 的当前数据和时间值并计算两次时间的差值。STEP 7 (TIA Portal) 提供了两个扩展指令"RD_SYS_T" (读取时间) 和 “T_DIFF” (时间差).。计算后的时间输出是所读取的数据之间的差值,也就是设备的运行时间。

在以SCL编程的FB “Timedifferent” 中, “RD_SYS_T” 指令被连续两次带条件调用。

  • 当输入参数 “startTime"信号为"0”,第一个条件就满足,第一条指令"RD_SYS_T"就被执行。
  • 当输入参数 “stopTime"信号为"0”,第二个条件就满足,第二条指令"RD_SYS_T"就被执行。
    接着IF指令后面的是"T_DIFF"指令的调用。具体如下:

步骤 1:“startTime” = “0” 并且 “stopTime” = “0”

  • 两个“"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: 时间测量结束:“startTime” = “1” 并且 “stopTime” = “1”

  • 第一个 “RD_SYS_T” 指令继续不执行。所读取的最后 CPU 时钟值仍然保存在静态变量中。
  • 第二个 “RD_SYS_T” 指令也不再执行,也一样停止了CPU时钟读取。所读取的最后 CPU 时钟值仍然保存在静态变量中。
  • 两个静态变量的时间值之差通过指令 "T_DIFF"进行计算。结果作为运行时间传送到输出参数 “outTime”。

注意

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

下面表格列出了 FB “Timedifferent” 输入和输出参数,以及相关数据类型。

参数					接口 		数据类型 									说明 

startTime Input Bool 控制第一个 "RD_SYS_T"指令
stopTime Input Bool 控制第二个 "RD_SYS_T"指令
outTime Output Time 时间差值输出 =运行时间

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值