文件平均值 (AVE)
下表列出了支持此指令的控制器和应用程序。
架构 | 标准应用程序 | 安全应用程序 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 是 |
AVE 指令用于计算一组值的平均值。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”部分。
梯形图
操作数 | 数据类型 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 格式 | 说明 |
|---|---|---|---|---|
Array Tag | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL | 标签 | 计算此数组中各值的平均值 指定要平均的元素组的第一个元素 不要在下标中使用 CONTROL.POS |
Dimension to vary | DINT | DINT | 立即数 (0、1、2) | 要使用的维度 维度的顺序是:array[0,1,2] |
Destination | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL | 标签 | 运算结果 |
Control | CONTROL | CONTROL | 标签 | 运算的控制结构 |
Length | DINT | DINT | 立即数 | 要参与平均值计算的数组元素的数目 |
Position | DINT | DINT | 立即数 | 指定数组的偏移量,用于标识指令正在访问的当前元素。 初始值通常为 0 |
长度和位置(对应于控制标签中的 .LEN 和 .POS)是伪操作数。有关详细信息,请参阅 伪操作数初始化。
说明
AVE 指令用于计算一组值的平均值。
重要提示:
确保 Length 值不会导致指令超出指定的 Dimension to vary。如果发生超出的情况,destination 将不正确。如需了解更多信息,请参见“将数组视为内存块”部分。
如果在对表达式求值期间发生溢出,或者指令超过数组的末尾执行读操作,则指令会将 .ER 位置位并停止执行
影响数学状态标志
控制器 | 影响数学状态标志 |
|---|---|
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 有一定条件下影响,请参见“数学状态标志”部分。 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 |
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”部分。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | .EN 位清零。 .DN 位清零。 如果 .ER 位在预扫描期间为零,则所有控制位(.DN、.EN、.EU、.EM、.UL、.IN 和 .FD)都将清零。 |
梯级输入条件为假。 | 请参见“AVE 流程图(假)” |
梯级输入条件为真。 | AVE 指令用于计算平均值,计算方法为,将数组中所有指定元素相加,然后除以元素数目。 |
后扫描 | 不适用。 |
AVE 流程图(假)

示例 1

梯形图

示例 2

梯形图

提供反馈