![西门子S7-300/400PLC项目化教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/793/41309793/b_41309793.jpg)
3.1 定时器指令和CPU时钟存储器
定时器是一种按时间动作的继电器,相当于继电器控制系统中的时间继电器。一个定时器有很多的常开触点和常闭触点。
根据工作方式不同,定时器可分为五种,如图3-2所示。分别是S5脉冲定时器(S_PULSE)、S5扩展脉冲定时器(S_PEXT)、S5接通延时定时器(S_ODT)、S5保持接通延时定时器(S_ODTS)、S5断开延时定时器(S_OFFDT),图3-2的后五种是前五种的线圈表示形式。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/76_01.jpg?sign=1739915631-Bt3ERQAqu8Vq0Oezk1Lda2hW3EhyEXHs-0-076bf55e00af209140976f2d9290dcef)
图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 定时器参数
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/76_02.jpg?sign=1739915631-nwuu1Dgg5LaFLWlbEPSB0ZyDDAyMMMLZ-0-a05c662b42f2065823db3ea46d5cb2e8)
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 定时时间的表示方法
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/78_01.jpg?sign=1739915631-53KhfB1qIsdRXUFhpe5wITY3POB3gqQL-0-1ffabf10bbbe92dbc9cef61d4e2b3e6f)
3.1.2 定时器指令的应用
1.S5脉冲定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,10s后指示灯熄灭。松开启动按钮SB1,重新按下启动按钮SB1,指示灯重新点亮。指示灯点亮期间,将开关打至OFF档,指示灯立即熄灭。程序如图3-3所示。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/78_02.jpg?sign=1739915631-pifV2BHHPLku6vU9angg5n5JCUKM89vI-0-a31d5a9764c836297ed366a1d28a70fc)
图3-3 脉冲定时器应用实例程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/78_03.jpg?sign=1739915631-cAvuzC8PPak98Dez2mOHxIJxF15qdVvM-0-8c8f89c8035a223d2db290db24083ac9)
脉冲定时器指令
2.S5扩展脉冲定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,10s后指示灯熄灭。期间按下停止按钮SB2,指示灯HL1立即熄灭。程序如图3-4所示。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/78_04.jpg?sign=1739915631-tDarOlN9OKeNB758whIJ8foUII3JLIbr-0-c88cb9c3762fea57bc3a6e506b354396)
图3-4 扩展脉冲定时器应用实例程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/78_05.jpg?sign=1739915631-qjjpksNiRy1GaJgByzL5gjAc9Z1onHuD-0-ae0fb690ddfd6795f546e050e4449c5c)
扩展脉冲定时器指令
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所示。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_01.jpg?sign=1739915631-h67lrbObiUGUZbZYA3yZuKz8ylXTUaY2-0-eb76937f95ece9d5f7bf2dcb30cbcb13)
图3-5 启动与停止程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_02.jpg?sign=1739915631-p4hkjdZkNS841qw5RPscTLYHNrPr0wta-0-2b71167b791b4c2c933003e863e0a375)
图3-6 接通延时定时器程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_03.jpg?sign=1739915631-56ODdkOWmXJV64jXgWeHxwQy5j8cu7iI-0-aab75667335ee91a2030ed178e17d205)
接通延时定时器指令
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_04.jpg?sign=1739915631-yHJp1yISkEPd9WMusyNUDsuy3faVie4G-0-4993183a67c8c6faedbb81d3366c7e87)
图3-7 指示灯HL1程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_05.jpg?sign=1739915631-hMT7ddTsLHw8BlauWa8GyWxC7NUFn7BQ-0-cbc0cd5c5da4c0ce87189fcf57fd8df9)
图3-8 启动与复位程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_06.jpg?sign=1739915631-WMsbme2EJUPz7dmZgDd0zmzzPLxNb3Ue-0-4afde44371c6e2cbe9cd9df1bba1689b)
图3-9 保持接通延时定时器程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/79_07.jpg?sign=1739915631-K53xKbLtWpPnbsrDwHxLv60XZxYvt9mG-0-aa96e06096f487a90afdb6bd844549e2)
保持接通延时定时器指令
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/80_01.jpg?sign=1739915631-J7C7wqBBkxoQ92MV340cpXcZNxx79IWU-0-6b89541b90e450a6432bbba81b128042)
图3-10 指示灯HL1程序
5.S5断开延时定时器应用实例
按下启动按钮SB1,指示灯HL1点亮,按下停止按钮SB2,延时10s后指示灯HL1熄灭。程序如图3-11~图3-13所示。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/80_02.jpg?sign=1739915631-Egb1us2C1dKouunkBUaiP4rxDPQDhe4O-0-d54cabf7492b2e4ffbc4c674387ee1ab)
图3-11 启动与复位程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/80_03.jpg?sign=1739915631-FuhOBRPA01XEKDh9eDxfifKqD1I4s0nK-0-02deb2b20aad4878eda6660db9fdb8ee)
图3-12 断开延时定时器程序
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/80_04.jpg?sign=1739915631-jQILgIPZWmdJFavV80b73fEp50keqwfY-0-3800e6b0b0158320c05e60dfb0165a20)
断开延时定时器指令
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/80_05.jpg?sign=1739915631-DOaJimv40KRBvz7SOUtUUfaOnXcsSWx2-0-26e85997f21197d74b8171db3ac39669)
图3-13 指示灯HL1程序
3.1.3 CPU时钟存储器
在编写S7-300/400 PLC定时程序时,除了使用定时器指令外,还可以使用时钟存储器来实现定时功能。如果使用该功能,需要在CPU属性中,启用“时钟存储器”功能,如图3-14所示。时钟存储器的文本框中的“0”为MB地址。
时钟存储器是一种占空比为50%的脉冲信号,其频率固定,具体见表3-3。
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/81_01.jpg?sign=1739915631-q1iLks6Kb2uI2kt01IL6mx4f32mDyFA4-0-c881f92b59ebdca7de48b8d44b30a89c)
图3-14 设置时钟存储器
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/81_02.jpg?sign=1739915631-dUw0sfpUNlx4C7IQMLc26iPR5kGzj0re-0-45e9e1fa4bd655cd60087cb35b9c8876)
CPU时钟存储器
表3-3 时钟存储器各位的周期及频率
![](https://epubservercos.yuewen.com/656E02/21511156101513206/epubprivate/OEBPS/Images/81_03.jpg?sign=1739915631-lUHJ7Yp47e9mr5hJr9WaxSPPt9xxHTZE-0-a0d4fa7794fb5748cdcf7df200b9c9b0)