定时器与计数器指令
1、定时器指令
定时器是plc中的重要部件,它用于实现或监控时间序列。定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。S7-300/400提供了多种形式的定时器:脉冲定时器(SP)、扩展定时器(SE)、接通延时定时器(SD)、带保持的接通延时定时器(SS)和断电延时定时器(SF)。
1)定时器的组成
在CPU的存储器中的定时器区域用于存储定时器的定时时间值。每个定时器为2B,称为定时字。在S7-300中,定时器区为512 B,即多允许使用256个定时器。因为定时器区域的编址(以T开头后跟定时器号,只能按字访问)以及存储格式的特殊性,所以只有通过使用有关的定时器指令才能对该区域进行访问。
S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。定时时间到后会引起定时器触点的动作。
如图13所示,定时器的第0位到第11位存放二进制格式的定时值,这12位二进制代码表示的数值范围是0~4096,实际使用范围是0~999。第12、13位存放二进制格式的时基,二进制代码00、01、10、11(即值分别为0、1、2、3)分别表示分辨率为0.01 s、0.1 s、1 s、10 s的时基。时基和时间值可以任意组合,以得到不同的定时时间。图7-38中时基为0.1 s,定时值为127。
图13 定时器的组成
当定时器启动时,累加器1低字的内容被当作定时时间装入定时字中。这一过程是由操作系统控制自动完成的,用户只需给累加器1装入不同的数值,即可设置需要的定时时间。为累加器1装入数值的指令很多,但在累加器1低字中的数据应符合图12所示的格式。为避免格式错误,推荐采用下述直观的句法:
L W#16#wxyz
其中,w、x、y、z均为十进制数。w为时基,取值为0、1、2或3,分别表示时基为10 ms、100 ms、1 s或10 s,xyz为定时值,取值范围为1~999。
2)定时器的启动与运行
PLC中的定时器相当于时间继电器。在使用时间继电器时,要为其设置定时时间,当时间继电器的线圈通电后,时间继电器被启动。若定时时间到,继电器的触点动作。当时间继电器的线圈断电时,也将引起其触点的动作。该触点可以在控制线路中控制其它继电器。
S7中的定时器与时间继电器的工作特点相似,对定时器同样要设置定时时间,也要启动定时器(使定时器线圈通电)。除此之外,定时器还增加了一些功能,如随时复位定时器、随时重置定时时间(定时器再启动)、查看当前剩余定时时间等。
3)定时器梯形图方块指令
(1)脉冲定时器。如果RLO有正跳沿,则脉冲定时器启动指令,以给出的时间值启动指定的定时器。只要RLO为1,定时器就保持运行。在定时器运行时,其常开触点闭合,即对该定时器按1扫描的结果为1。当定时时间到,常开触点断开,对1信号的扫描结果为0。(http://www.diangon.com/版权所有)若在定时时间过去之前RLO由1变为0,则定时器被复位至启动前的状态,此时定时器的常开触点断开。脉冲定时器梯形图方块指令见表10。
表10 脉冲定时器梯形图方块指令
图14是使用脉冲定时器的梯形图编程例子,图中t为设定的时间值。