回复:单位时间内模拟量波动一定数值则输出报警的程序段

已锁定

锋言锋语

西门子1847工业学习平台

  • 帖子

    3943
  • 精华

    54
  • 被关注

    130

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

发布于 2021-04-02 14:33:23

5楼

展开查看
以下是引用zhangli0在2021-04-02 12:28:07的发言 >3楼

既然说波动,那就和平均值有关系了。假设你的信号1s取样一次,那么计算十分钟的波动则需要建立一个600个元素的数组,采用fifo队列,把数据输入数组中,然后数组求平均值,平均值和当前值求差后求却对之,如果结果大于3则输出报警。

如果abs(pv-average(600个数组元素的值))>=3.0则警告为1,否则警告为0

一阶滤波是干啥的?


一个公式解决问题。


yn = a * yn  + (1 - a ) * value;


yn: 滤波输出

0 < a < 1,  一般取a > 0.9;  越大, 滤波效果越强;


value:  当前读入的实际值;

不忘初心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54625条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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