技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > wincc怎样显示一个变量的平均值

wincc怎样显示一个变量的平均值

刘玉蓉 发布于2014-12-01 17:29 15 0 标签:

wincc有一个变量 a ,要求显示它的8个小时的平均值,8:00--16:00,16:00--24:00,24:00--8:00,这三个时段。8小时更新一次,请指教

问题补充:
详细一点可以吗,用脚本的话应该怎么写?

佳答案

在PLC中编程较为简便。应用日期时间中断OB10,将OB10设置为每一小时中断。
1、在OB10中进行编程:
、每一小时中断后,采集变量 a的值。并设一计数器,每一小时中断时该计数器计数一次。
、当计数器为8时即表示要进行要计算8个小时的平均值。
、当计算8个小时的平均值后,将计数器清零。
2、求平均值,可以应用冒泡法,排序后取中间值即可:
假定8个数据,放在DB1中,安放顺序如下:
DBD0
DBD4

DBD36
下面是西门子的程序
OPN   DB    1                 /////打开DB1这个数据块
      L     8  ////装载8到MB0中
LL0:  T     MB    0
      L     P#0.0   ////装载地址指针,这是关键,不要搞错了
      LAR1  
      L     9
LL1:  T     MB    2   ////内部循环,进行7次,直到把大值排到后
      L     DBD [AR1,P#0.0]
      L     DBD [AR1,P#4.0]
      <R    
      JC    LL2          ////比较前后两个值,如果前面大于后面的,则前后数据交换
      L     DBD [AR1,P#0.0]
      T     #m_temp
      L     DBD [AR1,P#4.0]
      T     DBD [AR1,P#0.0]
      L     #m_temp
      T     DBD [AR1,P#4.0]
LL2:  +AR1  P#4.0     ////指针自动进行加4,因为是浮点数,所以要跳过4个字节
      L     MB    2
      LOOP  LL1       ///这个指令自动的将A寄存器里的值减1
      L     MB    0
LOOP  LL0

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签