模拟量求均值

现在有一4-20ma的信号,输入到200系列的输入扩展模块中,对应量程0-800,要对这个信号求均值,采样时间500毫秒,采样周期5分钟,也就是说在5分钟的时间内要采样600次,然后求出这600次的平均值并在人机介面显示,那位朋友能给个方案,谢谢。

问题补充:
谢谢个位的回答,补充几点:
1,我个人倾向于子程序的方案,这个方案和样本里的例程思路是一致的,可是在做除法时采用移位方式如何确定移位数,
2,500mS的时钟,加上时钟间隔,哪5分钟就不是600次啦。
3,最大的问题是我在编程软件中的程序控制指令中竟然没有找到call指令,我使用的软件为step7-microv4.0sp6
4为何要除7200哪,如果以分钟为单位,该除多少那。

最佳答案

东方学人:根据您提的问题我编制一段程序,完全能瞒足您的要求,每500ms从AIW0通道采集一次模拟信号,并累加一次,5分钟累加600次。在500ms中每次采集数据、计算、数据转换、数据存储都可完成,没有时间间隔。5分钟600次采集数据的平均值存放在VD108存储器中,可以送到任何人机界面显示出来。本系统500ms采集一次,即每500msT32导通时,M10.1置位上升沿采集数据一次,采集数据计数加1;并且M10.1置位100ms来处理采集数据,时间够用了。程序有注释便于您理解,程序如下:

网络1
LD     SM0.1
MOVW   0, VW100    //开机时VW100清零
MOVW   0, VW10     //开机时VW10清零

网络2
LD     SM0.0
LPS
AN     M10.0
TON    T32, 500        //1ms定时器,设置500ms
LRD
A      T32
=      M10.0           //M10.0与T32组成500ms脉冲开关
S      M10.1, 1        //每500msM10.1导通100ms
LRD
AW>=   T32, 100        //当T32大于或等于100ms导通
R      M10.1, 1        //M10.1复位
LRD
A      M10.1 
LPS       
EU                     //M10.1导通上升沿
+I     AIW0, VW100     //对I0.0通道采集信号每500ms累加一次
+I     1, VW10         //采集信号每累加一次VW10中数值加1
LPP
ITD    VW100, VD104    //累加值转为双整数
DTR    VD104, VD104    //累加值转位实数
AW>=   VW10, 600       //当VW10=600时,即采集信号累加600次导通
EU                     //上升沿
MOVR   VD104, VD108
/R     600.0, VD108    //600次采集信号的平均值保存到VD108存储器
MOVW   0, VW100        //vw100清零以便下一周期采集信号
MOVW   0, VW10         //VW10清零以便下一周期累计采集次数
东方探索

提问者对于答案的评价:
谢谢大家的回答,选择东方探索的回答基于以下的原因:
1,对于时钟问题给了我很大的启发,
2,在这个问题里数型转换很重要,他谈到了,
3,有例程,在这里谢谢了,我会参考的。
几点说明:
1,本回答中有一点可能需要商榷,即600个采样值累加完后好像不能直接输出做均值,应该除以600或采取移位除(移位数为采样数的2次方),希望能和你做进一步的探讨QQ1037249228,
2对于推荐循环程序的朋友们,我仔细看了你们推荐的程序,有2个问题,一是那些数是已知的,二是数应该是由小到大排列,而我的数据是实时的,大小是随机的。
                                再一次谢谢大家

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc314208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:36
下一篇 2020年11月1日 下午3:36

相关推荐

  • EM277和CP5613之间的通讯线

    EM277和CP5613之间的连接线怎么连的啊,自己可以做吗?如果可以的话怎么做啊! 最佳答案 使用两个9针的SUB-D接头,3连3(+正,B线),8连8(-负,A线) …

    SIMATIC S7-200 2021年7月5日
  • mov指令疑问

    用上升沿触发mov指令,想将一个模拟量存储到vw100.为什么不能实现呢。 图片说明:    最佳答案 I1.3输入必须有一个从0变为1的一个跳变,AIW6这个…

    2017年11月13日
  • em241上的电位器是做什么用的

    如题,顺便问一下,PC  ACCESS软件必须和200软件同时安装么? 最佳答案 em241上的电位器是做什么用的—————-设置国家代码的…

    SIMATIC S7-200 2021年7月4日
  • S200数据块创建问题

    s200数据块怎样创建,最大是多少K,哪些数据能在数据块中使用 最佳答案 200有数据块,我想这个数据块就是用于掉电数据保持的EEPROM区,只是使用时没有300的那么好用。最大是…

    2017年7月26日
  • smartline1000数值超过范围

    接入plc的是两线制的液位计,输出4-20ma,但是监控时出现6364,低于plc的模拟量数值范围6400,以致于出现#号,但实际液位为7米,为什么会这样? 最佳答案 是plc的的…

    2017年11月4日
  • 200的模拟量问题

    200的模拟量是怎么处理的呢,4-20ma对应模数转换后多少呢,还有27648,32767,65535这些数是怎么来的呢?根据什么东西算出来的还是怎么回事? 问题补充:那200和3…

    SIMATIC S7-200 2020年11月1日
  • 这程序什么意思

    A M0.1FP M.01=Q.0.1当M0.1由0变1.     Q0.1如何变化 问题补充:如果一个扫描周…

    SIMATIC S7-200 2021年7月5日
  • win10 64位 专业版安装 V4.0 STEP7 MicroWINSP9 连接不了S7-200CN

    我是初学者,由于新购买的笔记本无法安装WIN7.自学西门子编程, 公司有S7-200CN 想知道PLC里面的编程内容。买的USB-PPI电缆。参考了一些连接PL…

    SIMATIC S7-200 2021年7月5日
  • 未为库分配V储存区

    写modbus指令时下载显示未为库分配V储存区,怎么办 图片说明:       最佳答案 按图示方式,给库存储区分配V存储区地址: 图片说明…

    2021年7月5日
  • 两S7-200 PPI通信

    我有1台224,1台226 我现在想通过网络读写指令使其两者进行PPI通信,我该怎么做?我的编程电缆是不是放在PROFIBUS电缆的编程口上进行配置下载?麻烦哪位做过的指…

    SIMATIC S7-200 2020年11月5日