对定时器指令,在编程中首先要设置预置值,用以确定定时时间。在程序的运行过程中,定时器不断累计时间,当累计的时间与设置时间相等时,定时器动作,以实现各种定时逻辑控制工作。S7-200PLC提供接通延时(TON)、断开延时(TOF)、记忆接通延时(TONR)三种定时器,分辨率(时基)也有三种,分别为1ms、10ms、100ms。分辨率是指定时器能够区分的最小的时间增量,即精度。具体的定时时间T由预置值PT和分辨率的乘积决定,例如设置预置值PT=1000,选用的定时器分辨率为10ms,则定时时间为T=10ms×1000=10s。
分辨率由定时器号(0~255)决定,定时器各类型所对应定时器号及分辨率见表34。定时器编号由定时器名称和常数(0~255)来表示,即Tn,如T32。定时器有当前值和定时器位两个变量信息,当前值用于存储定时器当前累计的时间,是一个16位的存储器,存储16位带符号的整数,最大计数值为32767。接通延时定时器TON与断开延时定时器TOF分配的是相同的定时器号,这表示该部分定时器号能作为这两种定时器使用。但在实际使用时应注意,同一个定时器号在一个程序中不能既为接通延时定时器TON,又为断开延时定时器TOF。
表3-4
定时器各类型所对应定时器号及分辨率
对于TONR和TON,当定时器的当前值等于或大于预置值时,该定时器位被置为1,所对应的定时器触点闭合;对于TOF,当输入IN接通时,定时器位被置1,当输入信号由高变低负跳变时启动定时器,达到预定值PT时,定时器位断开。
定时器的梯形图由标识符(接通延时型TON/断开延时型TOF/带有记忆接通延时型TONR)、启动电平输入端IN、时间设定值输入端PT和编号Tn构成。定时器操作指令的语句表由标识符( TON/TOF/TONR)、编号Tn和时间设定值PT构成。定时器指令格式见表3-5,定时器指令的操作数说明见表3-6。
表3-5
定时器指令格式
表3-6
定时器指令的操作数说明
下面对三种类型定时器的工作原理进行分析。
(1)接通延时型定时器(TON)
使能端输入(IN)
有效时,定时器开始计时,当前值从0
开始递增,大于或等于预置值时,定时器输出状态位置1
(输出触点有效),当前值的最大值为32767;
使能端无效时,定时器复位(当前值清零,输出状态位置0
),如图3-15
所示。
图3-15 接通延时型定时器TON的工作原理
(2)断电延时型定时器(TOF)
使能端(IN)
输入有效时,定时器输出状态位立即置1
,当前值复位;使能端断开时,开始计时,当前值从0
递增,当前值达到预置值时,定时器状态位复位置0
,并停止计时,当前值保持;复位后要再启动,需在允许输入端有一个负跳变(
由ON
到OFF)
的输入信号启动计时,如图3-16
所示。
图3-16 断电延时型定时器TOF的工作原理
(3)记忆接通延时型定时器(TONR)
使能端(IN)
输入有效时,定时器开始计时,当前值递增,当前值大于或等于预置值(PT)
值,输出状态位置1
;使能端输入无效时,当前值保持,使能端再次接通有效时,在原记忆值的基础上递增计时;记忆接通延时型定时器只能通过复位指令(R)
进行复位操作,当复位线圈有效时,定时器当前值清零,定时器位断开,如图3-17
所示。
图3-17 记忆接通延时型定时器TONR的工作原理
注意,不同分辨率的定时器其当前值的刷新周期是不同的。1ms
分辨率定时器启动后,定时器对1ms
的时间间隔进行计时,每隔1ms
刷新一次定时器位和定时器当前值,而不和扫描周期同步,也就是说定时器位和定时器当前值在扫描周期大于1ms
的一个周期中要刷新几次,由于定时器在1ms
内可以在任何地方启动,所以预设值必须大于最小需要时间间隔。例如使用1ms
定时器要确保至少56ms
的时间间隔,预设值应该设为57
。10ms
分辨率定时器启动后,定时器对10ms
时间间隔进行计时,程序执行时,在每次扫描周期的开始对10ms
定时器刷新,也就是说在一个扫描周期内定时器位和定时器当前值保持,把累计的10ms
的间隔数加到启动的定时器的当前值,由于定时器在10ms
内可以在任何地方启动,所以预设值必须大于最小需要时间间隔。例如使用10ms
定时器要确保至少140ms
的时间间隔,预设值应该设为15
。在子程序和中断程序中不宜用100ms
定时器,主程序中不能重复使用同一100ms
的定时器号,100ms
分辨率定时器启动后,定时器对100ms
时间间隔进行计时,只有在定时器指令执行时,100ms
定时器的当前值才被刷新,但是100ms
定时器在每次扫描周期的开始刷新,也就是说在一个扫描周期内定时器位和定时器当前值保持,把累计的100ms
间隔数加到启动的定时器的当前值。因此,如果激活100ms
定时器,但是每个扫描周期没有执行定时器指令,定时器的当前值不刷新则会造成时间丢失。同样地,如果在一个扫描周期内,多次使用相同的100ms
定时器指令,就会造成多计时间,定时器仅用在定时器指令每个扫描周期精确执行一次的地方。由于定时器在100ms
内可以在任何地方启动,所以预设值必须大于最小需要时间间隔。例如使用100ms
定时器时为了保证至少2100ms
的时间间隔,预设时间值应该设为22
。三种精度计时器的应用实例如图3-18
所示。
图3-18 三种精度定时器的应用实例
【例3-3
】 自制脉冲源的设计。在实际应用中,经常遇到需要产生一个周期确定而占空比可调的脉冲系列,这样的脉冲用两个接通延时的定时器即可实现。试设计一个周期为10s
、占空比为0.4
的脉冲系列,该脉冲的产生由输入端I15.7
控制。
图3-19 自制脉冲源的编程
分析:自制脉冲源由定时器T101和T102组成,如图3-19所示。当I15.7由0变为1时,因T102的非是接通的,故T101被启动并且开始计时,当T101的当前值PV达到设定值PT1 (6s)时,T101的状态由0变为1,T101为1又使T102启动,T102开始计时,当T102的当前值PV达到其设定值PT2 (4s)时,T102瞬间由0变为1态,T102的瞬间1态使得T101的启动信号变为0态,则T101的当前值PV=0,T101的状态变为0,T101的0状态使得T102变为0态,又重新启动T101开始下一周期的运行。
由以上分析可知,从T102计时开始到T102的PV值达到PT2期间T101的状态为1,这个脉冲宽度取决于T102的PT值PT2,而从T101计时开始到达设定值期间T101的状态为0,两个定时器的PT值相加就是脉冲的周期。
如果T101的设定值由VWO提供,T102的设定值由VW2提供,就组成了周期T=(VW0)+(VW2),占空比τ=(VW2)/[(VW0)+(VW2)]的脉冲序列。