首页 理论教育 定时和计数指令详解

定时和计数指令详解

时间:2023-06-16 理论教育 版权反馈
【摘要】:定时与计数指令本质上也是一种逻辑输出指令。图1-34 定时器程序欧姆龙定时指令有普通、高速、高高速定时指令多种。普通定时指令的设定值的设定单位为0.1s。复位作用期间,定时器的现值变为0,标志值OFF,停止计时。2)累计定时指令:用以累计计时。S7-200也有可累积计时的定时指令。

定时和计数指令详解

定时与计数指令本质上也是一种逻辑输出指令。只是它是延时实现,或达到要求的计数值后实现。所以,有的PLC,如三菱公司PLC,起用定时器、计数器就是用输出(OUT)指令,只是其操作数用定时器、计数器,并在使用它时同时对定时值、计数值也作设定。

1.常用定时指令

图1-34为三菱PLC调用定时器梯形图程序。

从图知,当X000 ON,T0线圈工作,经延时5s(该定时器计时单位为0.1s),T0的常开触点ON,可使Y000 ON。也就是说,从X000ON到Y000ON是有延时的。这里延时时间由定时器T0控制。

978-7-111-56641-0-Chapter02-41.jpg

图1-34 定时器程序

欧姆龙定时指令有普通(TIM,时间间隔100ms)、高速(TIMH,时间间隔10ms)、高高速(TIMHH,时间间隔1ms)定时指令多种。在这指令之前,当然要对寄存R赋值,即写R,建立条件,或说连一个输入端。

指令在梯形图上的符号是方框或圆圈,图1-35所示。

这里的×××为指定定时器的编号及设定值。

普通定时指令的设定值的设定单位为0.1s。设定值、现值都用BCD码表达。最大设定值可达9999,即999.9s。

如用高速定时指令的设定值的设定单位为0.01s。设定值、现值都用BCD码表达。最大设定值可达9999,即99.99s。用高高速定时指令则设定值的设定单位为0.001s。设定值、现值都用BCD码表达。最大设定值可达9999,即9.999s。

978-7-111-56641-0-Chapter02-42.jpg

图1-35 欧姆龙定时指令

欧姆龙CJ1H机还有TIMX指令。其功能与TIM相同,只是它是按十六进制计时。

提示:虽然这种PLC同时有TIM及TIMX指令,但在编程前要用编程软件,在PLC属性栏中,先作选择,而且,只能选用其中的一种。默认选定为TIM。其它带“X”的指令也都有此情况。

西门子PLC的定时器为增计数,如S7-200,用定时器33时,为每100ms增一个数,直到定时器的现值等于或大于设定值,则产生输出。在输出的同时,计时还在继续,直到达最大值。如图1-36所示,当I2.0ON,T33开始计数,每100ms加1。到了其值等于3(这里设定值设为3),则T33标志位ON,且其现值还在增加。一旦I2.0OFF,则计数停止,T33现值回到0,T33标志位OFF。

978-7-111-56641-0-Chapter02-43.jpg

图1-36 S7-200ON延时定时器使用例子

S7-200除了有ON延时、OFF即时,还有OFF延时、ON即时的定时器。图1-37给出了它的工作情况。

978-7-111-56641-0-Chapter02-44.jpg

图1-37 S7-200OFF延时定时器使用例子

S7-200定时器都可用以上介绍的复位指令(R)复位。复位作用期间,定时器的现值变为0,标志值OFF,停止计时。

2.其它定时指令

1)高速定时指令(TIMH、TIMHH,西门子、三菱用不同编号的定时器实现),用其可实现10、1ms为单位的定时。

2)累计定时指令(TTIM):用以累计计时。它是增计时,计时单位为0.1s。输入端ON时计时,OFF不计时,但不复位。再ON,再计,并累计计时,直到达到设定值,计时停止,并产生输出。计时复位使用复位端ON。

CJ1也还有与TTIM对应的TTIMX指令,所不同的也只是它是按十六进制数计时。

S7-200也有可累积计时的定时指令。如图1-38所示,12.1ON时计时,OFF停止,累计到设定值,产生输出。

978-7-111-56641-0-Chapter02-45.jpg

图1-38 S7-200可累积计时定时指令使用

3)8位计时指令(TIML):CV1000机开始有此指令,是普通定时指令的加长,设定值可达8位,即99999999。计时值可达115天。

与TIML对应的TIMLX指令,所不同的也只是它是按十六进制数计时。它最多可计49710天。

4)多输出计时指令(MTIM):CV1000机开始有此指令,可产生8个输出。这8个输出相应于8个设定值。计时时,计时是增计数,现值不断增大,与某一设定值相比,大或等于后者时,即产生相应输出。

这个定时指令,一个相当于多个,扩大了定时器的功能。

与MTIM对应的MTIMX指令,也是用十六进制计时。

3.西门子S7-300、400 PLC定时指令

有5种,可表达为S5系列格式(称S5TIMER)或S7系列格式。分别是:SP(PulseTimer)、SE(ExtendedPulseTimer)、SD(ONDelayTimer)、SS(RetentiveON-DelayTimer)、SF(OFF-DelayTimer)。

定时器现值寄存器的内容如图1-39所示。

978-7-111-56641-0-Chapter02-46.jpg

图1-39 S7-300定时器现值寄存器

表1-6示出不同时基的编号及最大可能设定的定时值。

1-6 不同时基的编号及最大可能设定的定时值

978-7-111-56641-0-Chapter02-47.jpg

定时值要预设。其格式有如下两种:

W#16#wxyz:这里W为时基,wxyz为相应的定时值,BCD码。

S5T#aH_bM_cS_dMS:这里S5T表示为S5格式,a、b、c、d为相应的定时值的时、分、秒、毫秒。选定后,其时基系统会自行确定。

这5种定时器的有关工作情况见有关使用说明,这里略。

4.有关定时器使用有关问题

1)欧姆龙及三菱PLC的定时指令虽只有延时ON一种,但完全可用这个指令与相应的基本逻辑指令组合,以实现这里的其它4种指令的功能。图1-40所示为ON及时,而OFF延时的程序。其它的程序略。

978-7-111-56641-0-Chapter02-48.jpg

图1-40 ON及时OFF延时定时程序

运行图1-40程序,对欧姆龙PLC而言,这里的200.00即为ON及时OFF延时的定时器。对三菱PLC而言,这里的M0即为ON及时OFF延时的定时器。

2)用定时器产生定时脉冲(仅ON一扫描周期)信号。最简单的办法是用定时器自身的常闭触点去控制自身线圈,用它的常开触点去产生脉冲。如图1-41所示,这里T33的常闭触点控制T33定时器,当定时间1到,定时器T33产生输出,T33常开触点ON,而T33常闭触点OFF。后者将在下次执行此程序时,使定时器T33停止工作。这将使定时器T33停止输出:其常开触点ON一个扫描周期后,又转为OFF;而常闭触点OFF一个扫描周期后又转为ON,又可开始新的计时。如此周而复始,T33常开触点将不断产生定时脉冲。

要指出的是,对S7-200机的10ms级的定时器,可能是系统的原因,用此法是受限制的。如图所示,只能在本梯级前的梯级,如图中梯级1,能产生脉冲,而本梯级后,如梯级3,不能产生脉冲。其它两家PLC及S7-200其它级别的定时器无此问题。

5.常用计数指令(www.xing528.com)

(1)三菱PLC计数器

图1-42所示为三菱PLC调用计数器梯形图程序。

978-7-111-56641-0-Chapter02-49.jpg

图1-41 用定时器产生定时脉冲

978-7-111-56641-0-Chapter02-50.jpg

图1-42 计数器程序

从图1-42知,当X001从OFF到ON,则计数器C0线圈工作,计1个数,当C0计到3,则C0的常开触点ON,可使Y003 ON。也就是说,X001从OFF到ON3次,Y003工作。这里计数设定值K3(即时数)也可为直接或间接地址

它的计数器复位使用复位指令。如上例即使用RSTC0。而且,实现技术的前提是不执行这个指令。

三菱的定时器、计数器按十六进制工作,故K值最大可设为65535(十六进制FFFF)。

(2)欧姆龙PLC计数器

它实现减计数。有两个输入端,一为计数端,二为复位端。欧姆龙的指令的梯形图格式如图1-43所示。

它的工作情况是:复位端(R)的逻辑条件为ON,停止计数,现值复位为设定值。复位端OFF,允许计数。这种情况下,当计数端(C)的逻辑条件从OFF到ON时,在该扫描周期,计数器的现值减1。其它情况下,现值不变。当现值减为0时,产生输出,且现值保持为0。

CJ1H还有CNTX指令,所不同的它用十六进制计数。所以,它的计数范围可扩大到65535。

978-7-111-56641-0-Chapter02-51.jpg

图1-43 欧姆龙计数器指令

(3)西门子PLC计数器

图1-44a所示为使用西门子增计数器指令程序。

978-7-111-56641-0-Chapter02-52.jpg

图1-44 使用西门子增、减计数器指令程序

图1-44a中CU为增计数端,R为复位端,PV设定值输入端,C0为计数器标号。当I0.1ON,计数器复位(现值为0),停止计数,输出OFF。当I0.1OFF,每I0.0从OFF到ON一次计数器作增1计数。计数器现值大于或等于设定值,计数器输出C0ON,且继续计数,直到32767这个可能的最大值。当计到48或大于48,则C0ON,Q0.0工作。

西门子还有减计数器(CTD)。图1-44b所示为使用西门子PLC减计数器指令程序。这里,CD为增计数端,LD为装载端,PV设定值输入端,C1为计数器标号。当I1.2ON,计数器装载(现值为100),停止计数,输出OFF。当I1.2OFF,每I0.2从OFF到ON一次计数器作减1计数。计数器现值等于0,计数器产生输出(C0ON),且计数停止。

6.可逆计数器

可进行双向计数。

(1)三菱可逆计数器是双字的

也是用输出指令调用。计数的方向由相应的特殊继电器状态决定。其计数范围为-2147483648~2147483647,并在此范围内循环计数。即增到最大值时,如再增一个数,则当前值变为最小值。反之,也类似。表1-7为FX2N机的这些计数器及相应的方向切换特殊继电器。

1-7 FX2N机可逆计数器所使用的特殊继电器

978-7-111-56641-0-Chapter02-53.jpg

图1-45所示为使用三菱可逆计数器的梯形图程序。

图1-45中,C200为可逆计数器;M8200为其方向切换特殊继电器;M8200OFF,C200增计数,ON,减计数。当X005OFF,C200接收X004的增计数;当X005ON,C200接收X006的减计数。而当X007ON计数器复位,现值等于0,计数及输出都停止。

978-7-111-56641-0-Chapter02-54.jpg

图1-45 三菱可逆计数器程序

978-7-111-56641-0-Chapter02-55.jpg

图1-46 可逆计数器产生输出简图

图1-46所示为该计数器产生输出的情况,只要当前值从小与设定增加,到大于或等于设定值,计数器即产生输出。反之,或计数器复位,则停止输出。

(2)欧姆龙可逆计数其指令为CNTR

除了有复位端,还有两个计数端,一个为正计数端(U),一个为减计数端(D)。西门子为CTUD,还有个设定值输入端。其梯形图格式如图1-47所示。

其工作情况是,初始状态或复位端ON时,现值为0,不计数。复位端OFF,允许计数。正端从OFF到ON,正计数,计数现值加1;负端从OFF到ON,减计数,计数现值减1。具体计数情况如图1-48所示。

978-7-111-56641-0-Chapter02-56.jpg

图1-47 欧姆龙和西门子的计数指令

978-7-111-56641-0-Chapter02-57.jpg

图1-48 可逆计数示意图

当增计数到设定值时,再增1计数,则现值变为0,且产生输出,使计数完成标志位ON,如图1-49所示。

当减计数到现值为0时,再减1计数,则现值变为设定值,也产生输出,使计数完成标志位ON,如图1-50所示。

978-7-111-56641-0-Chapter02-58.jpg

图1-49 增计数达到设定值时再增计1计数

978-7-111-56641-0-Chapter02-59.jpg

图1-50 减计数减到0,再减1计数

978-7-111-56641-0-Chapter02-60.jpg

图1-51 西门子可逆计数器及其工作情况

CJ1H还有CNTRX指令,与CNTR不同的是,它用十六进制,而不是用BCD码计数。所以,它的计数范围可扩大到65535。

(3)西门子PLC可逆计数器

图1-51a为使用西门子可逆计数器的梯形图程序。它是16位(bit)可逆计数,在-32768~32767之间循环计数。当计数值大或等于设定值(PV)时,计数器输出常开点ON,并继续计数。图1-51b所示的执行该程序的实际计数及输出情况。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈