回复:求教STL或者SCL做一个实时连续小时平均数据

已锁定

zhangli0

西门子1847工业学习平台

  • 帖子

    17141
  • 精华

    63
  • 被关注

    890

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2021-09-03 20:59:57

5楼

程序10s执行一次,一个小时保存360个数据,定义变量:

out变量:

aver:real;

静态变量

mydata: array[1..360] of real;

mycount:real;

临时变量:

ii:int;

sum:real;

if Bstart and not start_on then

    mycount:=0.0;

    for ii:=1 to 360 do

          mydata[ii]:=0.0;

     end_for;

end_if;//初始化

for ii:=1 to 359 do

     mydata[ii]:=mydata[ii+1];

end_for;//数据前移一个地址

mydata[360]:=new_pv;//新值

mycount:=mycount+1.0;

if mycount>360.0 then

   mycount:=360.0;

end_if;//数据记录满了则记录个数不再增加

for ii:=1 to 360 do

     sum:=sum+mydata[ii];

end_for;

aver:=sum/mycount;




活到老,学到老!为了生活学习吧!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。