首页 理论教育 定时器指令及应用类型详解

定时器指令及应用类型详解

时间:2023-06-17 理论教育 版权反馈
【摘要】:定时器指令见表6-26。定时器指令中包括5种类型的定时器,对于定时应用必须选择合适的类型,不同类型的定时器实现的功能如图6-23所示。定时器定时期间,输入信号从0变1将再次触发定时器重新开始定时,定时器输出保持为1直到定时器定时停止。图6-26 S_ODT定时器时序图4.S_ODTS保持型接通延时定时器,输入信号为1时,触发定时器开始定时,在设定的延时时间以后触发定时器输出为1,与输入信号为1的时间长短无关。

定时器指令及应用类型详解

在CPU的系统存储器中,为定时器保留有存储区,每一定时器占用一个16位的字。具体能够使用定时器的个数由具体的CPU类型决定。定时器指令见表6-26。

6-26 定时器指令

978-7-111-28718-6-Chapter06-92.jpg

在LAD编程语言中,对定时器的操作指令分为定时器指令,如S_PULSE(脉冲定时器)和定时器线圈指令,如-(SP)(脉冲定时器输出),定时器指令为一个指令块,包含触发条件、定时器复位、预置值等与定时器所有相关的条件参数,定时器线圈指令将与定时器相关的条件参数分开使用,可以在不同的程序段中对定时器参数进行赋值和读取;使用STL编程语言,定时器指令与LAD中的定时器线圈指令使用方式相同,除此之外,FR指令可以重新启动定时器,例如设定定时器初值需要一个沿触发信号,如果触发信号常为1,不能再次触发设定指令,使用FR指令,可以清除定时器的沿存储器,常1的触发信号可以再次产生沿信号并触发定时器重新开始定时,FR指令在实际编程中很少使用;L指令以整数的格式将定时器的定时剩余值写入到累加器1中,LC指令以BCD码的格式将定时器的定时剩余值和时基一同写入到累加器1中;使用普通复位指令R可以将定时器复位(禁止启动)。

在前面的章节中已经介绍了定时器的数据类型,定时器使用的时间值为BCD码,给定时器赋值可以带有时基格式,例如W#16#TXYZ,T为时基值,XYZ为时间值(BCD码),总的定时时间为T∗XYZ,一个字的12位、13位(T的最低两位)组合选择时基值,00表示时基为10ms,01表示时基为100ms,10表示时基为1s,11表示时基为10s,如W#16#1234转换时间值为100∗234ms=23s400ms;定时器赋值也可以直接输入时间常数,格式为S5T#aH_bM_cS_dMS,a为小时值,b为分钟值,c为秒值,d为毫秒值,如S5T#23s400ms,时基根据输入的时间长短自动选择,例如10ms到9s_990ms的分辨率为10ms(时基为10ms,时间的最小变化为10ms),1s到16m_39s的分辨率为1s(时基为1s,时间的最小变化为1s)。

定时器指令中包括5种类型的定时器,对于定时应用必须选择合适的类型,不同类型的定时器实现的功能如图6-23所示。

978-7-111-28718-6-Chapter06-93.jpg

图6-23 定时器的类型

1.S_PULSE

脉冲定时器,输入信号变为1时,触发定时器开始定时,并输出为1,输出信号保持为1的时间为设定的定时时间t,如果输入信号在设定的定时时间内变为0,则定时器输出为0,与定时时间长短无关。S_PULSE定时器的时序如图6-24所示。

978-7-111-28718-6-Chapter06-94.jpg

图6-24 S_PULSE定时器时序图

2.S_PEXT

扩展脉冲定时器,输入信号变为1时,触发定时器开始定时并输出为1,输出信号保持为1的时间为设定的定时时间t,与输入信号为1的时间长短无关。定时器定时期间,输入信号从0变1将再次触发定时器重新开始定时,定时器输出保持为1直到定时器定时停止。S_PEXT定时器的时序如图6-25所示。

978-7-111-28718-6-Chapter06-95.jpg

图6-25 S_PEXT定时器时序图

3.S_ODT

接通延时定时器,输入信号变为1时,触发定时器开始定时,只有在设定的延时时间以后,并且输入信号仍然为1时,才能触发定时器输出为1。S_ODT定时器的时序如图6-26所示。

978-7-111-28718-6-Chapter06-96.jpg(www.xing528.com)

图6-26 S_ODT定时器时序图

4.S_ODTS

保持型接通延时定时器,输入信号为1时,触发定时器开始定时,在设定的延时时间以后触发定时器输出为1,与输入信号为1的时间长短无关。定时器输出只有复位以后,才能再次触发定时功能。S_ODTS定时器的时序如图6-27所示。

978-7-111-28718-6-Chapter06-97.jpg

图6-27 S_ODTS定时器时序图

5.S_OFFDT

断电延时定时器,输入信号为1时,定时器输出为1,输入信号从1变为0,触发定时器开始定时,在设定的延时时间以后,赋值定时器输出为0。定时器定时期间,输入信号从0变为1时将复位定时器,只有输入信号再次从1变为0时才能触发定时器开始定时,定时器输出在输入信号为1或定时器定时没有完成时,保持为1。S_OFFDT定时器的时序如图6-28所示。使用定时器指令的示例程序见表6-27。

978-7-111-28718-6-Chapter06-98.jpg

图6-28 S_OFFDT定时器时序图

6-27 定时器指令的示例程序

978-7-111-28718-6-Chapter06-99.jpg

(续)

978-7-111-28718-6-Chapter06-100.jpg

(续)

978-7-111-28718-6-Chapter06-101.jpg

注意:

一个定时器不能在同一时刻多次调用、运行,如果程序中多处使用同一个定时器,注意定时器启动的时序。

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

我要反馈