
CTU — 加计数器
CU 每个上升沿 CV+1;CV≥PV 时 Q=1;R 复位 CV/Q。
一句话
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 清零。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 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)。
常用场景
常见坑
- 用电平计数:
CU一直为 1 不会每个扫描都加;必须检测上升沿。 PV类型不匹配:PV/CV要使用同一种数据类型(Int/DInt 等)。R一直为 1:计数器永远清零,看起来「不计数」。- 实例冲突:同一个计数器实例在多处调用会互相覆盖。
- 溢出:
CV到类型上限会回绕;大批量计数用DInt或更大类型。
在博途里试一下
TiaLink
把 TIA Portal 接到你的智能体:导入、编译、读回核对、PLCSIM 仿真。本地运行,工程数据不出厂。
打开 TiaLink也可以先在示例库里找一条用到 CTU 的完整程序,导入后再改。
