首页 理论教育定时器指令及精度及刷新方式详解

定时器指令及精度及刷新方式详解

【摘要】:3条指令规定了三种不同功能的定时器。定时器有1ms、10ms、100ms三种精度,1ms的定时器有4个,10ms的定时器有16个,100ms的定时器有236个。当IN端断开的时间短于预置值时,定时器位保持接通。定时器计时的过程就是数时基脉冲的过程。100ms定时器的刷新方式100ms的定时器是在该定时器指令执行时被刷新。为了使定时器正确地定时,要确保每个扫描周期都能执行一次100ms定时器指令,程序的长短会影响定时的准确性。

定时器是PLC中最常用器件之一,准确用好定时器对于PLC程序设计非常重要。S7-200 PLC的CPU22X系列定时器有3种类型:接通延时型TON、保持型(有记忆的)接通延时型TONR、断开延时型TOF。

定时器指令用来规定定时器的功能,表1-3所示为西门子S7-200系列PLC定时器指令,

1-3 定时器指令类别

978-7-111-59315-7-Chapter01-6.jpg

注:带“∗”的存储单元具有变址功能。

3条指令规定了三种不同功能的定时器。

西门子S7-200系列定时器使用的基本要素如下。

1.编号、类型及精度

S7-200系列PLC配置了256个定时器,编号为T0~T255。定时器有1ms、10ms、100ms三种精度,1ms的定时器有4个,10ms的定时器有16个,100ms的定时器有236个。编号和类型与精度有关。例如,编号是T2的精度是10ms,类型为有记忆的接通延时型。选用前应先查表1-4以确定合适的编号。从表1-4中可知,有记忆的定时器均是接通延时型,无记忆的定时器可根据需要选用接通延时或断开延时型,使用时还需注意,在一个程序中不能把一个定时器同时用作不同类型,如既有TON37又有TOF37。

1-4 定时器的精度及编号

978-7-111-59315-7-Chapter01-7.jpg

2.预置值(也叫设定值)

预置值即编程时设定的延时时间的长短,PLC定时器采用时基计数及与预置值比较的方式确定延时时间是否达到,时基计数值称为当前值,存储在当前值寄存器中,预置值在使用梯形图编程时,标在定时器功能框的PT端。

3.工作条件

工作条件也叫使能输入,从梯形图的角度看,定时器功能框中IN端连接的是定时器的工作条件。对于接通延时型定时器来说,有能流流到IN端时开始计时;对于断开延时型定时器来说,能流从有变到无时开始计时;对于无记忆的定时器来说,工作条件失去,如接通延时型定时器能流从有变到无时,无论定时器计时是否达到预置值,定时器均复位,前边的计时值清零;对于有记忆定时器来说,可累加分段的计时时间,这种定时器的复位就得靠复位指令。

4.工作对象

工作对象是指定时器的延时时间已到,利用定时器的触点控制的输出或工作过程。S7-200系列PLC定时器的工作过程可以描述如下:

接通延时定时器和有记忆的接通延时定时器在IN端接通,定时器的当前值大于等于PT端的预置值时,该定时器位被置位。当达到预设时间后,接通延时定时器和有记忆的接通延时定时器继续计时,后者的当前值可以分段累加,最大计时值都是32767。

断开延时定时器在使能输入IN接通时,定时器位立即接通,并把当前值设为0。当IN端断开时开始计时,达到预设值PT时,定时器位断开,并且停止当前值计数。当IN端断开的时间短于预置值时,定时器位保持接通。

5.S7-200的定时器的刷新方式

S7-200的定时器有3种不同的定时精度,即每种定时精度对应不同的时基脉冲。定时器计时的过程就是数时基脉冲的过程。然而,这3种不同定时精度的定时器的刷新方式是不同的,要正确使用定时器,首先要知道定时器的刷新方式,保证定时器在每个扫描周期都能刷新1次,并能执行1次定时器指令。

(1)1ms定时器的刷新方式

1ms定时器采用中断刷新的方式,系统每隔1ms刷新1次,与扫描周期即程序处理无关。当扫描周期较长时,1ms的定时器在1个扫描周期内将多次被刷新,其当前值在每个扫描周期内可能不一致。

(2)10ms定时器的刷新方式

10ms的定时器由系统在每个扫描周期开始时自动刷新,在每次程序处理阶段,定时器位和当前值在整个扫描过程中不变。在每个扫描周期开始时将一个扫描周期累计的时间加到定时器当前值上。例如,扫描周期是30ms的程序,这个定时器在IN端接通有效到本周期结束用时18ms,下个周期整个扫描过程中的当前值都是18ms,再下个周期就是48ms,再下个周期就是78ms,假设定时器的预置值是70ms,在这个周期,定时器的位就可起作用了,实际计时超过70ms。

(3)100ms定时器的刷新方式

100ms的定时器是在该定时器指令执行时被刷新。为了使定时器正确地定时,要确保每个扫描周期都能执行一次100ms定时器指令,程序的长短会影响定时的准确性。

下面介绍如何正确使用定时器。

在PLC的应用中,经常使用具有自复位功能的定时器,即利用定时器自己的动断触点去控制自己的线圈。在S7-200 PLC中,要使用具有自复位功能的定时器,必须考虑定时器的刷新方式。

图1-4a中,T96是1ms的定时器,只有正好在程序扫描到T96的动断触点到T96的动合触点之间当前值等于预置值时被刷新,进行状态位的转换,使T96的动合触点为ON,从而使M0.0能ON一个扫描周期,否则M0.0将总是OFF状态。正确解决这个问题的方法是采用图1-4b所示的编程方式。

978-7-111-59315-7-Chapter01-8.jpg

图1-4 1ms定时器的正确使用

图1-5a中,T33是10ms的定时器,而10ms的定时器是在扫描周期开始时被刷新的,由于T33的动断触点和动合触点的相互矛盾状态,使得M0.0永远为OFF状态。正确解决这个问题的方法是采用图1-5b所示的编程方式。

对于100ms的定时器,推荐采用图1-6b所示的编程方式。

下面为定时器应用举例:用定时器设计输出脉冲的周期和占空比可调的振荡电路(即闪烁电路)。

图1-7中,在I0.0处于OFF状态时,T37与T38也都处于OFF状态。当I0.0处于ON状态后,T37的IN输入端为1状态,T37开始定时。3s后定时时间到,T37的动合触点接通,使Q1.0变为ON,同时T38开始定时。5s后定时时间到,它的动断触点断开,使T37的IN输入端变为0状态,T37的动合触点断开,使Q1.0变为OFF,同时T38因为IN输入端变为0状态,它被复位。复位后其动断触点又接通,T37又开始计时,往后Q1.0的线圈就这样周期性地“通电”与“断电”,直到I0.0变为OFF,Q1.0线圈“通电”与“断电”的时间分别等于T38与T37的预置值。闪烁电路实际上是一个具有正反馈的振荡电路,T37与T38的输出信号通过它们的触点分别控制对方的线圈,形成了正反馈。另外,特殊继电器SM0.5是以触点形式供我们使用的,它可提供周期为1s,占空比为0.5的脉冲信号,此脉冲信号是不可调的,利用它也可以驱动需要闪烁的指示灯。

978-7-111-59315-7-Chapter01-9.jpg

图1-5 10ms定时器的正确使用

978-7-111-59315-7-Chapter01-10.jpg

图1-6 100ms定时器的正确使用

978-7-111-59315-7-Chapter01-11.jpg

图1-7 振荡电路梯形图及时序图