
3.1 定时器指令和CPU时钟存储器
定时器是一种按时间动作的继电器,相当于继电器控制系统中的时间继电器。一个定时器有很多的常开触点和常闭触点。
根据工作方式不同,定时器可分为五种,如图3-2所示。分别是S5脉冲定时器(S_PULSE)、S5扩展脉冲定时器(S_PEXT)、S5接通延时定时器(S_ODT)、S5保持接通延时定时器(S_ODTS)、S5断开延时定时器(S_OFFDT),图3-2的后五种是前五种的线圈表示形式。

图3-2 各种定时器指令
西门子S7-300 PLC的定时器数量为128~2048个,西门子S7-400 PLC的定时器数量为2048个。越是高级型号的CPU,定时器的数量越多。
3.1.1 定时器指令的基本功能
1.S5脉冲定时器(S_PULSE)
S5脉冲定时器(S_PULSE)的使用方法是:如果在启动(S)输入端有一个上升沿,S_PULSE将启动指定的定时器。信号变化始终是启用定时器的必要条件。定时器在输入端S的信号状态为“1”时运行,但最长周期是由输入端TV指定的时间值。只要定时器运行,输出端Q的信号状态就为“1”。如果在时间间隔结束前,S输入端从“1”变为“0”,则定时器将停止。这种情况下,输出端Q的信号状态为“0”。
如果在定时器运行期间定时器复位(R)输入从“0”变为“1”,则定时器将被复位。当前时间和时间基准也被设置为零。如果定时器不是正在运行,则定时器R输入端的逻辑“1”没有任何作用。
当前时间值可从输出BI和BCD扫描得到。时间值在BI端是二进制编码,在BCD端是BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。定时器参数如表3-1所示。
表3-1 定时器参数

2.S5扩展脉冲定时器(S_PEXT)
S5扩展脉冲定时器(S_PEXT)的使用方法是:如果在启动(S)输入端有一个上升沿,S_PEXT将启动指定的定时器。信号变化始终是启用定时器的必要条件。定时器在输入端TV指定的预设时间间隔运行,也就是在时间间隔结束前,S输入端的信号状态变为“0”。只要定时器运行,输出端Q的信号状态就为“1”。如果在定时器运行期间输入端S的信号状态从“0”变为“1”,则将使用预设的时间值重新启动定时器。
如果在定时器运行期间复位(R)输入从“0”变为“1”,则定时器复位。当前时间和时间基准被设置为零。
当前时间值可从输出BI和BCD扫描得到。时间值在BI处为二进制编码,在BCD处为BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
3.S5接通延时定时器(S_ODT)
接通延时定时器(S_ODT)的使用方法是:如果在启动(S)输入端有一个上升沿,S_ODT(接通延时S5定时器)将启动指定的定时器。信号变化始终是启用定时器的必要条件。只要输入端S的信号状态为正,定时器就以在输入端TV指定的时间间隔运行。定时器达到指定时间而没有出错,并且S输入端的信号状态仍为“1”时,输出端Q的信号状态为“1”。如果定时器运行期间输入端S的信号状态从“1”变为“0”,定时器将停止。这种情况下,输出端Q的信号状态为“0”。
如果在定时器运行期间复位(R)输入从“0”变为“1”,则定时器复位。当前时间和时间基准被设置为零。然后,输出端Q的信号状态变为“0”。如果在定时器没有运行时R输入端有一个逻辑“1”,并且输入端S的RL0为“1”,则定时期也复位。
当前时间值可从输出BI和BCD扫描得到。时间值在BI处为二进制编码,在BCD处为BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
4.S5保持接通延时定时器(S_ODTS)
保持接通延时定时器(S_ODTS)的使用方法是:如果在启动(S)输入端有一个上升沿,S_ODTS将启动指定的定时器。信号变化始终是启用定时器的必要条件。定时器以在输入端TV指定的时间间隔运行,即在时间间隔结束前,使输入端S的信号状态变为“0”。定时器预定时间结束时,输出端Q的信号状态为“1”,而无论输入端S的信号状态如何。如果在定时器运行时输入端S的信号状态从“0”变为“1”,则定时器将以指定的时间重新启动(重新触发)。
如果复位(R)输入从“0”变为“1”,则无论S输入端的RLO如何,定时器都将复位。然后,输出端Q的信号状态变为“0”。
当前时间值可从输出BI和BCD扫描得到。时间值在BI端是二进制编码,在BCD端是BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
5.S5断开延时定时器(S_OFFDT)
断开延时定时器(S_OFFDT)的使用方法是:如果在启动(S)输入端有一个下降沿,S_OFFDT(断开延时S5定时器)将启动指定的定时器。信号变化始终是启用定时器的必要条件。如果S输入端的信号状态为“1”,或定时器正在运行,则输出端Q的信号状态为“1”。如果在定时器运行期间输入端S的信号状态从“0”变为“1”时,定时器将复位。输入端S的信号状态再次从“1”变为“0”后,定时器才能重新启动。
如果在定时器运行期间复位(R)输入从“0”变为“1”时,定时器将复位。
当前时间值可从输出BI和BCD扫描得到。时间值在BI端是二进制编码,在BCD端是BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
定时时间的表示方法如表3-2所示。
表3-2 定时时间的表示方法

3.1.2 定时器指令的应用
1.S5脉冲定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,10s后指示灯熄灭。松开启动按钮SB1,重新按下启动按钮SB1,指示灯重新点亮。指示灯点亮期间,将开关打至OFF档,指示灯立即熄灭。程序如图3-3所示。

图3-3 脉冲定时器应用实例程序

脉冲定时器指令
2.S5扩展脉冲定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,10s后指示灯熄灭。期间按下停止按钮SB2,指示灯HL1立即熄灭。程序如图3-4所示。

图3-4 扩展脉冲定时器应用实例程序

扩展脉冲定时器指令
3.S5接通延时定时器应用实例
按下启动按钮SB1,延时10s后指示灯HL1点亮,按下停止按钮SB2,指示灯HL1立即熄灭。程序如图3-5~图3-7所示。
4.S5保持接通延时定时器应用实例
按下启动按钮SB1,延时10s后指示灯HL1点亮,按下停止按钮SB3,指示灯HL1立即熄灭。需要按下复位按钮SB2,然后按下启动按钮SB1,指示灯HL1重新点亮,否则按下启动按钮SB1无效。程序如图3-8~图3-10所示。

图3-5 启动与停止程序

图3-6 接通延时定时器程序

接通延时定时器指令

图3-7 指示灯HL1程序

图3-8 启动与复位程序

图3-9 保持接通延时定时器程序

保持接通延时定时器指令

图3-10 指示灯HL1程序
5.S5断开延时定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,按下停止按钮SB2,延时10s后指示灯HL1熄灭。程序如图3-11~图3-13所示。

图3-11 启动与复位程序

图3-12 断开延时定时器程序

断开延时定时器指令

图3-13 指示灯HL1程序
3.1.3 CPU时钟存储器
在编写S7-300/400 PLC定时程序时,除了使用定时器指令外,还可以使用时钟存储器来实现定时功能。如果使用该功能,需要在CPU属性中,启用“时钟存储器”功能,如图3-14所示。时钟存储器的文本框中的“0”为MB地址。
时钟存储器是一种占空比为50%的脉冲信号,其频率固定,具体见表3-3。

图3-14 设置时钟存储器

CPU时钟存储器
表3-3 时钟存储器各位的周期及频率
