卡尔曼滤波器在S7-300系列PLC中的实现方法技术

技术编号:10371529 阅读:222 留言:0更新日期:2014-08-28 13:44
本发明专利技术公开了一种卡尔曼滤波器在S7-300系列PLC中的实现方法。在S7-300系列PLC系统中定义16个数据块,其中的14个数据块和卡尔曼滤波器迭代算式中的各个矩阵变量一一对应,余下两个数据块用于矩阵运算的暂存。将卡尔曼滤波器迭代算式中若干变量的存取操作转化为S7-300系列PLC系统对应数据块中变量的存取操作。使用PLC系统的指令系统,直接实现矩阵的加减运算、乘法运算、逆运算和卡尔曼滤波器迭代算式。卡尔曼滤波器的计算时间相对确定,且实际应用中的每个采样周期多为单次迭代,通过合理设置PLC系统的警戒定时器,扩充的卡尔曼滤波器功能不会影响PLC系统的正常扫描功能,并为其高级应用提供了新的手段。

【技术实现步骤摘要】
卡尔曼滤波器在S7-300系列PLC中的实现方法
本专利技术属于自动化
,涉及卡尔曼滤波器在S7-300系列PLC中的实现方法。
技术介绍
可编程序控制器(PLC),工业控制微机(主要是IPC)、集散控制系统(DCS)/现场总线控制系统(FCS)和智能控制仪表,是工业自动化领域常用的四大类控制装置。其中,PLC凭借其高可靠性和易用性,在工业自动化工程中的应用最为广泛。大中型PLC主要用于复杂生产线控制、顺序控制、批量控制和流程工业控制。在众多的大中型PLC系统中,西门子的S7-300或S7-400系列PLC凭借其良好的体系结构、网络功能、集成技术和技术支持,已成为我国广泛应用的大中型PLC系统之一。卡尔曼(Kalman)于1960年提出了一种滤波和预报算法,即卡尔曼滤波器,该算法提供了一种高效可计算的方法来估计过程的状态,并使估计值均方误差最小,现已广泛应用于机器人导航、过程控制、数据融合、雷达系统、导弹追踪等,用于解决参数估计、状态预报和工业过程故障诊断等问题。当前广泛使用的PLC系统按照IEC61131-3国际标准提供编程语言和指令系统,各PLC系统厂家尚未提供卡尔曼滤波器本文档来自技高网...
卡尔曼滤波器在S7-300系列PLC中的实现方法

【技术保护点】
卡尔曼滤波器在S7‑300系列PLC中的实现方法,其特征在于:将卡尔曼滤波器迭代算式中若干矩阵变量的存取操作转化为S7‑300系列PLC系统对应数据块中变量的存取操作,并在PLC系统中实现了矩阵的加减运算、乘法运算和逆运算。

【技术特征摘要】
1.卡尔曼滤波器在S7-300系列PLC中的实现方法,其特征在于:将卡尔曼滤波器迭代算式中若干矩阵变量的存取操作转化为S7-300系列PLC系统对应数据块中变量的存取操作,并在PLC系统中实现了矩阵的加减运算、乘法运算和逆运算。2.按照权利要求1所述卡尔曼滤波器在S7-300系列PLC中的实现方法,其特征在于:步骤1:定义数据块DB1~DB16,存放卡尔曼滤波器算式中的变量;DB1~DB6分别存放卡尔曼滤波器迭代算式中的矩阵变量X(k)、Φ(k)、H(k)、y(k)、ω(k)和v(k),数据块DB7存放状态估计值向量DB8存放状态一步预测值向量DB9存放滤波增益矩阵K(k),DB10存放估计误差的协方差矩阵P(k-1,k-1),DB11存放协方差矩阵的一步预测值P(k,k-1),DB12存放Q,DB13存放R,DB14存放单位矩阵I,DB15和DB16用于暂存;基于定义的数据块,在PLC中实现矩阵的加减运算、乘法运算和逆运算;其中,Q为系统噪声的协方差矩阵,R为量测噪声的协方差矩阵;步骤2:计算卡尔曼滤波器的一步预测值,分别从数据块DB7和DB2中取出和Φ(k),按下式计算卡尔曼滤波器的一步预测值将存于数据...

【专利技术属性】
技术研发人员:胡文金叶文汤毅刘显荣李太福徐承爱
申请(专利权)人:重庆科技学院
类型:发明
国别省市:重庆;85

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1