名称:加计数

符号:CTU

说明:

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

图片:

参数:

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

示例:

LD:

ST:

CTU1_inst1(CU := TagInl, R1 := TagIn2, PV := TagPV, Q => TagOut, CV => TagCV);

解释:

        当“TagIn1”操作数的信号状态从“0”变为“1”时，将执行“加计数”指令，同时“TagCV”操作数的当前计数器值加1。每检测到一个额外的信号上升沿，计数器值都会递增，直至达到该数据类型的上限(INT=32767)。
        PV参数的值作为确定“TagOut”输出的限制。只要当前计数器值大于或等于操作数“TagPV”的值，输出“TagOut”的信号状态就为“1”。在其它任何情况下，输出“TagOut”的信号状态均为“0”。