广义预测控制+经典PID控制如何用matlab编程实现?在工业上如何实现控制(硬件平台)?请这方面的高手帮助

广义预测控制+经典PID控制如何用matlab编程实现?在工业上如何实现控制(硬件平台)?请这方面的高手帮助,第1张

广义预测控制需要实现四个功能:1、参数估计,可以用递推最小二乘法实现;2、使用丢番图方程对模型分解分解为当前状态和历史输入对模型未来输出值的作用公式,未来输入对模型未来输出值的作用公式;推导过程过于繁琐,可以直接套用公式计算。3、参考轨迹生成,可以使用下面公式递推得到:r(n)=(1-k)*y(n-1)+k*(s-y(n-1)),其中k为时间常量,决定系统的调节速度,s为设定值。4、最优值计算,可以直接套用公式。实现过程:首先辨识系统模型,然后使用丢番图方程对辨识得到的模型进行分解,计算参考轨迹,最后把参考估计和分解后的系统模型带入公式得到最优输出值(其实是次优解),如此反复即可实现预测控制。

经典PID计算:可以使用增量式的公式:y(n)=y(n-1)+Kp*[e(n)-e(n-1)]+Ki*e(n)+Kd*[e(n)+e(n-2)-2*e(n-1)]

需要说明广义预测控制和PID控制输出都需要设置输出值限幅。

工业实现:可以用c语言编写程序作为控制软件的控制代码,硬件平台可以是一台工控机或者PLC,另外也有这方面的软件包,不过很贵。

我没有自己看你的程序,不过通过图可以看得清楚啊,实际输出用‘o’表示,预测的用‘+’表示。第一个图估计是初始化,也就是第一步,预测还没有开始,还是相等的点。而下图表示,已经预测结束,与实际基本吻合。

模型预测控制和总线参数。matlab语言mpc.bus的意思是模型预测控制和总线参数,matlab语言是一个高级的基于矩阵/数组的语言,包括程序流控制、函数、脚本、数据结构、输入/输出、工具箱和面向对象编程等特色。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11115340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存