回复:关于求平均值的问题

琪琪heping

  • 帖子

    75
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2009-07-26

普通 普通 如何晋级?

发布于 2009-08-08 14:10:25

0楼

子程序:
Network 1 // 网络标题
// 把采集来的温度数字量存放到V存储区,进行运算;
LD SM0.0
MOVW LW0, VW122
Network 2
// 因为采集后要把N个值加和,有可能超过32767,就要把采集来的值变成双整数,便于以后加和;
// 若为正数,则最高位去给补0;若为负数则补1;VW122是后16位,要给前16位即VW120加符号位;以确保它的正负;
LDW>= VW122, 0
MOVW 0, VW120
NOT
MOVW 16#FFFF, VW120
Network 3
// 把当前采样值VD120加到采样和中去,用自加一计数器,记录采样个数;
LD SM0.0
+D VD120, VD130
INCW VW140
Network 4
// 如果当前的采样次数==设定的采样次数,则进行除法运算求平均值;用ENCO计算移位数;用SHR_DW指令将VD134里的值右移AC1,即用VD134除以了2的AC1 次方;最后将采样和,和自加1计数器中的计数值清0;
LDW>= VW140, VW142
MOVD VD130, VD134
ENCO VW142, AC1
SRD VD134, AC1
MOVD 0, VD130
MOVW 0, VW140
Network 5
// 平均值是温度,0----100度,对应的数字量最大是6400----32000;故温度平均值的数字值一定是在字的范围内;故平均值是VW136;
LD SM0.0
MOVW VW136, LW2
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33289条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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