定时器的三种编程用法:
LAD中直接使用定时器LAD中运用定时器“触点”和“线圈”STL的如何编写定时器程序S7-300/400系列PLC中的S5定时器共有5种,分别为脉冲定时器SP、扩展脉冲定时器SE、接通延时定时器SD、保持型接通延时定时器SS以及断开延时定时器SF。灵活使用它们,可解决工业上的大部分相关应用。
除了多种定时器可供选择外,STEP7中还提供了多样的编程方式,供我们更加灵活的使用这些定时器。下面我们以"接通延时定时器SD"为例逐一介绍一下这些编程方法。
一、LAD或FBD中直接使用定时器在梯形图(LAD)或功能块图(FBD)中,可以直接插入"接通延时定时器SD"。写入参数前,其显示如图1.1所示。
图1.1 在LAD和FBD的插入定时器
插入定时器后,首先为定时器分配编号,然后,根据控制需求,依次写入启动输入端、时间预置值、复位输入端,将定时器"位"关联到相应的线圈,必要时,可为"当前时间值"分配存储空间。
其中,图1.1中"???"部分是必填的,否则无法通过编译。如图1.2所示,为一段可运行的编程实例。
图1.2 在LAD和FBD中使用定时器
二、在LAD中使用定时器触点和线圈STEP7中,将定时器抽象成一个特殊的"元件",它也有自己的"线圈"和"触点"。触点在表示上与其他触点并无二致,也分为常开触点和常闭触点。而定时器的线圈,在梯形图LAD中,显示如图2.1所示。
图2.1 定时器的"线圈"
定时器的线圈带有两个标识,分别为"定时器号"和"时间预置值",在编程中,要为其分配有效的值。
利用定时器的线圈和触点,再结合逻辑运算,也可以实现多样的控制功能。如图2.2所示,利用定时器的触点和线圈,实现与图1.2相同的功能。
图2.2 用定时器的"线圈"和"触点"编程
当定时器的"启动逻辑"、"复位逻辑"或定时器仅是一个复杂逻辑控制的一个环节时,采用"定时器线圈"进行LAD编程会相对简单一些,而且通过合理的分配程序段,使得程序会更加易读,也易于维护。
三、在STL的编写定时器程序我一直认为,有了一定的PLC基础之后,一定要学习语句表(STL),它会带你从PLC的内部,从一个全新的角度更进一步认识PLC。
与定时器有关的STL指令,如图3.1所示。
图3.1 与定时器相关的STL指令
首先,我们看看图1.2的程序在STL下的样子,如图3.2所示。
图3.2 在STL下编写定时器程序
说明:
1、与图1.2对应的STL程序实际上不包含红框中的内容。"FR"指令为"允许定时器再启动",这一功能仅在STL中支持,LAD或FBD中均无该功能。红框中的指令含义为:当I1.0=1时,定时器T0会再启动;
2、绿框中指令的含义是:首先将时间预置值装载到累加器的低字中,当I1.4的上升沿到达时,一方面启动定时器T0,另一方面操作系统会自动的将累加器的低字中的内容装入定时器,作为其时间预置值。
3、蓝框中的指令为STL中定时器的标准格式了。包括的定时器的启动、复位定时器"位"的关联等所有相关参数的设置。它与图1.2的逻辑功能完全相同。
4、灰框中的指令为存储定时器当前时间值的指令,根据实际应用情况,也可略去本段代码。