如何使用S7200定时器

新手学堂016

如何使用S7200定时器,第1张

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

  接通延时定时器(TON):用于单一间隔的定时

  有记忆的接通延时定时器(TONR):用于累计许多时间间隔

  断开延时定时器(TOF): 用于关断或者故障事件后的延时

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

  定时器号决定了定时器的分辨率(时基)。

  SIMATIC定时器有三种分辨率:1ms、10ms和100ms。

  S7-200提供了256个可供使用的定时器,即用户可用的定时器号为T0-T255,一旦用户选择了定时器号,就意味着定时器的分辨率(时基)已经确定了。定时器号的分辨率(时基)及最大计时时间,如下表:

  表1 定时器号和分辨率

  定时器类型 分辨率 最大定时值 定时器值

  TONR

  (可保持) 1 ms 32767s (0546min) T0, T64

  10 ms 32767s (546min) T1-T4, T65-T68

  100 ms 32767s (546min) T5-T31, T69-T95

  TON,TOF

  (不保持)

  1 ms 32767s (0546min) T32, T96

  10 ms 32767s (546min) T33-T36, T97-T100

  100 ms 32767s (546min) T37-T63, T101-T255

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

  1ms:1ms分辨率的定时器,定时器位和当前值的更新不与扫描周期同步。对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。

  10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。

  100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。

  注意:不能将同一个定时器号同时用作TOF和TON。例如,不能既有TON T32又有TOF T32。也不能重复使用同一定时器号定时。

  不同定时器的功能

  接通延时定时器(TON): 当使能输入接通时,定时器开始计时,在当前值(TXXX)与预置值(PT)相等时,定时器位接通。使能输入断开后,定时器当前值清零。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。

  有记忆接通延时定时器(TONR): 当使能输入接通时,定时器开始计时;在当前值(TXXX)大于等于预置值时,定时器位接通。当使能输入断开时,定时器当前值保留。若要将定时器当前值清零,必须执行复位命令。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。

  断开延时定时器(TOF): 在输入端接通时,定时器位立即接通,当前值置为零;当输入端由接通转为断开时,定时器开始计时,直到预置时间。当定时器到达预置时间时,则定时器位断开,定时器当前值停止计时。当输入断开的时间小于预设值时,定时器位保持接通。下一次输入断开后,定时器从零开始重新计时直到达到预置值。

  

  定时器在子程序中的表现

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

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

这个得看定时器的基时是多少了,西门子S7-200的定时器T32和T96是1ms基时的,最大定时32767s,因此定时不了100s;T33-T36,T97-T100是10ms基时的,因此设定值PT为10000时,就是延时1000010ms=100s;T37-T63,T101-T255是100ms基时的,因此设定值PT为1000时,就是延时1000100ms=100s了。

望采纳。。。。。。