文章目录

欧姆龙PLC的定时器与计数器应用

发布于 2026-03-28 01:30:19 · 浏览 4 次 · 评论 0 条

欧姆龙PLC的定时器与计数器应用

定时器与计数器是欧姆龙PLC编程中最基础也是最常用的功能指令。它们分别用于实现延时控制和次数控制,是自动化程序不可或缺的组成部分。本文详细介绍欧姆龙PLC中定时器和计数器的类型、工作原理、编程方法及实际应用案例。


1. 定时器(Timer)详解

1.1 定时器的基本概念

定时器是一种根据设定时间进行计时的功能指令。当满足启动条件后,定时器开始累加计时,达到设定值时输出触点动作。欧姆龙PLC提供多种定时器类型,适用于不同的控制场景。

1.2 定时器的类型

欧姆龙PLC主要包含以下几种定时器:

定时器类型 指令符号 功能描述
延时闭合定时器 TON 启动后延迟设定时间闭合触点
延时断开定时器 TOF 输入断开后延迟设定时间断开触点
脉冲定时器 TP 产生指定宽度的脉冲信号
累计定时器 TTIM 累计多个启动时间段的总和
高速定时器 TIMH 用于1~999.9秒的高速计时

1.3 定时器指令格式

定时器指令的基本格式如下:

TON T000 #10.0
  • TON:定时器类型
  • T000:定时器编号(CP1H系列为T000~T511)
  • #10.0:设定时间(单位为0.1秒,10.0表示1秒)

1.4 定时器的工作原理

以TON(延时闭合定时器)为例,其工作过程如下:

  1. 启动条件满足:当定时器的输入条件为ON时,定时器开始计时
  2. 计时过程:定时器的当前值PV(Present Value)从0开始递增
  3. 达到设定值:当PV等于设定值SV时,定时器触点闭合
  4. 输入断开:当输入条件变为OFF时,定时器停止计时,PV复位为0,触点断开

1.5 定时器编程示例

示例:电机启动延时

当启动按钮按下后,延迟5秒自动启动电机。

// 符号定义
I0.00: 启动按钮
I0.01: 停止按钮
T000: 延时定时器
Q100.00: 电机接触器

// 梯形图逻辑
I0.00     T000.contact     Q100.00
---| |-----| |-----------( )---|


I0.01     Q100.00
---| |-----|/|-----( RST )------

T000     Q100.00
---| |-----| |-----( SET )------

// 定时器指令
TON T000 #50   // 50 × 0.1秒 = 5秒

2. 计数器(Counter)详解

2.1 计数器的基本概念

计数器用于统计输入信号的变化次数,当计数达到设定值时,计数器输出触点动作。欧姆龙PLC支持多种计数器类型,可以满足不同的计数需求。

2.2 计数器的类型

计数器类型 指令符号 功能描述
递减计数器 CT 从设定值开始递减计数,减到0时触点闭合
递增计数器 CNT 从0开始递增计数,达到设定值时触点闭合
可逆计数器 CNTR 既可递增也可递减计数
高速计数器 CNTH 用于高速输入信号的计数

2.3 计数器指令格式

递减计数器的基本格式:

CT 000 #10
  • CT:计数器类型
  • 000:计数器编号
  • #10:计数值(计数到10次时触点动作)

2.4 计数器的工作原理

以CT(递减计数器)为例,其工作过程如下:

  1. 初始化:计数器上电或复位后,当前值PV等于设定值SV
  2. 计数脉冲:每当计数输入从OFF变为ON时,PV减1
  3. 达到目标:当PV减至0时,计数器触点闭合
  4. 复位:使用复位指令或复位输入使PV恢复为设定值

2.5 计数器编程示例

示例:产品数量统计

每通过一个产品,计数器加1,达到100个时输出报警。

// 符号定义
I0.00: 产品检测传感器
I0.01: 复位按钮
C000: 计数器
Q100.00: 达到数量报警灯

// 梯形图逻辑
I0.00        C000
---| |-----( CNT )----
          C000 #100

I0.01        C000
---| |-----( RES )----

C000        Q100.00
---| |-----( )-------

3. 定时器与计数器的组合应用

3.1 定时器与计数器联合实现长延时

当需要超过999.9秒的延时(如1小时)时,可以将定时器与计数器组合使用。

示例:2小时延时程序

// 第一段:定时器计时1小时(3600秒)
TON T000 #36000  // 36000 × 0.1 = 3600秒 = 1小时

// 第二段:计数器累计2次
T000.contact        C000
---| |-----------( CNT )---
               C000 #2

// 输出
C000           Q100.00
---| |---------( )--------

3.2 定时器与计数器实现循环控制

利用定时器和计数器配合,可以实现周期性循环控制。

示例:间歇喷漆控制

每喷漆10秒,停止5秒,重复进行50次。

// 喷漆定时器(10秒)
TON T001 #100    // 10秒

// 停止定时器(5秒)
TON T002 #50     // 5秒

// 循环计数器
T001.contact        C001
---| |------------( CNT )---
              C001 #50

// 喷漆输出控制
I0.00           T001
---| |--------( TON #100 )--

T001.contact    T002
---| |--------( TON #50 )---

// 喷漆电磁阀输出
T001.contact    Q100.00
---| |---------( )--------
// 停止时不输出
T002.contact    Q100.00
---|/|---------( )--------

4. 高速定时器与高速计数器

4.1 高速定时器TIMH

普通定时的最小单位为0.1秒,无法满足高速响应需求。TIMH高速定时器的最小单位为0.01秒,适用于高速控制场景。

TIMH T000 #100   // 100 × 0.01秒 = 1秒

4.2 高速计数器

高速计数器用于统计高速输入脉冲,CPU单元内置高速计数器可处理最高100kHz的脉冲输入。

高速计数器设置步骤:

  1. 在PLC设置中启用高速计数器

    • 打开CX-Programmer软件
    • 双击PLC进入PLC设置
    • 找到高速计数器选项
    • 选择对应的计数器通道(如HSC0)
  2. 设置计数模式

    • 选择递增模式或相位差模式
    • 根据编码器类型设定为线驱动输入或增量模式
  3. 编写高速计数程序

// 高速计数器0当前值存储在DM区
// 读取高速计数器当前值
@EDSFRC(004)  // 高速计数器0

// 比较当前值与目标值
CMP(020)      D100    // 当前值
              #1000   // 目标值

// 等于时输出
=          Q100.00
---| |-----( )--------

5. 定时器与计数器的复位处理

5.1 定时器复位

定时器在以下情况会自动复位:

  • 启动输入从ON变为OFF时(对TON)
  • 使用RES指令强制复位
// 强制复位定时器
I0.01        T000
---| |-----( RES )----

5.2 计数器复位

计数器复位将当前值恢复为设定值,触点断开。

// 复位计数器
I0.01        C000
---| |-----( RES )----

5.3 批量复位

使用KEEP(011)指令和RES可以实现多个定时器或计数器的批量复位。


6. 常见应用案例

6.1 电机星三角启动控制

利用定时器实现电机星三角降压启动切换。

// 启动信号
I0.00        M0
---| |-----( )--------

// 星形接触器(启动时)
M0           T000
---| |-----( TON #30 )--  // 3秒后切换
T000         Q100.00
---| |-----( )--------

// 三角形接触器(切换后)
T000         Q100.01
---| |-----( )--------

// 主接触器
M0           Q100.02
---| |-----( )--------

6.2 输送带产品计数与分拣

// 产品检测计数
I0.00        C000
---| |-----( CNT )---
           C000 #50

// 达到数量后提醒
C000         Q100.00
---| |-----( )--------

// 分拣气缸动作
C000         T001
---| |-----( TON #10 )--
T001         Q100.01
---| |-----( )--------

// 计数满后自动复位
C000         T002
---| |-----( TON #100 )--
T002         C000
---| |-----( RES )----

6.3 设备运行时间累计

使用累计定时器TTIM记录设备总运行时间。

// 设备运行信号
I0.00        TTIM T010
---| |-----( )--------  // 累计时间
          #36000        // 1小时

// 运行时间存储(转换为小时)
TTIM(014)    T010
          D100          // 存储当前值

// 当累计达到100小时时维护提醒
MOV(021)     #0
  D100
  D101

CMP(020)     D101
          #1000

=           Q100.00
---| |-----( )--------

7. 注意事项与技巧

7.1 定时器编号范围

不同系列的欧姆龙PLC定时器编号范围不同:

系列 定时器数量 编号范围
CP1E 256 T0~T255
CP1L 512 T0~T511
CP1H 512 T0~T511
CJ2 4096 T0~T4095

7.2 计数器编号范围

计数器同样有编号限制,使用时需注意不与定时器冲突:

系列 计数器数量 编号范围
CP1E 256 C0~C255
CP1L 512 C0~C511
CP1H 512 C0~C511

7.3 编程建议

  1. 避免重复使用同一编号:定时器和计数器编号不能重复,否则会导致程序逻辑错误
  2. 合理设置设定值:根据实际需求设置合适的时间或计数单位
  3. 注意复位时机:确保在适当条件下复位定时器和计数器,避免意外动作
  4. 高速应用选高速型号:对于响应时间要求高的场景,必须使用TIMH或高速计数器

8. 故障排查

8.1 定时器不动作

  • 检查启动条件是否满足
  • 确认设定值格式正确(#后跟数字,单位自动识别)
  • 验证定时器编号未被重复使用

8.2 计数器计数不准

  • 检查计数输入是否为瞬时信号(计数器检测上升沿)
  • 确认复位信号未异常触发
  • 排查输入抖动导致的误计数

8.3 高速计数器无响应

  • 确认高速计数器已在PLC设置中启用
  • 检查输入点是否配置为高速输入
  • 验证脉冲频率未超过硬件限制

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文