CTU:加计数 |
说明
可以使用“加计数”指令,递增输出 CV 的值。如果输入 CU 的信号状态从“0”变为“1”(信号上升沿),则执行该指令,同时输出 CV 的当前计数器值加 1。每检测到一个信号上升沿,计数器值就会递增,直到达到输出 CV 中所指定数据类型的上限。达到上限时,输入 CU 的信号状态将不再影响该指令。
可以查询 Q 输出中的计数器状态。输出 Q 的信号状态由参数 PV 决定。如果当前计数器值大于或等于参数 PV 的值,则将输出 Q 的信号状态置位为“1”。在其它任何情况下,输出 Q 的信号状态均为“0”。
输入 R 的信号状态变为“1”时,输出 CV 的值被复位为“0”。只要输入 R 的信号状态仍为“1”,输入 CU 的信号状态就不会影响该指令。
说明 只需在程序中的某一位置处使用计数器,即可避免计数错误的风险。 |
每次调用“加计数”指令,都会为其分配一个 IEC 计数器用于存储指令数据。IEC 计数器是一种具有以下某种数据类型的结构:
对于 S7-1200 CPU
系统数据类型 IEC_<Counter> 的数据块(共享 DB) |
局部变量 |
---|---|
|
|
执行“加计数”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。
参数
下表列出了“加计数”指令的参数:
参数 |
声明 |
数据类型 |
存储区 |
说明 |
|
---|---|---|---|---|---|
S7-1200 |
S7-1500 |
||||
CU |
Input |
BOOL |
I、Q、M、D、L 或常数 |
I、Q、M、D、L 或常数 |
计数输入 |
R |
Input |
BOOL |
I、Q、M、D、L、P 或常数 |
I、Q、M、T、C、D、L、P 或常数 |
复位输入 |
PV |
Input |
整数 </ |