找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、
功能和样例:缓存测量值的“FIFO”
https://support.industry.siemens.com/cs/document/8685494
根据FIFO原则在环形缓冲器临时存储接收到的数据并传给用户接口https://support.industry.siemens.com/cs/document/16825843
如何计算读入的任意数量的数值的当前平均值?
http://support.automation.siemens.com/CN/view/zh/28027081
2、自己写程序,是在TIA环境下写的,如图
2.1 程序的变量定义,其中累积值、计数值、数组下标要在上电初始化组织块 OB100 中初始化成 0,这部分程序没有帖出
2.2 FC1 的接口定义以及程序,程序代码如下,可直接复制:
"数据块_1".CURRENT_INDEX := "数据块_1".CURRENT_INDEX + 1;
IF "数据块_1".CURRENT_INDEX > 3600 THEN
"数据块_1".CURRENT_INDEX := 1;
END_IF;
"数据块_1".COUNT := "数据块_1".COUNT + 1;
IF "数据块_1".COUNT > 3600 THEN
"数据块_1".COUNT := 3600;
"数据块_1".SUM_REAL := "数据块_1".SUM_REAL - "数据块_1".DB_VAR["数据块_1".CURRENT_INDEX];
"数据块_1".SUM_REAL := "数据块_1".SUM_REAL + #REAL_IN;
ELSE
"数据块_1".SUM_REAL := "数据块_1".SUM_REAL + #REAL_IN;
END_IF;
"数据块_1".DB_VAR["数据块_1".CURRENT_INDEX] := #REAL_IN;
#AVERRAGE_OUT := "数据块_1".SUM_REAL / "数据块_1".COUNT;
2.3、OB1中的调用FC1,我没加条件,你可以根据实际情况加条件调用。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城