电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

S7-200smart如何实现递推平均

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/8/11

  问题:s7-200smart采集模拟量,每次扫描到数据,就记录下来,读到的数据存到最后一单元,数据依次往前拱,把最老的一个单元拱出去,求程序段。我用FIFO似乎实现不了

解:前几天看到网友用smart 间接寻址 冒泡法程序,今天下午不忙,做了一个冒泡法排序,抛砖引玉。 相互学习优化优化程序。

主程序:

Network 1
LD     M0.0
=      L60.0
LD     M0.0
EU
=      L63.7
LD     L60.0
CALL   SBR0, L63.7, &VB0, 60, M0.5, M0.6

 

子程序:

TITLE=程序注释
Network 1
// 外循环次数计算
LD     SM0.0
MOVW   LW5, LW12
-I     1, LW12
Network 2
// 外循环   开始 
LD     L0.0
FOR    LW10, 1, LW12
Network 3
// 指针传递
LD     SM0.0
MOVD   LD1, LD16
AENO
MOVW   LW10, VW3002
Network 4
//  内循环次数计算
LD     SM0.0
MOVW   LW5, LW14
-I     LW10, LW14
Network 5
// 内循环   
LD     SM0.0
FOR    LW8, 1, LW14
AENO
MOVW   LW8, VW3004
Network 6
//   
LD     SM0.0
MOVD   LD16, LD20
+D     +2, LD20
Network 7
// 比较大小,条件满足后互换。互换完成后指针地址加2
LDW>   *LD16, *LD20
LPS
MOVW   *LD16, LW24
AENO
MOVW   *LD20, *LD16
AENO
MOVW   LW24, *LD20
AENO
+D     2, LD16
LPP
NOT
+D     2, LD16
Network 8
LDW>=  LW8, 200
WDR
Network 9
// 内循环结束
NEXT
Network 10
LDW>=  LW10, 400
WDR
Network 11
// 外循环结束
NEXT

 

Tags:平均值,求平均值,SMART,西门子plc  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询