理论教育 定时器与计数器的典型应用及优化方案

定时器与计数器的典型应用及优化方案

时间:2023-06-17 理论教育 版权反馈
【摘要】:定时器、计数器与基本逻辑指令配合使用可以实现丰富的控制任务,下面列举一些典型示例,可以在大型程序中直接引用。本例旨在掌握定时器的常闭触点的应用。图3-37中定时器TIM0001的设定时间为5s,计数器CNT0002的计数设定值为360次,扫描周期可忽略不计,因此计算得到总定时时间为1800s,即0.00为ON 30min后,100.01产生输出。定时器与自锁电路配合的另一种用法见例3-21。

定时器与计数器的典型应用及优化方案

定时器、计数器与基本逻辑指令配合使用可以实现丰富的控制任务,下面列举一些典型示例,可以在大型程序中直接引用。

1.延时断开程序

【例3-14】 延时3s断开程序,如图3-35所示。

978-7-111-48236-9-Chapter03-72.jpg

图3-35 3s脉冲程序示例

指令说明:

当输入0.00为ON时,定时器TIM0000的定时当前值开始做递减操作,同时输出继电器100.05接通。经过3s后TIM0000产生输出,其常闭触点T0000断开,同时输出继电器100.05断开,从而在100.05上产生了一个3s的延时中断输出。

本例旨在掌握定时器的常闭触点的应用。

2.长时间定时程序

除采用长时间定时器(TIML/TIMLX)指令外,还可以通过编程实现长时间定时的功能。

【例3-15】 两个TIM指令组合构成30min定时程序,如图3-36所示。

978-7-111-48236-9-Chapter03-73.jpg

图3-36 30min定时程序示例1

指令说明:

当输入0.00为ON时,TIM0000定时15min产生输出,其常开触点T0000闭合使TIM0001开始定时,再定时15min后,TIM0001输出,其常开触点T0001闭合,输出继电器100.04导通。显然,输入0.00接通后,延时30min使100.04接通。

本例旨在推导出采用多个定时器“接力”的方式,可以产生大于999.9s的任意定时效果。

【例3-16】 TIM与CNT指令组合构成30min定时程序,如图3-37所示。

978-7-111-48236-9-Chapter03-74.jpg

图3-37 30min定时程序示例2

指令说明:

当启动开关0.00接通后,TIM0001每5s产生一个脉冲,于是CNT0002每隔5s计一个脉冲,公式为:定时时间=(定时器设定时间+扫描周期)×计数器设定值。图3-37中定时器TIM0001的设定时间为5s,计数器CNT0002的计数设定值为360次,扫描周期可忽略不计,因此计算得到总定时时间为1800s,即0.00为ON 30min后,100.01产生输出。由于CNT0002具有保持当前值的特性,所以必须将复位端0.01接通一次才能使CNT0002复位,从而可以重复计时使用。

本例旨在推导出采用“TIM+CNT”模式构成大于999.9s的任意定时效果。

【例3-17】 时钟脉冲与CNT指令组合构成30min定时程序,如图3-38所示。

978-7-111-48236-9-Chapter03-75.jpg

图3-38 30min定时程序示例3

指令说明:

只要程序一运行,时钟脉冲P_1s就会连续发出周期为1s、占空比是1:1的脉冲。接通起动开关0.00后,P_1s的上升沿使CNT0001计一个脉冲,间隔为1s,公式为:定时时间=时钟脉冲周期×计数器设定值。图3-38中选取1s的时钟脉冲,计数器CNT0001的计数设定值为1800次,则计算得到总定时时间约为1800s,即0.00为ON 30min后,100.02产生输出。由于CNT0001具有保持当前值的特性,所以必须将复位端0.01接通一次才能使CNT0001复位,从而可以重复计时使用。A200.11是上电第一周期置位标志,它的作用是将计数器CNT0001上电初始复位。

若定时过程中断电,这种“时钟脉冲+计数器”的定时器可以保持当前值,这是例3-15长时间定时器所无法实现的。(www.daowen.com)

本例旨在推导出采用“时钟脉冲+CNT”模式构成大于999.9s的任意定时效果,而且这种定时器能够保持定时的当前值。

3.扩展计数程序

【例3-18】 计数值为40000次的扩展计数器,如图3-39所示。

978-7-111-48236-9-Chapter03-76.jpg

图3-39 40000次扩展计数示例

指令说明:

输入0.00是脉冲信号,CNT0001每次计数到200,就使CNT0002计数一次,当CNT0002计数到200次时,CNT0001已经计数200×200次,即40000次使100.06产生输出。

本例旨在推导出采用多个计数器“接力”的方式,可以产生大于9999次的任意计数效果。

4.循环定时程序

【例3-19】 双稳态程序,如图3-40所示。

978-7-111-48236-9-Chapter03-77.jpg

图3-40 双稳态循环定时程序示例

指令说明:

双稳态程序可以实现任意占空比的循环连续输出。从图3-40中100.00的时序可以看出循环周期为3s,为实现循环将设定值为3s的定时器TIM0002的常闭触点T0002串在TIM0001与TIM0002的输入条件中,当TIM0002到时输出,T0002将在下一个扫描周期置为ON,使TIM0001与TIM0002同时复位,因而T0002将在下一个扫描周期再被置为OFF,从而使TIM0001与TIM0002的输入条件同时满足,于是二者又开始新一次周期的定时功能。分析扫描过程可以发现TIM0001与TIM0002仅复位了一个扫描周期后就恢复了。

本例旨在推导出循环定时的编程模式,即将循环周期的最终定时器的常闭触点串在周期内各个定时器及自身的执行条件上,以便实现周期到时将所有定时器复位一个扫描周期后重新开始新一个周期,特别适合于循环定时控制的场合,如交通信号灯控制程序等。

5.定时器与自锁电路配合的程序

【例3-20】 延时断开程序,如图3-41所示。

978-7-111-48236-9-Chapter03-78.jpg

图3-41 延时断开程序示例

指令说明:

从时序图可以分析出输入0.00是100.03的起动信号,而TIM0000的到时标志T0000是100.03的复位信号,因此100.03采用自锁电路的形式,当0.00为OFF且100.03为ON时,TIM0000的执行条件满足开始定时。

定时器与自锁电路配合的另一种用法见例3-21。

【例3-21】 单稳态程序,如图3-42所示。

978-7-111-48236-9-Chapter03-79.jpg

图3-42 单稳态程序示例

输入0.00接通时,工作位W20.00为ON并由其常开触点自锁,同时使TIM0000开始定时4s,100.02产生输出。当4s到时,常闭触点T0000断开,100.02复位。

分析梯形图可以发现无论0.00导通时间长短,100.02的输出时间都是固定的,由定时器设定,因此称为“单稳态电路”。

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

我要反馈