北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8635003

如何使用S7-1200的IEC定时器(IEC timer)

与传统的S7-300/400系列PLC不同,S7-1200/1500系列PLC使用IEC定时器(IEC timer)。IEC定时器的数据(设定值、当前值等)存储在指定的数据块中,用户程序中可以使用的定时器的数量仅受CPU存储容量大小的限制。今天这篇文章,我们就来谈谈IEC定时器的使用。

cover.png

S7-1200提供了四种IEC定时器:TP(Timer Pulse,脉冲定时器)、TON(Timer ON-Delay,延时接通定时器)、TOF(Timer OFF-Delay,延时断开定时器)和TONR(Timer Accumulator,时间累加定时器)。
在博途环境下添加IEC定时器时,系统会自动为其分配背景数据块。本例程添加一个TON定时器,背景DB块如下图:

IEC_DB.png

可以修改背景数据块的名称,也可以使用默认值。这里我们采用默认值,点击【OK】确认后,在系统块(System blocks)中可以看到新生成的IEC定时器的背景数据块包含如下参数:

IEC_DB_Detail.png

IEC定时器中常用的参数有五个(可以访问控制):

  1. IN(Input,定时器启动,Start timer);

  2. R(Reset,定时器复位,Reset timer);

  3. PT(Preset time,时间预设值,必须大于0);

  4. ET(Elapse time,当前时间值,时间流逝值);

  5. Q(Ouput,输出);

IEC定时器的时间值是一个32位的双整型变量(DInt),默认为毫秒(ms),最大定时值为 2,147,483,647 ms。当然,以毫秒计算有时候是不方便的,S7-1200也支持以 天-小时-分钟-秒 的方式计时,在时间值的前面加上符号“T#”,比如定时200s,写作T#200s;定时1天-2小时-30分钟-5秒-200毫秒,写作:T#1d_2h_30m_5s_200ms,如下图:

TON.png

下面来分别介绍下各定时器的时序:

脉冲定时器(TP,Timer Pulse)用来产生一定时间宽度的脉冲信号,当IN信号从0变为1时,定时器开始计时,此时输出Q为1,;在整个时间流逝的过程中,无论输入IN的信号是否变化,输出Q始终为1;当实际值ET大于等于预设值PT时,输出Q变为0;当输入值IN再次从0变为1时,定时器重新计时;
脉冲定时器的时序如下图:

TP_Diagram.png

延时接通定时器(TON,Timer ON-delay)将信号延时接通。

当输入信号IN从0变为1时,定时器开始计时,此时输出Q为0。在计时的过程中,如果时间流逝值ET大于等于预设值PT且输入IN的信号为1时,输出Q为1;在计时过程中,如果输入IN的信号从1变为0,则定时器停止计时。若再次从0变为1,则定时器重新开始计时。当输出Q为1时,若输入IN从1变为0,则输出Q变为0。

延时接通定时器的时序如下图:

TON_Diagram.png

延时断开定时器(TOF,Timer Off-delay)将某个信号延时断开。
当输入信号IN从0变为1时,定时器启动,此时输出Q为1。当输入信号IN从1变为0时,定时器开始计时,输出Q保持为1,当流逝的时间值ET大于等于预设的时间值PT且输入IN保持为0时,输出Q变为0。在时间流逝的过程中,若输入IN从0变为1,则定时器复位,当从1变为0时,定时器重新开始计时。

延时断开定时器(TOF)的时序如下图:

TOF_Diagram.png

时间累加器(TONR,Timer accumulaor)
时间累加器可以对输入信号IN的状态1信号进行累加。当输入信号IN从0变为1时,定时器开始计时,此时输出Q的值为0。定时器计时的过程中,流逝的时间被记录在ET中。若在到达预设值PT之前,输入信号从1变为0,则定时器停止计时。当下次输入信号IN从0变为1时,定时器从上次记录的ET值开始继续计时,直到ET累计的时间大于或等于PT时,输出Q变为1;
当输出Q变为1时,无论输入IN的信号怎么变化,都保持为1。
当复位信号R从0变为1时,输出Q和时间流逝值ET均被复位为0;
时间累加器的时序如下图:

TONR_Diagram.png

好了,关于S7-1200的IEC定时器就先介绍到这里,欢迎扫描下面的二维码关注我们的微信公众号。



已经过安全软件检测无毒,请您放心下载。

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论