快捷搜索:  汽车  科技

S7-200smart 定时器计时最大值(如何理解和使用S7-200)

S7-200smart 定时器计时最大值(如何理解和使用S7-200)该指令有如下几个特点:1.TON指令定时器编号与分辨率、操作指令类型的对应关系见下面的表格:从表中可以看出,定时器T0的分辨率为1ms,并且只支持TONR指令;定时器T37的分辨率为100ms,支持TON或者TOF指令,但是不支持TONR指令;接下来我们分别介绍一下三种操作指令:TON、TOF和TONR。

SIMATIC S7-200 Smart提供256个定时器(Timer),编号从T0~T255;支持三种定时器指令:TON、TONR和TOF。今天这篇文章,我们来谈谈如何理解和使用这三种定时器指令。

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(1)

在S7-200 Smart中,定时器的编号决定了它所支持的分辨率和操作指令。

分辨率也称为时基(时间基准),表示定时器重复触发的时间间隔。有三种可选择的分辨率:1ms、10ms及100ms;

定时器操作指令用来操作特定的定时器,三种定时器操作指令的含义如下:

  1. TON:延时接通定时器(Timer On-Delay)指令;
  2. TONR:具有保持功能的延时接通定时器(Timer On-Delay Retain)指令;
  3. TOF:延时断开定时器指令;

定时器编号与分辨率、操作指令类型的对应关系见下面的表格:

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(2)

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(3)

从表中可以看出,定时器T0的分辨率为1ms,并且只支持TONR指令;定时器T37的分辨率为100ms,支持TON或者TOF指令,但是不支持TONR指令;

接下来我们分别介绍一下三种操作指令:TON、TOF和TONR。

1.TON指令

该指令有如下几个特点:

  1. 在输入参数“IN” 的上升沿(从0变为1时)开始计时;
  2. 只要参数“IN”的值保持为1,定时器就持续计时;
  3. 在定时过程中,若输入参数“IN”变为0,则定时器停止计时且当前值被清零;
  4. 在当前值等于或大于预设时间PT时,定时器标志位被置位(TRUE);
  5. 当定时器达到预设时间后,若IN仍然为1,则定时器会继续定时,直到达到最大值32767后停止计时;

以下面的代码为例:

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(4)

例程中使用定时器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指令

该指令有如下几个特点:

  1. 当输入参数“IN” 从0变为1时,定时器的标志位被置1(TRUE),当前时间值被清零;
  2. 当输入参数“IN” 从1变为0时,定时器开始计时。当到达预设的时间值后,定时器的标志位被置0(FALSE);
  3. 在计时过程中,若参数“IN”的值从0变为1,则定时器停止计时,定时器标志位保持为1(TRUE);

例如下面的代码:

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(5)

代码段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指令

该指令有如下几个特点:

  1. 在输入参数“IN” 的上升沿(从0变为1时)开始计时;
  2. 只要参数“IN”的值保持为1,定时器就持续计时;
  3. 在定时过程中,若输入参数“IN”变为0,则定时器停止计时且当前值被保持;当输入参数“IN”重新变为1时,定时器继续从上次保留时间值开始计时;
  4. 在当前值等于或大于预设时间PT时,定时器标志位被置位(TRUE);
  5. 当定时器达到预设时间后,若IN仍然为1,则定时器会继续定时,直到达到最大值32767后停止计时;
  6. TONR指令的当前时间值要使用复位指令(R)才能清除;

例如下面的代码:

S7-200smart 定时器计时最大值(如何理解和使用S7-200)(6)

代码段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的定时器指令就先介绍到这里。如果你喜欢这篇文章,可以去官网(www.founderchip.com)下载本文PDF版本。

猜您喜欢: