跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/CTU — 加计数器

CTU — 加计数器

CU 每个上升沿 CV+1;CV≥PV 时 Q=1;R 复位 CV/Q。

计数器 S7-1200/1500 TIA V19 别名:加计数器 / Count up / CTU

一句话

CTU 是加计数器:CU 每个上升沿让 CV 加 1;CV ≥ PV 时 Q=1;R=1 时复位 CV 和 Q。

符号与引脚

分类:计数器 需要实例 模板值:计数值类型(value_type)
引脚方向说明
CU流输入计数输入(上升沿)
R输入复位输入
PV输入预设值
Q流输出CV≥PV 时为 1
CV输出当前计数值

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

每次 Count 上升沿计数,PV=10;到 10 时 Full=1,Reset=1 清零。

CTU_Example:Network 1 — 计数到 10

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

事件 CV Q
CU 上升沿 +1 CV ≥ PV 时为 1
R=1 0 0
CU 保持 1 不变 不变
  • CU 是边沿计数:信号一直为 1 只算一次;再次计数需要先回 0 再上升。
  • PV 是预设值,CV 是当前值;两者数据类型要一致。
  • R 复位优先:R=1 时计数清零、Q=0。
  • 需要实例(IEC_COUNTER 或计数器实例 DB)。

常用场景

1. 产量计数

同上面的最小示例。

2. 批次完成

每来一个零件计数一次,PV=100;到 100 时 Batch=1,操作员复位。

CTU_Batch:Network 1 — 批次计数 100

常见坑

  • 用电平计数:CU 一直为 1 不会每个扫描都加;必须检测上升沿。
  • PV 类型不匹配:PV/CV 要使用同一种数据类型(Int/DInt 等)。
  • R 一直为 1:计数器永远清零,看起来「不计数」。
  • 实例冲突:同一个计数器实例在多处调用会互相覆盖。
  • 溢出:CV 到类型上限会回绕;大批量计数用 DInt 或更大类型。

在博途里试一下

TiaLink

把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。

打开 TiaLink

也可以先在示例库里找一条用到 CTU 的完整程序,导入后再改。

← 返回 LAD 指令手册