如何测量时间?

介绍:
在自动化技术中测量时间是控制器经常使用的一个功能。在 SIMATIC 中有很多测量时间的选择。本条目提供了一个 STEP7 程序,它包括有6个测量时间的例子。n

  1. 例子:用定时器 T1 测量时间n
  2. 例子:用 IEC 定时器 SFB4 “TON” 测量时间n
  3. 例子:用系统功能 SFC2 “SET_RTM”,SFC3 “CTRL_RTM”,SFC4“READ_RTM”,测量时间n
  4. 例子:用系统功能 SFC101“RTM”,测量时间n
  5. 例子:用系统功能 SFC64“TIME_TCK”,测量时间n
  6. 例子:用系统功能 SFC1“READ_CLK”,测量时间

例子1,2,3 和 4直接在OB1中编程,例子5 和6 以 S7-SCL 程序在OB1 中被调用(FB1 和 FB2)。使用 VAT_1 变量表可以控制和监控6个例子程序的时间测量。使用标志位 M0.0 “START”,M0.1 “RESET” 来开始和复位这6个例子程序。n

下表描述了这6个例子程序

编号 测量时间例子
1 例1: T1用定时器 T1测量时间
使用标志位 M0.0 “START”,来开始和停止时间。每次使能标志位后,定时器就又开始运行。 n

如何测量时间?
图?01n

如果 T1 的预设时间(“S5T#20s”至TW参数)已经到达,标志位 M10.0( T1定时器的输出)接收到 TRUE 信号。n

如何测量时间?
图?02

2例2: 用 IEC 定时器 SFB4 “TON” 测量时间
SFB4 在上升沿后延迟 PT 设置的时间。 n

如何测量时间?
图?03n

在变量表 VAT_1 在设定值(参数 PT )到达之前可以监控已经过的时间。n

如何测量时间?
图?04

3

例 3: 用系统功能 SFC2 “SET_RTM”,SFC3 “CTRL_RTM”,SFC4“READ_RTM”,测量时间。n

系统功能 SFC2 “SET_RTM”,SFC3 “CTRL_RTM”,SFC4“READ_RTM”,可以用一个16位的 CPU 的运行时间表来测量时间n

  • SFC2 用来将 CPU 的运行表设置为一个预设时间n
  • SFC3 用来开始和停止运行时间表n
  • SFC4 用来读当前运行时间表和时间表的状态(“stopped” 或 “counting”)

图 5 中,MW106 分配给 SFC4 的参数 CV,可以提供运行的小时数。n

如何测量时间?
图?05

4例4: 用系统功能 SFC101“RTM”,测量时间
用系统功能 SFC101“RTM”,可使用32 位的运行时间表来测量时间,例子 4 包括 5 个在 OB1中的 networks(networks 6 to 10)来控制和测试SFC101。 n

  • Nw 6: 读当前经过的时间及运行表的状态n
  • Nw 7: 设置参数 PV 值n
  • Nw 8: 开始(使用上次的读取运行表值)n
  • Nw 9: 停止n
  • Nw 10: 调用和参数化 SFC101

如何测量时间?
图?06n

如上所描述,使用 M0.0和 M0.1 可以开始,停止和设置新设定值,运行时间表的当前值可以从参数“CV” ( MD110 )中独出。n

如何测量时间?
图?07

5例5:用系统功能 SFC64“TIME_TCK”,测量时间
功能块 FB1 包含一个 S7-SCL 程序,此程序使用 SFC64 读取 CPU 系统时间。FB1 在 OB1中的 network11 被调用并参数化。 n

如何测量时间?
图?08n

使用 M0.0和 M0.1 来开始,停止和复位计时。图 09 显示了3 个DB1 中的测试变量:n

  • DB1.DBD 2:显示测量时间n
  • DB1.DBX 6.0:复位状态显示(=TRUE)n
  • DB1.DBX 6.1:溢出状态显示(=TRUE),由于系统时间是一个从 0到 2147483647 毫秒的计时器

如何测量时间?
图?09

6Example 6: 用系统功能 SFC1“READ_CLK”,测量时间
功能块 FB2 包含一个 S7-SCL 程序,此程序使用 SFC1 读取 CPU 系统时间。FB1 在 OB1中的 network12 被调用并参数化。 n

如何测量时间?
图?10n

使用 M0.0和 M0.1 来开始,停止和复位计时。图11 显示了5个DB2 中的测试变量:n

  • DB2.DBD 2: 显示天数n
  • DB2.DBD 6: 显示测量时间:小时,分钟,秒,毫秒n
  • DB2.DBX 10.0: 复位状态显示n
  • DB2.DBX 10.1: 溢出状态显示(=TRUE),n
  • DB2.DBX 10.2: 当时钟复位时,不一致状态显示(= True)

如何测量时间?
图?11

备注:
通过选择功能块并按 “F1” 键,在线帮助中可以查看关于定时器,系统功能,系统功能块更多的信息

附件“Time_rec”包括一个上面描述的 STEP7 项目。将此文件复制到一个单独目录,并双击打开。STEP项目会自动解包。可以使用 SIMATIC Manager 来打开和测试解包的项目。

如何测量时间? Time_rec.zip ( 391 KB )

运行及测试环境: 
程序例子可以被 SIMATIC S7-300, S7-400, C7 and WinAC 的 CPU 使用,下表列出了在生成本条目及校验功能的过程中使用的组件。

测试环境 版本
PC 平台 Intel(R) Pentium(R) M processor 1.73GHz, 1.49GB RAM
PC操作系统 Windows XP SP2
STEP 7 V5.4 SP1
S7-SCL V5.3 SP1
S7-PLCSIM V5.3 SP1

关键字:
S7-SCL (结构化控制语言)

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

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

相关推荐

发表回复

登录后才能评论