SIMATIC S7-200 Smart提供256个定时器(Timer),编号从T0~T255;支持三种定时器指令:TON、TONR和TOF。今天这篇文章,我们来谈谈如何理解和使用这三种定时器指令。
在S7-200 Smart中,定时器的编号决定了它所支持的分辨率和操作指令。
分辨率也称为时基(时间基准),表示定时器重复触发的时间间隔。有三种可选择的分辨率:1ms、10ms及100ms;
定时器操作指令用来操作特定的定时器,三种定时器操作指令的含义如下:
TON:延时接通定时器(Timer On-Delay)指令;
TONR:具有保持功能的延时接通定时器(Timer On-Delay Retain)指令;
TOF:延时断开定时器指令;
定时器编号与分辨率、操作指令类型的对应关系见下面的表格:
从表中可以看出,定时器T0的分辨率为1ms,并且只支持TONR指令;定时器T37的分辨率为100ms,支持TON或者TOF指令,但是不支持TONR指令;
接下来我们分别介绍一下三种操作指令:TON、TOF和TONR。
1.TON指令
该指令有如下几个特点:
在输入参数“IN” 的上升沿(从0变为1时)开始计时;
只要参数“IN”的值保持为1,定时器就持续计时;
在定时过程中,若输入参数“IN”变为0,则定时器停止计时且当前值被清零;
在当前值等于或大于预设时间PT时,定时器标志位被置位(TRUE);
当定时器达到预设时间后,若IN仍然为1,则定时器会继续定时,直到达到最大值32767后停止计时;
以下面的代码为例:
例程中使用定时器33(T33)执行延时接通指令,定时器33的分辨率(时基)为10ms。
代码段1中,当CPU_输入0(I0.0)从0变为1时,定时器33开始计时;CPU_输入0的值保持为1,在2s(200x10 ms)后,定时器达到预设时间,此时T33标志位被置1;
代码段2中,定时器33的标志位被赋予CPU_输出0(Q0.0);
注:定时器的定时时间=预设时间x分辨率(时基)
2.TOF指令
该指令有如下几个特点:
当输入参数“IN” 从0变为1时,定时器的标志位被置1(TRUE),当前时间值被清零;
当输入参数“IN” 从1变为0时,定时器开始计时。当到达预设的时间值后,定时器的标志位被置0(FALSE);
在计时过程中,若参数“IN”的值从0变为1,则定时器停止计时,定时器标志位保持为1(TRUE);
例如下面的代码:
代码段3中,当CPU_输入1(I0.1)从0变为1时,定时器60使能(Enabled),此时标志位被置1(TRUE);
当CPU_输入1(I0.1)从1变为0时,定时器60开始计时,标志位保持为1;
当定时器的当前时间大于预设时间(90x100ms=9s)时,标志位被置0(FALSE);
若在定时过程中,CPU_输入1(I0.1)从0变为1,则标志位保持为1,当前值被清零;
代码段4中,定时器60的标志位被赋予CPU_输出1(Q0.1);
3.TONR指令
该指令有如下几个特点:
在输入参数“IN” 的上升沿(从0变为1时)开始计时;
只要参数“IN”的值保持为1,定时器就持续计时;
在定时过程中,若输入参数“IN”变为0,则定时器停止计时且当前值被保持;当输入参数“IN”重新变为1时,定时器继续从上次保留时间值开始计时;
在当前值等于或大于预设时间PT时,定时器标志位被置位(TRUE);
当定时器达到预设时间后,若IN仍然为1,则定时器会继续定时,直到达到最大值32767后停止计时;
TONR指令的当前时间值要使用复位指令(R)才能清除;
例如下面的代码:
代码段5中,当CPU_输入2(I0.2)的值从0变为1时,定时器30(T30)开始计时;在计时过程中,若CPU_输入2的值从1变为0,则定时器30停止计时并保持当前的计数时间值;当CPU_输入2的值再次从0变为1时,定时器30继续从之前保存的时间值开始计时;当到达预设时间10s(100x100ms)后,定时器30的标志位被置1;
代码段6将定时器30的标志位赋值给CPU_输出2(Q0.2);
代码段7,当CPU_输入3(I0.3)的值变为1时,复位定时器30的当前值及定时器标志位;
好了,关于S7-200 Smart的定时器指令就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
来源:本站| 大小:383 KB| 下载次数:14459次
发表评论