文件标准偏差 (STD)

下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
STD 指令用于计算 Array 某一维数中一组值的标准偏差,并将结果存入 Destination。
可用语言
梯形图
STD_LD_avail_v31
功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参见“数据转换”部分。
梯形图
操作数
类型
格式
说明
Array
SINT
INT
DINT
REAL
数组标签
计算此数组中各值的标准偏差
指定计算标准偏差所用的元素组中的第一个元素
Dimension to vary
DINT
立即数
(0、1、2)
要使用的维度
维度的顺序是:array[0,1,2]
Destination
REAL
标签
运算结果
Control
CONTROL
标签
运算的控制结构
Length
DINT
立即数
计算标准偏差所用的数组的元素数目
Position
DINT
立即数
指定数组的偏移量,用于标识指令正在访问的当前元素。
初始值通常为 0
长度和位置(对应于控制标签中的 .LEN 和 .POS)是伪操作数。有关详细信息,请参阅 伪操作数初始化
CONTROL 结构
助记符
数据类型
说明
.EN
BOOL
使能位,指示 STD 指令是否使能。
.DN
BOOL
完成位,指令对数组中最后一个元素进行运算后置位。
.ER
BOOL
错误位,指令发生溢出时置位。指令停止执行,直到程序将 .ER 位清零。.POS 值存储导致溢出的元素的位置。
.LEN
DINT
长度字,用于指定参与指令运算的数组元素数目。
.POS
DINT
位置字,为指定数组的偏移量,用于标识指令正在访问的当前元素。
说明
标准偏差的计算公式如下:
STD_Formula 1_v31
其中:
start = 数组操作数的 dimension-to-vary 下标
xi = 数组中的变量元素
N = 数组中指定元素的数目
AVE = STD_Formula 2_v31
重要提示: 确保 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 控制器
严重/轻微故障
在以下情况下会发生严重故障:
故障类型
故障代码
.POS < 0 或 .LEN < 0
4
21
Dimension to vary > 维度数
4
20
有关操作数相关的故障,请参见“通用属性”。
执行
梯形图
条件/状态
执行的操作
预扫描
.EN 位清零。
.DN 位清零。
.ER 位清零。
梯级输入条件为假
.EN 位清零。
.ER 位清零。
.DN 位清零。
.POS 值清零。
梯级输出条件为假。
梯级输入条件为真
在内部,指令使用 FAL 指令计算平均值:
表达式 = 标准偏差计算
模式 = 所有
后扫描
不适用。
示例
示例 1
计算 arrayDint(即 DINT[4,5])的标准偏差。
STD_Example 1 dimension
STD_Example 1 equation
梯形图
STD_LD_ex1_v31
示例 2
计算 dint_array(即 DINT[4,5])的标准偏差。
File Standard Deviation (STD) (28)
梯形图
STD_LD_ex2_v31
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal