说明:
附件下载项 "STEP 7 Average" 包括一个内含功能块FB1的 STEP 7 项目。可以使用这个功能块计算读入的任意数量的数值的平均值。图01显示了在OB1调用FB1及调用参数。n
图01n
FB1 "AVERAGE" 的输入参数
- "RESET" 数据类型: Bool
默认值为False。如果 "RESET" 输入管脚接收到的值为True,功能块被复位,"AVERAGE"输出管脚的值为零。 - "VALUE" 数据类型: Real
本参数用于读取参与计算平均值的输入值。 - "BY_VALUE_CHANGE" 数据类型: Bool
用来定义计算模式。
- True:只在 "VALUE" 输入管脚的值变化后重新计算一次平均值。n
- False:平均值每周期重新计算一次。
FB1 "AVERAGE"的输出参数
- "AVERAGE" 数据类型: Real。返回经计算的平均值。
程序说明
在输入值连续读入的情况下,当前的算术平均值被重新计算: "VALUE" 输入管脚的值变化后重新求和作为被除数,除数加1,计算的结果即为当前的算术平均值。如表01所示。
序号 | 参数值 | 平均值 |
1 | X1 | X1 / 1 |
2 | X2 | (X1+X2) / 2 |
3 | X3 | (X1+X2+X3) / 3 |
... | ... | ... |
Xn | (X1+X2+X3+ ... Xn) / n |
表 01
表02 给出了一个将5个数依次读入,并每次计算当前的算术平均值。 在第五次读入值"14.0"后,计算平均值:
- 平均值 = (5.0+3.0+1.0+7.0+14.0) / 5 = 6
序号 | 参数值 | 平均值 |
1 | 5,0 | 5 / 1 = 5,0 |
2 | 3,0 | 8 / 2 = 4,0 |
3 | 1,0 | 9 / 3 = 3,0 |
4 | 7,0 | 16 / 4 = 4,0 |
5 | 14,0 | 30 / 5 = 6,0 |
表 02
当"VALUE" 输入管脚的值为零时,平均值也被重新计算。FB1适合在OB1 或循环中断中被调用。
下载附件包含一个如上所述的功能块的STEP 7 项目(FB1,背景数据块 DB1和 OB1)。
STEP_7_Average.zip ( 31 KB )
将"STEP_7_Average.zip" 文件复制一个文件夹并双击打开。解压后可用 STEP 7打开。
创建环境
本FAQ中的图片和下载项目均在 STEP 7 中创建。下表列出了所使用的环境。
测试环境 | 版本 |
PC 平台 | Intel(R) Corel(TM)2 Duo CPU P8700 |
处理器 | 2.53 GHz |
PC 操作系统 | MS Windows XP SP3 |
STEP 7 | V5.4 + SP5 |
S7 PLCSIM | V5.4 + SP3 |
表 03
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333293.html