向上计数/向下计数 (CTUD)

CTUD 指令会在 CUEnable 由清零跳变为置位时向上计 1 个数,在 CDEnable 由清零跳变为置位时向下计 1 个数。
架构和安全支持的详细信息
下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590
可用语言
梯形图
此指令不可用于梯形图中。
功能块
结构化文本
CTUD(CTUD_tag)
操作数
结构化文本
变量
类型
格式
说明
CTUD 标签
FBD_COUNTER
结构
CTUD 结构
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法
功能块
操作数
类型
格式
说明
CTUD tag
FBD_COUNTER
结构
CTUD 结构
FBD_COUNTER 结构
输入参数
数据类型
说明
EnableIn
BOOL
如果此参数清零,指令不会执行,也不会更新输出。如果置位,则执行指令。
默认置位。
CUEnable
BOOL
启用向上计数。当输入由清零切换为置位时,累加器加 1。
默认清零
CDEnable
BOOL
启用向下计数。当输入由清零切换为置位时,累加器减 1。
默认清零
PRE
DINT
计数器预设值。该值为累加值必须达到的值,当达到该值时,DN 置位。
有效值 = 任意整型值
默认值为 0
Reset
BOOL
计时器复位请求。置位时,计数器复位。
默认清零
输出参数
数据类型
说明
EnableOut
BOOL
指令生成的有效结果。
ACC
DINT
累加值。
CU
BOOL
已启用向上计数。
CD
BOOL
已启用向下计数。
DN
BOOL
计数完成。当累加值大于或等于预设值时置位。
OV
BOOL
计数器上溢。指示计数器超出上限值 2,147,483,647。计数器随后将翻转回 -2,147,483,648,并重新开始向下计数。
UN
BOOL
计数器下溢。指示计数器超出下限值 -2,147,483,648。计数器随后翻转为 2,147,483,647,并重新开始向下计数。
说明
当条件为真且 CUEnable 为真时,CTUD 指令将计数器按 1 递增。当条件为真且 CDEnable 为真时,CTUD 指令将计数器按 1 递减。
在同一个扫描期间,CUEnable 和 CDEnable 输入参数均可切换。此时,指令先执行向上计数,后执行向下计数。
向上计数
向下计数
禁用后,CTUD 指令保留其累加值。“复位” 输入参数置位时,该指令将复位。
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。初始化数据,以等待 CuEnable 或 CdEnable 的“0 到 1”跳变,来影响 ACC 值。
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
指令执行。
指令首次运行
初始化数据,以等待 CuEnable 或 CdEnable 的“0 到 1”跳变,来影响 ACC 值。
指令首次扫描
初始化数据,以等待 CuEnable 或 CdEnable 的“0 到 1”跳变,来影响 ACC 值。
指令首次为真
不执行任何特定状态下的操作。
重置
该指令会将 CUEnablen-1、CDEnablen-1、CU、CD、DN、OV 和 UN 清零,并设置 ACC = 0。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
功能块
结构化文本
CTUD_01.PRE := 500;
CTUD_01.Reset := Reset;
CTUD_01.CUEnable := Input;
CTUD(CTUD_01);
counter_state := CTUD_01.DN;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal