向下计数 (CTD)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。每次梯级输入条件由假跳变为真时,CTD 指令都会向下计数。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
梯形图
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
Counter | COUNTER | 标签 | 计数器结构 |
Preset | DINT | 立即数 | Counter.PRE 的值。 |
Accum | DINT | 立即数 | Counter.ACC 的值。 |
预设和累加值(对应于计数器标签中的 .PRE 和 .ACC)是伪操作数。有关详细信息,请参阅 伪操作数初始化。
COUNTER 结构
助记符 | 数据类型 | 说明 |
|---|---|---|
.CD | BOOL | 向下计数使能位,包含指令上次执行时的梯级输入条件。 |
.DN | BOOL | 完成位,清零时指示计数操作完成。 |
.OV | BOOL | 上溢位,置位时指示计数器的值已增至上限 2,147,483,647 以上。 |
.UN | BOOL | 下溢位,置位时指示计数器的值已减至下限值 -2,147,483,648 以下。 |
.PRE | DINT | 预设值,指定在指令指示完成之前累加值必须达到的值。 |
.ACC | DINT | 累加值,指定指令已计数的跳变次数。 |
说明
CTD 指令通常与引用同一计数器结构的 CTU 指令配合使用。
当梯级输入条件设置为真且 .CD 为假时,.ACC 会减 1。梯级输入条件为假时,.CD 会设置为假。

影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。对于数组索引故障,请参阅 通过数组建立索引。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 将 .CD 位设置为真,防止第一次程序扫描期间发生无效递减。 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件 请参见 CTD 流程图(假) |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件 请参见 CTD 流程图(真) |
后扫描 | 不适用 |
CTD 流程图(假)

CTD 流程图(真)

示例
梯形图

传送带将零件传送到缓冲区域中。每次有零件进入缓冲区域,就使能 limit_switch_3 且 counter_2 加 1。每次有零件离开缓冲区域,就使能 limit_switch_4 且 counter_2 减 1。如果缓冲区域有 100 个零件(counter_2.dn 为真),conveyor_A 将接通并阻止传送带将更多零件传入缓冲区域,直到缓冲区域有空间容纳更多零件。
提供反馈