S7-1200和S7-1500计数器操作

CTU:加计数

可以使用“加计数”指令,递增输出 CV 的值。如果输入 CU 的信号状态从“0”变为“1”(信号上升沿),则执行该指令,同时输出 CV 的当前计数器值加 1。每检测到一个信号上升沿,计数器值就会递增,直到达到输出 CV 中所指定数据类型的上限。达到上限时,输入 CU 的信号状态将不再影响该指令。

可以查询 Q 输出中的计数器状态。输出 Q 的信号状态由参数 PV 决定。如果当前计数器值大于或等于参数 PV 的值,则将输出 Q 的信号状态置位为“1”。在其它任何情况下,输出 Q 的信号状态均为“0”。

输入 R 的信号状态变为“1”时,输出 CV 的值被复位为“0”。只要输入 R 的信号状态仍为“1”,输入 CU 的信号状态就不会影响该指令。

S7-1200和S7-1500计数器操作_第1张图片

当“TagIn_1”操作数的信号状态从“0”变为“1”时,将执行“加计数”指令,同时“Tag_CV”操作数的当前计数器值加 1。每检测到一个额外的信号上升沿,计数器值都会递增,直至达到该数据类型的上限 (INT = 32767)。

PV 参数的值作为确定“TagOut”输出的限制。只要当前计数器值大于或等于操作数“Tag_PV”的值,输出“TagOut”的信号状态就为“1”。在其它任何情况下,输出“TagOut”的信号状态均为“0”。

CTD:减计数

可以使用“减计数”指令,递减输出 CV 的值。如果输入 CD 的信号状态从“0”变为“1”(信号上升沿),则执行该指令,同时输出 CV 的当前计数器值减 1。每检测到一个信号上升沿,计数器值就会递减 1,直到达到指定数据类型的下限为止。达到下限时,输入 CD 的信号状态将不再影响该指令。

可以查询 Q 输出中的计数器状态。如果当前计数器值小于或等于“0”,则 Q 输出的信号状态将置位为“1”。在其它任何情况下,输出 Q 的信号状态均为“0”。

输入 LD 的信号状态变为“1”时,将输出 CV 的值设置为参数 PV 的值。只要输入 LD 的信号状态仍为“1”,输入 CD 的信号状态就不会影响该指令。

S7-1200和S7-1500计数器操作_第2张图片

当“TagIn_1”操作数的信号状态从“0”变为“1”时,执行该指令且“Tag_CV”输出的值减 1。每检测到一个信号上升沿,计数器值就会递减 1,直到达到所指定数据类型的下限 (INT = -32768)。

只要当前计数器值小于或等于 0,“TagOut”输出的信号状态就为“1”。在其它任何情况下,输出“TagOut”的信号状态均为“0”。

CTUD:加减计数

可以使用“加减计数”指令,递增和递减输出 CV 的计数器值。如果输入 CU 的信号状态从“0”变为“1”(信号上升沿),则当前计数器值加 1 并存储在输出 CV 中。如果输入 CD 的信号状态从“0”变为“1”(信号上升沿),则输出 CV 的计数器值减 1。如果在一个程序周期内,输入 CU 和 CD 都出现信号上升沿,则输出 CV 的当前计数器值保持不变。

计数器值可以一直递增,直到其达到输出 CV 处指定数据类型的上限。达到上限后,即使出现信号上升沿,计数器值也不再递增。达到指定数据类型的下限后,计数器值便不再递减。

输入 LD 的信号状态变为“1”时,将输出 CV 的计数器值置位为参数 PV 的值。只要输入 LD 的信号状态仍为“1”,输入 CU 和 CD 的信号状态就不会影响该指令。

当输入 R 的信号状态变为“1”时,将计数器值置位为“0”。只要输入 R 的信号状态仍为“1”,输入 CU、CD 和 LD 信号状态的改变就不会影响“加减计数”指令。

可以在 QU 输出中查询加计数器的状态。如果当前计数器值大于或等于参数 PV 的值,则将输出 QU 的信号状态置位为“1”。在其它任何情况下,输出 QU 的信号状态均为“0”。

可以在 QD 输出中查询减计数器的状态。如果当前计数器值小于或等于“0”,则 QD 输出的信号状态将置位为“1”。在其它任何情况下,输出 QD 的信号状态均为“0”。

S7-1200和S7-1500计数器操作_第3张图片

输入“TagIn_1”出现信号上升沿时,当前计数器值加 1 并存储在输出“Tag_CV”中。输入“TagIn_2”出现信号上升沿时,计数器值减 1 并存储在输出“Tag_CV”中。输入 CU 出现信号上升沿时,计数器值将递增,直至其达到上限值 32767。输入 CD 出现信号上升沿时,计数器值将递减,直至其达到下限 (INT = -32768)。

只要当前计数器值大于或等于“Tag_PV”输入的值,“TagOut”输出的信号状态就为“1”。在其它任何情况下,输出“TagOut”的信号状态均为“0”。

只要当前计数器值小于或等于 0,“TagOut_QD”输出的信号状态就为“1”。在其它任何情况下,输出“TagOut_QD”的信号状态均为“0”。

你可能感兴趣的:(S7-1200)