数字滤波FB块封装——ST语言(多种滤波相拟合)-纯干货分享

百科   2024-08-28 12:29   山东  

会员可进入会员下载区获取相关资料~

在工业自动化领域中,可编程逻辑控制器(PLC)被广泛用于控制各种机械设备和过程。在处理来自传感器的信号时,数字滤波是一种常见的技术,用于去除信号中的噪声或不需要的频率成分,从而提高数据的准确性和可靠性。

数字滤波器的基本类型:

  1. 均值滤波器:通过计算一系列连续采样值的平均值来平滑信号。这有助于减少随机噪声的影响。

  2. 加权移动平均滤波器:与均值滤波器类似,但给最近的数据点赋予更高的权重。

  3. 指数平滑滤波器:将新读数与前一次滤波结果的加权平均作为新的滤波输出。这种滤波器对最新的测量值给予较高的权重,适用于快速变化的信号。

  4. 一阶低通滤波器:模拟电路中常用的一阶RC滤波器的数字等效物,可以有效地过滤掉高频噪声。

一、数字滤波的作用
数字滤波在可编程逻辑控制器(PLC)中的作用主要是改善信号质量,减少噪声干扰,提高系统的稳定性和控制精度。以下是数字滤波在PLC中的一些具体作用:
  1. 降低噪声:

  • 数字滤波可以去除输入信号中的随机噪声,防止这些噪声影响到控制系统的性能。

  • 平滑数据:

    • 通过滤波器处理,可以使输入信号更加平滑,避免因信号突变导致的误动作。

  • 消除尖峰:

    • 对于传感器输出的信号中可能出现的尖峰或脉冲干扰,数字滤波可以帮助消除这些异常值。


  • 提高响应速度和稳定性:

    • 适当的滤波可以使得控制系统对实际变化做出更快且更稳定的响应。

  • 信号预处理:

    • 在复杂的控制系统中,数字滤波作为信号预处理的一部分,为后续的控制算法提供更加可靠的数据输入。


      二、主要滤波算法
      (一)、滑动滤波
      滑动滤波Moving Average Filter是目前在自动化邻域应用特别广泛的数字信号滤波方式,主要用于外部干扰和噪声对真实值的影响。滑动滤波的工作原理就是把采集的信号存到一个数组里对其求算数平均或者加权平均,随着新采集的数到来把数组里的数不断的向前移动,没移到一次求取一次平均值。滑动滤波具体计算公式如下所示

      (二)、卡尔曼滤波

      卡尔曼(Kalman)通常是指卡尔曼滤波,是一种估计的数字滤波算法。卡尔曼滤波是基于贝叶斯估计的递归滤波器,主要用于从包含噪声的测量数据中提取动态系统的最优状态估计。它的核心是利用系统的动态模型预测估计下一个状态,并且更新状态方程和观测方程,从而得到更加准确的状态估计。卡尔曼滤波算法具体计算公式如下所示


      (二)、IIR滤波
      无限脉冲响应(Infinite Impulse Response, IIR)滤波器是一种数字滤波器,它具有反馈路径,这意味着它的输出不仅依赖于当前和过去的输入样本,还依赖于过去的输出样本。IIR滤波器因其高效性和灵活性而在各种应用中被广泛使用。主要作用在以下几方面:
      1. 频率选择性:IIR滤波器可以设计成低通、高通、带通或带阻滤波器,以满足不同频率响应的需求。

      2. 高效率:相比有限脉冲响应(FIR)滤波器,IIR滤波器通常需要较少的系数和计算资源来达到相似的性能。

      3. 非线性相位:IIR滤波器通常具有非线性的相位响应,这在某些应用中可能是可接受的。


      (三)、FIR滤波
      有限脉冲响应(Finite Impulse Response, FIR)滤波器是一种数字滤波器,它的输出只依赖于当前和过去的输入样本,而不包含任何反馈回路。这种类型的滤波器具有线性相位响应,非常适合需要保持信号相位不变的应用场景。主要作用在以下几方面:
      1. 线性相位:FIR滤波器能够实现线性相位响应,这对于保持信号的时域特性非常关键。

      2. 稳定性:FIR滤波器总是稳定的,因为它们没有反馈回路。

      3. 易于设计:FIR滤波器的设计相对简单,可以通过窗口法、频率采样法等多种方法来实现。

      4. 适应性强:可以轻松地设计出低通、高通、带通或带阻滤波器

      (三)、滑动滤波、卡尔曼滤波、IIR滤波、FIR滤波相拟合

      将滑动平均滤波、卡尔曼滤波、IIR滤波和FIR滤波结合使用是一种高级的信号处理技术,可以在不同的层面上提高信号质量和鲁棒性。每种滤波器都有其独特的特点和适用场景,结合使用可以充分利用各自的优点。

      三、直接上干货(FB块封装、程序展示)
      (一)、FB块封装

      (二)、程序——ST语言


      加入知识星球智能制造与自动化,加入会员可下载此公众号发布文章中的相关资料(行业报告、MES、数字化技术方案、自动化教程、自动化行业标准化资料VASS\SICAR\戴姆勒等、C#上位机开发、node-red开发、人工智能教程等)。

      会员下载区

      今天的文章,如果你感觉有价值,请记得一键三连:点赞加关注,留言,转发朋友圈,分享收藏,点击在看之后,一定记着加我个人微信:ZIDHXB。

      往期精彩回顾




      汽车行业Sicar控制标准资料有偿获取
      博途PLC与FactoryIO联合仿真教程限时分享
      PLC程序动态加密—分级催款可远程授权程序与授权软件分享
      SIEMENS/西门子杯,六部十层电梯程序分享
      FactoryIO与博途联合三色物料气缸分拣站程序分享
      多台排水泵按累计运行时间切换和先启先停切换多模式控制PLC程序分享
      倍福PLC视频教程及资料免费分享(36G)
      三菱PLC编写的贪吃蛇与俄罗斯方块程序分享
      库卡EthernetKRL备选软件包分享(版本V3.1.3)
      精美博途Wincc界面程序模板分享
      TIA_Portal_v18虚拟机分享
      西门子博途V19全家桶与最新授权下载
      大众VASS05标准Step7v5.5软件虚拟机分享
      TIA_Portal_v19虚拟机分享
      西门子SCL编程实例—扫雷游戏分享
      西门子TIA博途软件入门到精通教程免费分享
      西门子S7-1500博途PLC(基础+高级)视频教程分享
      西门子TIA博途-SCL高级编程多套视频资料免费分享-限时删除
      西门子TIA博途高级语言SCL视频资料分享
      三菱FX3U系列plc精讲视频分享(40讲+240讲) 49GB
      西门子smart200视频教程分享
      两套西门子WinCC视频教程分享(9.5G)
      PLC、触摸屏工控小游戏样例合集分享
      EPLAN电气设计制图视频教程分享-限时删除
      都有哪些好用电工仿真软件?学习电路图变得如此简
      67本自动化书籍免费领取啦!!!
      最新西门子授权工具EKB2022版分享
      立体仓库穿梭车程序分享
      威纶触摸屏视频教程(66讲)分享
      博途TIA V16-V17全套软件与组件分享
      标准化编程之-博途TIA程序设计编程规范
      西门子SCL编程练习:排水泵根据运行时间先起先停控制
      如何使用C#编写程序读写西门子PLC?
      VASS标准—PLC安全程序架构讲解
      VASS05标准—KUKA机器人培训课件
      大众VASS_05标准——PLC程序架构
      大众VASS05生画面遇到的问题总结
      SEW_MOVIPRO变频器在VASS05标准中的应用
      SEW_MOVIFIT变频器在VASS05标准中的应用
      KUKA机器人高级编程(下)第3-4章(计时器\运动编程)
      西门子博途SCL案例_仓储系统出料优先级控制程序实战练习
      西门子TIA博途SCL高级教程—伺服V90速度控制
      西门子TIA博途SCL高级教程—伺服V90定位控制
      西门子TIA博途SCL高级视频教程—模拟量在工程中的应用
      博途TIA Portal——SCL间接寻址PEEK和POKE指令的使用案例
      西门子SCL高级语言教程—冒泡排序和选择排序
      西门子SCL编程实例—字与位的转换Word_To_Bit
      西门子博途WINCC脚本VBS教程4_脚本操作画面内对象的属性
      如何使用C#编写程序读写西门子PLC?
      C#上位机通过TCP/IP协议和KUKA机器人通讯
      不外传的28条PLC编程规范及建议,赶紧收藏
      win10家庭版安装西门子博途软件时提示“管理员已阻止你运行此应用”解决方法
      西门子SCL编程-数据堆栈存储与操作在项目中的使用
      博途实现程序动态加密—分级催款密钥授权管理系统程序实现
      分享几个PROFINET网络故障诊断与分析案例
      工控的面向对象编程
      SiCar自动化标准平台架构
      特斯拉EPLAN 电气图纸和结构标准
      SICAR标准-VALVE_1_TO_8_3POS_FB夹具控制功能块
      西门子PLC信号分析软件Winplc Analyzer 使用方法
      PROFINET设备的GSD文件及其描述语言GSDML
      大众标准VASS06软件环境设置
      ABB机器人编程与应用中级篇
      PLC编程算法—FIFO堆栈程序的实现
      大众VASS06 项目库标准程序结构.
      C#利用S7netplus读写西门子PLC数据
      吉利KUKA_KRC4系列机器人现场应用规范和技术要求
      TESLA特斯拉—PLC 逻辑编程规范
      TESLA特斯拉—SCADA 设计规范
      多台排水泵按累计运行时间切换和先启先停切换多模式控制PLC程序分享
      西门子S7-200SMART编码器线速度测量算法
      西门子S7-200SMART一阶RC低通滤波算法原理与实现
      博途S7-1500SCL与FactoryIO仿真实现一阶RC低通滤波器皮带机速度平滑控制
      Node-Red与ModbusTCP设备通信——写数据
      Node-Red与ModbusTCP设备通信——读数据
      大众汽车PLC-VASS05标准视频教程
      你知道制造业10大系统集成:SCADA、MES、PLM、ERP、SCM、WMS、APS、QMS、CRM、EAM的关系吗?
      西门子S7-300 SCL编程实现数组队列搜索、插入、删除、改动功能


      智能制造与自动化
      每天学习一点点,时间会给你一个不可思议的礼物。定期分享智能制造与自动化知识点,分享比收获更让人幸福。 智能制造、自动化、数字化、机器人、工业互联网 PLC\x5cMES\x5cSCADA\x5cEPLAN\x5c 西门子\x5c三菱\x5c施耐德\x5cKUKA\x5c
       最新文章