定时器的分类
接通延时型定时器TON和TONR
计时规则
IN条件接通时,定时器开始计时,计时值不断增加直到32767;IN条件断开时,定时器计时值复位为0.
状态位变化规则
计时值小于设定值,定时器状态位为0;计时值大于等于设定值,定时器状态位为1.
TON和TONR的区别
TON非保持型定时器,当条件IN断开后,定时器计时值清零,定时器状态位复位。
TONR保持型定时器,当条件IN断开后,计时值保持不变,当IN再次接通,计时值继续增加,直到增加到32767.
复位方式
TONR定时器必须使用复位指令来复位定时器,不能像TON非保持型定时器在条件IN断开后自动复位,当然TON非保持型定时器也可以用复位指令来复位。
断开延时型定时器TOF
计时规则
IN条件为1时,计时值清零并保持为0;直到IN条件从1变为0出现负跳变(下降沿)后开始计时,直到计时值增加到设定值.注意如果IN条件没有出现负跳变,比如CPU重启后IN条件为0,此时定时器计时值保持为0不变,直到条件从0变为1,再从1变为0时,定时器才会开始计时。
状态位变化
IN条件为1时,定时器状态位为1;
IN条件从1变为0时,计时值等于设定值后,定时器状态位从1变为0.
CPU重启后,IN条件为0,此时定时器的状态位也为0.
复位方式
总结
无论哪种定时器,计时值大于等于设定值时,定时器的状态位都会发生变化。
定时器与扫描周期的关系
定时器计数值和状态位在整个扫描周期中保持不变,只在每个扫描周期开始时被更新。
注意不能在同一个扫描周期中多次调用同一个定时器。
首个扫描周期
在第1个扫描周期,所有定时器状态位复位为0,TON和TOF计数值被清零。设置有断电保持的TONR定时器计时值仍为断电前的值,如果IN条件再次满足,定时器状态位变为1.
定时器的分辨率和设定值
定时器的分辨率
定时器计时变化与扫描周期无关,但程序中使用的状态位与扫描周期有关。分辨率的含义是,计时条件满足时,每经过该分辨率时间定时器计时值会增加1。1ms分辨率的定时器,每1ms定时器计时值会增加1.
类型
|
分辨率
|
类型
|
分辨率
|
TON/TOF
|
1ms
|
TONR
|
1ms
|
10ms
|
|
10ms
|
100ms
|
|
100ms
|
定时器的设定值
定时器的设定值是定时器状态位变化的依据,无论哪种定时器,计时值大于等于设定值时,定时器的状态位都会发生变化。由此可见定时器的设定值是以分辨率为单位的:1ms,10ms,100ms。
分辨率
|
1ms
|
分辨率
|
10ms
|
分辨率
|
100ms
|
设定值
|
15
|
设定时间
|
12
|
设定值
|
16
|
定时时间
|
15ms
|
定时时间
|
120ms
|
定时时间
|
1600ms
|
设定时间与设定值的转换
先将想要设定的时间换算成ms为单位的数值,再用该数值除以分辨率即可得到定时器的设定值。
实际设定值以s(秒)为单位,定时器分辨率为100ms
1s=1000ms;1000ms/100ms=10.实际设定值是分辨率的10倍,定时器设定值=实际设定值x10就可以让定时器按照设定的秒数工作。例如,设定15s定时时间,15x10=150,将定时器设定值设置为150就代表定时15s。
实际设定值以min(分钟)为单位,定时器分辨率为100ms
1min=60s=60000ms,定时器每100ms计数值增加1,60000ms/100ms=600(60000ms中包含了600个100ms),定时器数值增加到600时,定时器刚好计时1分钟。实际值设定多少分钟,就用设定值x600后作为定时器的设定值即可。如果想设定5min的定时时间,5x600=3000,将定时器设定值设置为3000就代表定时5min。
举一反三
分辨率为1ms,10ms的定时器的实际定时时间和设定值可参考100ms定时器的计算方法计算。
选择分辨率的依据
选择分辨率根本的依据是通过设定时间来做选择
例如,只需要定时5ms就使定时器状态位发生变化,那就只能选择分辨率为1ms的定时器。如果选择10ms的定时器,至少经过10ms定时器状态位才会发生变化,如果选择100ms,至少经过100ms定时器状态位才会发生变化。
由于定时器计时值最大值是32767,因此最长定时时间会受分辨率的设置,分辨率越高,定时范围越小。
类型
|
分辨率
|
定时范围
|
类型
|
分辨率
|
定时范围
|
TON
/TOF
|
1ms
|
32.767s
|
TONR
|
1ms
|
32.767s
|
10ms
|
327.67s/
5.46min
|
|
10ms
|
327.67s/
5.46min
|
100ms
|
3276.7s/
54.6min
|
|
100ms
|
3276.7s/
54.6min
|
如果需要设定14ms,那也只能选择1ms的定时器。不过如此精确的时间最好还是使用定时中断来完成,因为即使定时器状态位按照设定时间发生了变化,也需要等到扫描周期开始时才能够刷新定时器的值。这样就不能以那么精确的时间来执行指令。例如,定时器分辨率为1ms,条件满足开始计时,扫描周期为5ms,当14ms时定时器计时值已经等于设定值,但也得等到第15ms下一个扫描周期开始时才会刷新定时器的状态位。
大多数情况使用定时器时无需考虑的如此精细,100ms分辨率是最常用的。
定时器的编号
SMART的定时器资源是T0-T255,PLC编程软件已经将这些资源按定时器类型和实际分配好了。如下图所示,定时器编号根据所选定时器类型和分辨率来确定。
类型
|
分辨率
|
定时范围
|
定时器编号
|
类型
|
分辨率
|
定时范围
|
定时器编号
|
TON/TOF
|
1ms
|
32.767s
|
T32,T96
|
TONR
|
1ms
|
32.767s
|
T0,T64
|
10ms
|
327.67s/5.46min
|
T33-T36,T97-T100
|
10ms
|
327.67s/5.46min
|
T1-T4和T65-T68
|
100ms
|
3276.7s/54.6min
|
T37-T63,T101-T255
|
100ms
|
3276.7s/54.6min
|
T5-T31,T69-T95
|
注意TON和TOF定时器在程序中使用的编号不能重复。
程序演示
TON接通延时定时器演示
video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3066313983831277573
TONR保持型接通延时定时器演示
video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3066316384600555523TOF关断延时定时器演示
video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3066318927674179589
使用定时器状态位来实现你的控制目标
从TON,TONR,TOF三种定时器中选择一款合适的定时器来实现你的控制目标吧,有的时候需要用TOF定时器实现的功能,用TON定时器配合其他指令也是可以实现的。
总结
以下是200SMART PLC定时器知识点的总结
定时器只是PLC的一个基本功能,但却很常用,可能生活中你也需要一个定时器。
|