名称:减计数

符号:CTD

说明:

        可以使用“减计数”指令，递减输出CV的值。如果输入CD的信号状态从“0”变为“1”（信号上升沿），则执行该指令，同时输出CV的当前计数器值减1。每检测到一个信号上升沿，计数器值就会递减1，直到达到指定数据类型的下限为止。达到下限时，输入CD的信号状态将不再影响该指令。
        可以查询Q输出中的计数器状态。如果当前计数器值小于或等于“0”，则Q输出的信号状态将置位为“1”。在其它任何情况下，输出Q的信号状态均为“0”。
        输入LD1的信号状态变为“1”时，将输出CV的值设置为参数PV的值。只要输入LD1的信号状态仍为“1”，输入CD的信号状态就不会影响该指令。

图片:

参数:

参数 | 声明 | 类型 | 描述
--- | --- | --- | ---
CD | Input | BOOL |
    计数输入
LD1 | Input | BOOL |
    复位输入
PV | Input | INT |
    置位输出Q的值
Q | Output | BOOL |
    计数器状态
CV | Output | INT |
    当前计数器值

示例:

LD:

ST:

CTD_inst1(CD := TagInl, LD1 := TagIn2, PV := TagPV, Q => TagOut, CV => TagCV);

解释:

        当“TagIn1”操作数的信号状态从“0”变为“1”时，执行该指令且“TagCV”输出的值减1。每检测到一个信号上升沿，计数器值就会递减1，直到达到所指定数据类型的下限(INT=-32768)。
        只要当前计数器值小于或等于0，“TagOut”输出的信号状态就为“1”。在其它任何情况下，输出“TagOut”的信号状态均为“0”。