怎么取一个时间点的模拟量的值 点击:1032 | 回复:5



电工盲

    
  • 精华:0帖
  • 求助:5帖
  • 帖子:13帖 | 100回
  • 年度积分:0
  • 历史总积分:120
  • 注册:2007年1月24日
发表于:2014-04-19 09:33:38
楼主

我现在在编一个程序,里面有一个公式,需要用到5分钟、10分钟、15分钟等时间点的模拟量值,我现在的问题是,模拟量是一个连续的变量,比如当我取了5分钟这个点后,模拟量的值随着时间在变化的,而我公式里用到的就是它在5分钟时候的值,请问各位高手,能有什么办法吗?




zhu860423060

  • 精华:5帖
  • 求助:27帖
  • 帖子:272帖 | 3543回
  • 年度积分:302
  • 历史总积分:21193
  • 注册:2011年3月06日
发表于:2014-04-19 10:52:46
1楼

中断        


信息保密

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 69回
  • 年度积分:0
  • 历史总积分:320
  • 注册:2012年6月21日
发表于:2014-04-19 11:53:15
2楼

你要的是精确的5:00.000这一时刻的数据,对吗?也就是说过了1ms(5:00.001)都不行,对吗?

告诉你,行不通。如果你使用PLC,它可能在这一时刻是不读取AI数据的,因为它有扫描周期。同时变送器在这一时刻也可能不发出数据,因为A/D转换也需要时间。你的理想情况只能在DDZ模拟仪表中实现。

现在所谓模拟量只是将很多的采集点用包络线连接起来的曲线,不是真正的连续的曲线,用了计算机就要接受这个特点。不信的话你可以留意:所有的数字仪表都有采样周期,或者称为扫描周期。

实际上,测量技术都有允许误差,你能做的就是选择采样时间短的变送器、选择最快运算速度的CPU、减少IO模块、减少(尽可能地优化)控制语句。给你一款控制器的技术参数,供参考:

 

去留无意_467

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 138回
  • 年度积分:0
  • 历史总积分:660
  • 注册:2010年4月15日
发表于:2014-04-19 16:59:54
3楼

我觉得楼主是担心某一瞬间的值是相对变化较大的,有可能取到极端的值。我们看伺服的转速时,这个可视的值一定是滤波之后的,如果没有滤波周期显示,比如2MS显示一次,那看到的值将是变化飞快而且变化幅度也很大的,怎么办呢,进行100MS或者更长时间的滤波,那么看到的值就是一个变化缓慢的一个时间段的平均值了。所以,我建议把取样值进行滤波,取平均值参与计算!

980568120

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 711回
  • 年度积分:0
  • 历史总积分:2147
  • 注册:2013年5月14日
发表于:2014-04-19 20:00:56
4楼

把前面的15分钟化为秒,也就是900秒,每秒的数值都存起来,轮流存,轮流取用,轮流删除,看这样行不行

邵-王者之师

  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2014-04-20 22:48:15
5楼

额,我顺便来观摩一下,过程控制是怎么用PLC这种程序扫描来控制的。

我估计滤波是肯定的,不然瞬间一个干扰或者跳动那么对你的执行器将造成较大的误动作,而且你这么长时间采集一次,貌似不妥。

 


热门招聘
相关主题

官方公众号

智造工程师