• {{item.name}}
SIMATIC S7-200 SMART {{item.name}}
{{item2.name}}
更多

定时器指令

star star star star star
0 分
  • 软件编程
发布时间:2026年01月16日
  • 1
  • 10540
介绍了定时器指令的使用。

定时器

S7-200 SMART指令提供了下述三种类型的定时器。

  • 接通延时定时器(TON):用于定时单个时间间隔 。
  • 有记忆的接通延时定时器(TONR):用于累积多个定时时间间隔的时间值。
  • 断开延时定时器(TOF): 用于在 OFF(或 FALSE) 条件之后延长一定时间间隔,例如冷却电机的延时。

定时器相关视频教程的链接如下:

定时器号和分辨率

定时器对时间间隔计数。定时器的分辨率(时基)决定了每个时间间隔的长短。

S7-200 SMART V2.8及以下版本提供了256 个可供使用的定时器,即用户可用的定时器号为T0-T255。S7-200 SMART V3.0版本提供了512 个可供使用的定时器,即用户可用的定时器号为T0-T511。TON、TONR 和 TOF 定时器提供三种分辨率:1ms、10ms和100ms。(当前值的每个单位均为时基的倍数。例如,使用 10 ms 定时器时,计数 50 表示经过的时间为 500 ms )。

定时器号的分辨率(时基)及最大计数时间,如下表:

表1. 定时器号和分辨率

定时器类型
分辨率
最大定时值
定时器值(V2)
定时器值(V3)
TONR (可保持)1 ms
32.767s
T0, T64
T0、T64、T256-T261
10 ms
327.67s
T1-T4, T65-T68
T1-T4、T65-T68、T268-T291
100 ms
3276.7s
T5-T31, T69-T95
T5-T31、T69-T95、T316-T413
TON,TOF (不保持)1 ms
32.767s
T32, T96
T32、T96、T262-T267
10 ms
327.67s
T33-T36, T97-T100
T33-T36、T97-T100、T292-T315
100 ms
3276.7s
T37-T63, T101-T255
T37-T63、T101-T255、T414-T511

定时器号决定了定时器的分辨率(时基)并且分辨率在指令块上标出

注意:同一个定时器编号不能同时用于 TON 和 TOF 定时器。 例如,不能同时使用 TON T32和 TOF T32。

不同分辨率的定时器按以下规律刷新:

  • 1ms:1ms分辨率的定时器,每一毫秒更新一次(定时器位及定时器当前值),扫描周期大于1ms时,定时器状态位和当前值在该扫描周期更新多次 。
  • 10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。
  • 100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。

注意:要确保最小时间间隔,请将预设值 (PV) 增大 1。例如:使用 100 ms 定时器时,为确保最小时间间隔至少为 2100 ms,则将 PV 设置为22。

定时器指令的有效操作数如下表所示:

表2. 定时器指令的有效操作数

输入/输出
数据类型
操作数
Txxx
WORD
定时器编号
IN
BOOL
I、Q、V、M、SM、S、T、C、L、能流
PT
INT
?IW 、QW、VW、MW、SMW、SW、T、C、LW、AC、AIW、*VD、 *LD、*AC、常数

不同定时器的功能

TON 和 TONR 定时器操作:

在使能输入 IN 接通时开始计时。 当前值等于或大于预设时间时,定时器位置为接通。

  • 使能输入置为断开时,清除 TON 定时器的当前值。
  • 使能输入置为断开时,保持 TONR 定时器的当前值。 输入 IN 置为接通时,可以使用TONR 定时器累积时间。 使用复位指令 (R) 可清除 TONR 的当前值。
  • 达到预设时间后,TON 和 TONR 定时器继续定时,直到达到最大值 32,767 时才停止定时。

TOF 定时器:

TOF 指令用于使输出在输入断开后延迟固定的时间再断开。当使能输入接通时,定时器位立即接通,当前时间值设置为 0。当输入断开时,计时开始,直到当前时间等于预设时间时停止计时。

  • 达到预设值时,定时器位断开,当前时间值停止递增;但是,如果在 TOF 达到预设值之前使能输入再次接通,则定时器位保持接通。
  • 要使 TOF 定时器重新断开延时计时,使能输入必须进行接通-断开转换。
  • 如果 TOF 定时器在 SCR 区域中,并且 SCR 区域处于未激活状态,则当前值设置为0,定时器位断开且当前值不递增。

定时器工作规律如下表所示:

表3. 定时器操作和PLC上电循环

文本

AI 生成的内容可能不正确。

接通延时定时器指令举例如下图所示:

图1.接通延时定时器指令程序举例

其中:

  • 定时器T37时基为100ms,预置值设定为10,实际延时时间为100ms×10=1s。

图2.时序图

其中:

  • IN为“1”状态时,定时器开始运行
  • 延时到达预置值,T37 置位
  • IN输入端为“0”状态时,定时器复位
  • 如无复位,当前值继续增至最大值

定时器在子程序中的表现

在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。

如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。

常见问题

1.利用定时器定时的程序,在编译报错“指令操作数的存储器寻找范围无效”?

这种情况往往是调用的定时器号与定时器类型不配合造成的。参见上面的表格,如T7只能用作TONR,而不能用于TON或TOF。

2.为什么子程序中的定时器和计数器不工作或者工作不正常?

如果有下面情况产生:

A.一个在内部使用了定时器或计数器的子程序,在同一扫描周期被调用了多次

B. 相同编号的定时器或计数器被多个子程序使用,且同一扫描周期这些子程序有两个或者以上被调用

则定时器或者计数器资源会因重叠使用而相互影响,造成程序逻辑等方面的错误。


  • 评论
更多
  • 分享

    扫码分享

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。