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

定时器和计数器指令详解

时间:2023-06-29 理论教育 版权反馈
【摘要】:S7-1200采用IEC标准的定时器和计数器指令。定时器指令可以放在程序段的中间或结束处。如果没有必要,不用对定时器使用RT指令。图3.15的I0.1为1时,定时器复位线圈RT通电。

定时器和计数器指令详解

S7-1200采用IEC标准的定时器和计数器指令。

3.2.3.1 定时器指令

1.定时器指令的基本功能

S7-1200有4种定时器,如图3.8所示为其基本功能。

(1)脉冲定时器(TP):在输入信号IN的上升沿产生一个预置宽度的脉冲,闭合中的t为定时器的预置值。

(2)接通延时定时器(TON):输入IN变为l状态后,经过预置的延迟时间,定时器的输出Q变为l状态。输入IN变为0状态时,输出Q变为0状态。

(3)断开延时定时器(TOF):输入IN为1状态时,输出Q为1状态。输入IN变为0状态后,经过预置的延迟时间,输出Q变为0状态。

(4)保持型接通延时定时器(TONR):输入IN变为l状态后,经过预置的延迟时间,定时器的输出Q变为1状态。输入IN的脉冲宽度可以小于时间预置值。

图3.8 定时器的基本功能

定时器的输入IN为启动定时的使能输入端,IN从0状态变为1状态时,启动TP、TON和TONR开始定时。IN从1状态变为0状态时,启动TOF开始定时。

PT(Preset Time)为时间预置值,ET(Elapsed Time)为定时开始后经过的时间,或称为已耗时间值,它们的数据类型为 32 位的 Time,单位为 ms,最大定时时间长选T#24D_20H_31M_23S_647MS(D、H、M、S、MS分别是日、小时、分、秒和毫秒)。可以不给输出ET指定地址

Q为定时器的位输出,各变量均可以使用I(仅用于输入变量)、Q、M、D、L存储区。

2.脉冲定时器

IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据保存在背景数据块中。在梯形图中输入定时器指令时,打开右边的指令窗口,将“定时器操作”文件夹中的定时器指令拖放到梯形图适当的位置。在出现的“调用选项”对话框中(见图3.9),可以修改将要生成的背景数据块的名称,或采用默认的名称。点击“确认”按钮,自动生成数据块。

图3.9 调用选项对话框

脉冲定时器类似于数字电路中上升沿触发的单稳态电路。在IN输入信号的上升沿,Q输出变为l状态,开始输出脉冲。达到PT预置的时间时,Q输出变为0状态(见图3.10的波形A、B、E)。IN输入的脉冲宽度可以小于Q端输出的脉冲宽度。在脉冲输出期间,即使IN输入又出现上升沿(见波形B),也不会影响脉冲的输出。

图3.10 脉冲定时器的波形图

用程序状态功能可以观察已耗时间的变化情况(见图3.11)。定时开始后,已耗时间从0 ms开始不断增大,达到PT预置的时间时,如果IN为l状态,则已耗时间值保持不变(见图3.10波形A)。如果IN为0状态,则定时时间变为0 s(见图3.10波形B)。

定时器指令可以放在程序段的中间或结束处。IEC定时器没有编号,在使用对定时器复位的RT指令时,可以用背景数据块的编号或符号名来指定需要复位的定时器。如果没有必要,不用对定时器使用RT指令。

图3.11 脉冲定时器的程序状态

在图3.11中,当I0.1为1时,定时器复位线圈(RT)通电,定时器被复位。如果此时正在定时,且IN输入为0状态,将使已耗时间清零,Q输出也变为0状态(见波形C)。如果此时正在定时,且IN输入为1状态,将使已耗时间清零,但是Q输出保持l状态(见波形D)。复位信号I0.1变为0状态时,如果 IN输入为l状态,将重新开始定时(见波形E)。

3.接通延时定时器

接通延时定时器(TON)的使能输入端的输入电路由断开变为接通时开始定时。定时时间大于等于预置时间(PT)指定的设定值时,输出Q变为l状态,已耗时间值(ET)保持不变(见图3.12波形A)。

图3.12 接通延时定时器的波形图

IN输入端的电路断开时,定时器被复位,已耗时间被清零,输出Q变为0状态。CPU第一次扫描时,定时器输出Q被清零。如果输入IN在未达刭PT设定的时间时变为0状态(见图3.12波形B),输出Q保持0状态不变。

图3.13中的I0.1为1状态时,定时器复位线圈RT通电(见图3.12波形C),定时器被复位,已耗时间被清零,Q输出端变为0状态。I0.1变为0状态时,如果 IN输入为l状态,将开始重新定时(见图3.12波形D)。

图3.13 接通延时定时器

4.断开延时定时器指令

断开延时定时器(TOF)的IN输入电路接通时,输出Q为l状态,当前值被清零。输入电路由接通变为断开时(IN输入的下降沿)开始定时,当前值从0逐渐增大。当前值大于等于设定值时,输出Q变为0状态,当前值保持不变(见图3.14波形A),直到IN输入电路接通。断开延时定时器可以用于设备停机后的延时,如大型变频电动机的冷却风扇的延时。

图3.14 断开延时定时器的波形图

如果定时时间未达到PT设定的值,IN输入就变为l状态,输出Q将保持1状态不变(见图3.14波形B)。

图3.15的I0.1为1时,定时器复位线圈RT通电。如果IN输入为0状态,则定时器被复位,定时时间被清零,输出Q变为0状态(见图3.14波形C)。如果复位时IN输入为1状态,则复位信号不起作用(见图3.14波形D)。

图3.15 断开延时定时器

5.保持型接通延时定时器(www.xing528.com)

保持型接通延时定时器(TONR,见图3.16)的IN输入电路接通时开始定时(见图3.17波形A和B)。输入电路断开时,当前值保持不变。可以用TONR来累计输入电路接通的若干个时间间隔。时间间隔t1+t2=10 s时,定时器的输出Q变为l状态(见图3.17波形D)。

图3.16 保持型接通延时定时器

图3.17 保持型接通延时定时器的波形图

复位输入I0.1为l状态时(见图3.17波形C),TONR被复位,它的当前值变为0,同时输出Q变为0状态。

3.2.3.2 计数器指令

1.计数器的数据类型

S7-1200有3种计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。如果需要速度更高的计数器,可以使CPU内置的高速计数器。

调用计数器指令时,需要生成保存计数器数据的背景数据块。

CU和CD分别是加计数输入和减计数输入,在CU或CD由0状态变为1状态(信号的上升沿),实际计数当前值CV被加1或减1。

复位输入R为l状态时,计数器被复位。CV被清0,计数器的输出Q变为0状态。CU、CD、R和Q均为Bool变量。

将指令列表的“计算器操作”文件夹中的CTU指令拖放到工作区后,点击方框中CTU下面的3个问号[见图3.18(a)]再点击问号右边出现的▼按钮,用下拉式列表设置PV和CV的数据类型。

PV为预置的计数值.CV为实际的计数值,它们可以使用的数据类型[见图3.19(b)]。各变量均可使用I(使用于输入变量)、Q、M、D和L存储区。

图3.18 设置计数器的数据类型

2.加计数器

当接在R输入端的复位输入I0.1为0状态(见图3.19),接在CU输入端的加计数脉冲输入电路由断开变为接通时(即在CU信号的上升沿),实际计数值CV加1,直到CV达到指定的数据类型的上限值。达到上限值后,CU输入的状态变化不再起作用,CV的值不再增加。

当实际计数值CV大于等于设定值PV时,输出Q为1状态,反之为0状态。第一次执行指令时,CV被清零。

各类计数器的复位输入R为l状态时,计数器被复位,输出Q变为0状态,CV被清零。如图3.20所示为加计数器的波形图。

图3.19 加计数器

图3.20 加计数器的波形图

3.减计数器

当减计数器的装载输入LD为1状态时,输出Q被复位为0,并把预置计数值PV的值装入CV。在减计数脉冲CD的上升沿(从OFF到ON),实际计数前值CV减l,直到CV达到指定的数据类型的下限值。当达到下限值时,CD输入的状态变化不再起作用,CV的值不再减少。

当实际计数值CV小于等于0时,输出Q为l状态(见图3.21),反之Q为0状态。第一次执行指令时,CV被清零。如图3.22所示为减计数器的波形图。

图3.21 减计数器

图3.22 减计数器的波形图

4.加减计数器

在加计数输入CV的上升沿,实际计数值CV加1,直到CV达到指定的数据类型的上限值。达到上限值时,CV的值不再增加。

在减计数脉冲CD的上升沿,实际计数值CV减1,直到CV达到指定的数据类型的下限值。达到下限值时,CV的值不再减小。

如果同时出现计数脉冲CU和CD的上升沿,CV保持不变。当CV大于等于预置计数值PV时,输出QU为1(见图3.23),反之为0。当CV小于等于0时,输出QD为1,反之为0。

当装载输入LD为l状态时,预置值PV被装入实际值CV,输出QU变为1状态,QD被复位为0状态。

当复位输入R为l状态时,计数器被复位。当实际计数值被清零时,输出QU变为0状态,QD变为l状态。

当R为l状态时,CU、CD和LD不再起作用。如图3.24所示为加减计数器的波形图。

图3.23 加减计数器

图3.24 加减计数器波形图

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

我要反馈