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

CTD — 减计数器

CD 每个上升沿 CV-1;CV≤0 时 Q=1;LD 把 CV 重新装载为 PV。

计数器 S7-1200/1500 TIA V19 别名:减计数器 / Count down / CTD

一句话

CTD 是减计数器:CD 每个上升沿让 CV 减 1;CV ≤ 0 时 Q=1;LD=1 时把 CV 重新装载为 PV。

符号与引脚

分类:计数器 需要实例 模板值:计数值类型(value_type)
引脚方向说明
CD流输入倒计数输入(上升沿)
LD输入装载输入:LD=1 时 CV=PV
PV输入装载值
Q流输出CV≤0 时为 1
CV输出当前计数值

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

最小示例

每次 Down 上升沿倒计数,PV=10;到 0 时 Empty=1。Load=1 重新装载 10。

CTD_Example:Network 1 — 倒计数到 0

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

怎么工作

事件 CV Q
CD 上升沿 -1 CV ≤ 0 时为 1
LD=1 PV 按装载后的值
CD 保持 1 不变 不变
  • CD 是边沿计数:信号一直为 1 只算一次;再次计数需要先回 0 再上升。
  • LD 是装载,不是复位:装载后 CV=PV,不是 0。
  • PV/CV 数据类型要一致;CV 可以接到比较/显示。
  • 需要实例(IEC_COUNTER 或计数器实例 DB)。

常用场景

1. 批次倒计数

每来一个零件倒计数一次,PV=100;到 0 时 Batch=1,操作员重新装载。

CTD_Batch:Network 1 — 批次倒计数 100

2. 与 CTU 的区别

CTU 向上计数到 PV;CTD 从 PV 向下计数到 0。需要双向计数用 CTUD。

常见坑

  • 用电平计数:CD 一直为 1 不会每个扫描都减;必须检测上升沿。
  • 把 LD 当复位:LD 装载 PV,不是清零;要清零可以把 PV 设为 0 再装载。
  • PV 类型不匹配:PV/CV 要使用同一种数据类型。
  • 实例冲突:同一个计数器实例在多处调用会互相覆盖。
  • 下溢:CV 到类型下限会回绕;需要时用更大的数据类型或在 0 处停止。

在博途里试一下

TiaLink

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

打开 TiaLink

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

← 返回 LAD 指令手册