• {{item.name}}
{{item.name}}
{{item2.name}}
更多
常问问题

如何计算读入的任意数量的数值的当前平均值?

star star star star star
5.0 分
  • 软件编程
文档编号:1021364| 文档类型:常问问题| 发布时间:2023年10月30日
  • 0
  • 395
  • 3086
内容预览: 说明: 附件下载项 "STEP 7 Average" 包括一个内含功能块FB1的 STEP 7 项目。可以使用这个功能块计算读入的任意数量的数值的平均值。图01显示了在OB1调用FB1及调用参数。 ......

说明:
附件下载项 "STEP 7 Average" 包括一个内含功能块FB1的 STEP 7 项目。可以使用这个功能块计算读入的任意数量的数值的平均值。图01显示了在OB1调用FB1及调用参数。


图 01

FB1 "AVERAGE" 的输入参数

  • "RESET" 数据类型: Bool
    默认值为 False。如果 "RESET" 输入管脚接收到的值为True,功能块被复位,"AVERAGE"输出管脚的值为零。
  • "VALUE" 数据类型: Real
    本参数用于读取参与计算平均值的输入值。
  • "BY_VALUE_CHANGE" 数据类型: Bool
    用来定义计算模式。
True:只在 "VALUE" 输入管脚的值变化后重新计算一次平均值。False:平均值每周期重新计算一次。

FB1 "AVERAGE"的输出参数

  • "AVERAGE" 数据类型: Real。返回经计算的平均值。

程序说明
在输入值连续读入的情况下,当前的算术平均值被重新计算: "VALUE" 输入管脚的值变化后重新求和作为被除数,除数加1,计算的结果即为当前的算术平均值。如表01所示。

序号参数值平均值
1X1X1 / 1
2X2(X1+X2) / 2
3X3(X1+X2+X3) / 3
.........
nXn(X1+X2+X3+ ... Xn) / n表 01

表 02 给出了一个将5个数依次读入,并每次计算当前的算术平均值。 在第五次读入值"14.0"后,计算平均值:

  • 平均值 = (5.0+3.0+1.0+7.0+14.0) / 5 = 6
序号参数值平均值
15,05 / 1 = 5,0
23,08 / 2 = 4,0
31,09 / 3 = 3,0
47,016 / 4 = 4,0
514,030 / 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 7V5.4 + SP5
S7 PLCSIMV5.4 + SP3

表3

您可以前往全球资源库查看此文档:

http://support.automation.siemens.com/CN/view/zh/1021364

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。