名称:加减计数

符号:CTUD

说明:

    可以使用“加减计数”指令,递增和递减输出CV的计数器值。如果输入CU的信号状态从“0”变为“1”(信号上升沿),则当前计数器值加1并存储在输出CV中。如果输入CD的信号状态从“0”变为“1”(信号上升沿),则输出CV的计数器值减1。如果在一个程序周期内,输入CU和CD都出现信号上升沿,则输出CV的当前计数器值保持不变。
    计数器值可以一直递增,直到其达到输出CV处指定数据类型的上限。达到上限后,即使出现信号上升沿,计数器值也不再递增。达到指定数据类型的下限后,计数器值便不再递减。
    输入LD1的信号状态变为“1”时,将输出CV的计数器值置位为参数PV的值。只要输入LD1的信号状态仍为“1”,输入CU和CD的信号状态就不会影响该指令。
    当输入R1的信号状态变为“1”时,将计数器值置位为“0”。只要输入R1的信号状态仍为“1”,输入CU、CD和LD信号状态的改变就不会影响“加减计数”指令。
    可以在QU输出中查询加计数器的状态。如果当前计数器值大于或等于参数PV的值,则将输出QU的信号状态置位为“1”。在其它任何情况下,输出QU的信号状态均为“0”。
    可以在QD输出中查询减计数器的状态。如果当前计数器值小于或等于“0”,则QD输出的信号状态将置位为“1”。在其它任何情况下,输出QD的信号状态均为“0”。

图片:

参数:

参数 声明 类型 描述
CU Input BOOL
加计数输入
CD Input BOOL
减计数输入
R1 Input BOOL
复位输入
LD1 Input BOOL
装载输入
PV Input INT
输出QU被设置的值/LD = 1 的情况下,输出CV被设置的值。
QU Output BOOL
加计数器的状态
QD Output BOOL
减计数器的状态
CV Output INT
当前计数器值

示例:

LD:

ST:



解释:

    如果输入“TagIn1”或“TagIn2”的信号状态从“0”变为“1”(信号上升沿),则执行“加减计数”指令。输入“TagIn1”出现信号上升沿时,当前计数器值加1并存储在输出“TagCV”中。输入“TagIn2”出现信号上升沿时,计数器值减1并存储在输出“TagCV”中。输入CU出现信号上升沿时,计数器值将递增,直至其达到上限值32767。输入CD出现信号上升沿时,计数器值将递减,直至其达到下限(INT=-32768)。
    只要当前计数器值大于或等于“TagPV”输入的值,“TagQU”输出的信号状态就为“1”。在其它任何情况下,输出“TagQU”的信号状态均为“0”。
    只要当前计数器值小于或等于0,“TagQD”输出的信号状态就为“1”。在其它任何情况下,输出“TagQD”的信号状态均为“0”。