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

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

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

图1

条目中的库包含了以SCL编程的FB “Timedifferent” , 该块中”RD_SYS_T” 指令被连续两次带条件调用。

  • 当输入参数 “startTime”信号为”0″,第一个条件就满足,第一条指令”RD_SYS_T”就被执行。
  • 当输入参数”stopTime”信号为”0″,第二个条件就满足,第二条指令”RD_SYS_T”就被执行。

接着IF指令后面的是”T_DIFF”指令的调用。图2所示是OB “Main”中调用FB “Timedifferent”的实例。

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

图 2

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

步骤 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 时间差值输出 =运行时间

关于系统时间偏差的注意事项

系统时间和系统时钟的偏差在计算运行时间时没有被考虑进去。本地时间的不正确(同步)也会影响系统,作为偏差(负时间差)进入计算。

关于以上两个扩展指令的更多信息参考STEP 7 (TIA Portal)在线帮助如下,

RD_SYS_T: Read time
T_DIFF: Time difference

下载

STEP 7 (TIA Portal) 软件的库包含上述的功能块,将 Zip 文件解压到硬盘的独立目录中,然后就可以用STEP 7 (TIA Portal)来打开和编辑已解压的库。

注意
只能在STEP 7 (TIA Portal) 软件中打开编辑该库,更多信息参见库文件,条目号:37364723.

如何在 STEP 7 (TIA Portal) 中计算终端设备(例如泵)的运行时间?Registrierung notwendig 52258130_Timedifferent_Lib_STEP7_TIA_Portal_V13.zip (1,0 MB)

创建环境

此 FAQ 中的屏幕截图和下载文件都是通过STEP 7 (TIA Portal) V13 + SP1创建。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc322749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论