首页 历史故事使用定时器控制器实现延迟启动 – S7-1200 PLC定时器操作解析

使用定时器控制器实现延迟启动 – S7-1200 PLC定时器操作解析

【摘要】:S7-1200 PLC提供了4种类型的定时器,如表5-2所示。只要输入端IN=1,定时器就一直起作用。I0.0为高时,开始测量时间,I0.0为低时,中断时间的测量,而当I0.0重新为高时继续测量,可知本项目需要使用保持型接通延迟定时器。当“IN”端由“1”变为“0”时,定时器启动开始加定时。当定时时间到达预设值时,定时器停止计时保持当前值。图5-20a中,“%DB1”表示定时器的背景数据块,TP表示为脉冲定时器,由图5-20b可得到其工作原理如下。

S7-1200 PLC提供了4种类型的定时器,如表5-2所示。

表5-2 S7-1200的定时器

978-7-111-34922-8-Chapter05-14.jpg

使用S7-1200的定时器时需要注意的是,每个定时器都使用一个存储在数据块中的结构来保存定时器数据,即3.3.5节所述系统数据类型。在程序编辑器中放置定时器指令时即可分配该数据块,可以采用默认设置,也可以手动自行设置。在功能块中放置定时器指令后,可以选择多重背景数据块选项,各数据结构的定时器结构名称可以不同。

1.接通延迟定时器

接通延迟定时器如图5-13a所示,图5-13b为其时序图。图5-13a中,“%DB1”表示定时器的背景数据块(此处只显示了绝对地址,因此背景数据块地址显示为“%DB1”,也可设置显示符号地址),TON表示为接通延迟定时器,由图5-13b可得到其工作原理如下。

978-7-111-34922-8-Chapter05-15.jpg

图5-13 接通延迟定时器及其时序图

a)接通延迟定时器 b)时序图

启动:当定时器的输入端“IN”由“0”变为“1”时,定时器启动进行由0开始的加定时,到达预设值后,定时器停止计时且保持为预设值。只要输入端IN=1,定时器就一直起作用。

预设值:在输入端“PT”输入格式如“T#5S”的定时时间,表示定时时间为5 s。TIME数据使用T#标识符,可以采用简单时间单元“T#200 ms”或复合时间单元“T#2s_200ms”的形式输入。

定时器的当前计时时间值可以在输出端“ET”输出。预设值时间PT和计时时间ET以表示毫秒时间的有符号双精度整数形式存储在存储器中。定时器的当前值不为负,若设置预设值为负,则定时器指令执行时将被设置为0。

输出:当定时器定时时间到,没有错误且输入端S=1时,输出端“Q”置位变为“1”。

如果在定时时间到达前输入端“S”从“1”变为“0”,则定时器停止运行,当前计时值为0,此时输出端Q=0。若输入端“S”又从“0”变为“1”,则定时器重新由0开始加定时。

打开定时器的背景数据块,可以看到其结构含义如图5-14所示,其他定时器的背景数据块也是类似,不再赘述。

978-7-111-34922-8-Chapter05-16.jpg

图5-14 定时器的背景数据块结构

【例5-4】按下瞬时起动按钮I0.0,延时5 s后电动机Q4.0起动,按下瞬时停止按钮,延时10 s后电动机Q4.0停止。

由于为瞬时按钮,而接通延迟定时器要求输入端S一直为高电平,故采用位存储区M作为中间变量,编写程序如图5-15所示。

注意:起动电动机后要将中间变量M复位。

978-7-111-34922-8-Chapter05-17.jpg

图5-15 例5-4程序

【例5-5】用接通延迟定时器实现一个周期振荡电路,如图5-16所示。

978-7-111-34922-8-Chapter05-18.jpg

图5-16 周期振荡电路

由图5-16可知,当CPU运行时,第二个定时器(T2)未启动,则其输出M0.1对应的常闭触点接通,第一个定时器(T1)开始定时,当T1定时未到时,T2无法启动,Q0.0为0。当T1定时时间到,则其输出M0.0对应的常开触点闭合,T2启动,Q0.0为1,此时T2定时未到,其常闭触点仍然接通,故T1保持。当T2定时到,其常闭触点断开,T1停止定时,其常开触点断开,Q0.0为0,T2停止定时,则其常闭触点接通,则T1重新启动,重复。

2.保持型接通延迟定时器

保持型接通延迟定时器如图5-17a所示,图5-17b为其时序图。图5-17a中,“%DB3”表示定时器的背景数据块,TONR表示为保持型接通延迟定时器,由图5-17b可得到其工作原理如下。

启动:当定时器的输入端“IN”从“0”变为“1”时,定时器启动开始加定时,当“IN”端变为0时,定时器停止工作保持当前计时值。当定时器的输入端“IN”又从“0”变为“1”时,定时器继续计时,当前值继续增加。如此重复,直到定时器当前值达到预设值时,定时器停止计时。

复位:当复位输入端“R”为1时,无论“IN”端如何,都清除定时器中的当前定时值,而且输出端Q复位。

输出:当定时器计时时间到达预设值时,输出端“Q”变为“1”。

保持型接通延迟定时器用于累计定时时间的场合,如记录一台设备(制动器、开关等)运行的时间。当设备运行时,输入I0.0为高电平,当设备不工作时I0.0为低电平。I0.0为高时,开始测量时间,I0.0为低时,中断时间的测量,而当I0.0重新为高时继续测量,可知本项目需要使用保持型接通延迟定时器。程序例子如图5-18所示,累计的时间以毫秒为单位存储在MD24中,此处的定时时间不需要,故设为较大的数值2000天。

978-7-111-34922-8-Chapter05-19.jpg

图5-17 保持型接通延迟定时器及其时序图

a)保持型接通延迟定时器 b)时序图

978-7-111-34922-8-Chapter05-20.jpg

图5-18 程序例子

3.关断延迟定时器

断开延迟定时器如图5-19a所示,图5-19b为其时序图。图5-19a中,“%DB4”表示定时器的背景数据块,TOF表示为关断延迟定时器,由图5-19b可得到其工作原理如下。

启动:当定时器的输入端“IN”从“0”变为“1”时,定时器尚未开始定时且当前定时值清零。当“IN”端由“1”变为“0”时,定时器启动开始加定时。当定时时间到达预设值时,定时器停止计时保持当前值。

输出:当输入端“IN”从“0”变为“1”时,输出端Q=1,如果输入端又变为“0”,则输出端Q继续保持“1”,直到到达预设值时间。

978-7-111-34922-8-Chapter05-21.jpg

图5-19 关断延迟定时器及其时序图

a)关断延迟定时器 b)时序图

4.脉冲定时器

脉冲定时器如图5-20a所示,图5-20b为其时序图。图5-20a中,“%DB1”表示定时器的背景数据块,TP表示为脉冲定时器,由图5-20b可得到其工作原理如下。

978-7-111-34922-8-Chapter05-22.jpg

图5-20 脉冲定时器及其时序图

a)脉冲定时器 b)时序图

启动:当输入端“IN”从“0”变为“1”时,定时器启动,此时输出端“Q”也置为“1”。在脉冲定时器定时过程中,即使输入端“IN”发生了变化,定时器也不受影响,直到到达预设值时间。到达预设值后,如果输入端“IN”为“1”,则定时器停止定时且保持当前定时值。若输入端“IN”为“0”,则定时器定时时间清零。

输出:在定时器定时时间过程中,输出端“Q”为“1”,定时器停止定时,不论是保持当前值还是清零当前值其输出皆为0。

【例5-6】用脉冲定时器实现一个周期振荡电路,如图5-21所示。

978-7-111-34922-8-Chapter05-23.jpg

图5-21 周期振荡电路

由图5-21可知,当CPU运行时,定时器T2未启动,其常闭触点接通,定时器T1开始定时,则其常闭触点断开,T2无法启动,输出Q4.0为0。当T1定时到,其常闭触点接通,则T2启动,其常闭触点断开,T1停止,其常闭触点接通,T2一直运行。当T2定时到,其常闭触点接通,T1启动,重复上述过程。

5.复位定时器

S7-1200有专门的定时器复位指令RT,如图5-22所示,“%DB2”为定时器的背景数据块,其功能为通过清除存储在指定定时器背景数据块中的时间数据来重置定时器。

978-7-111-34922-8-Chapter05-24.jpg

图5-22 复位定时器指令