• 自动化系统
  • 驱动技术
  • 低压电气
  • 工业服务
  • 其他
更多
常问问题

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

star star star star star
5.0 分
  • 软件编程
文档编号:1021364| 文档类型:常问问题| 发布时间:2023年10月30日
  • 0
  • 542
  • 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

春日学PLC活动
  • 评论
  • 分享

    扫码分享

  • 收藏
  • 点赞
  • 纠错
 

隐私政策更新提示

欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

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