基于嵌入式平台的多模型DMC算法实现
2018-08-01李长青
李长青,王 乾,姜 炜
(河北省发电过程仿真与优化控制工程技术研究中心(华北电力大学),河北 保定 071003)
0 引言
复杂工业过程以其特有的复杂性推动着复杂过程控制的发展,这些复杂性主要表现在非线性和大时滞方面。然而,传统比例积分微分(proportion,integration,differentiation,PID)控制算法在解决复杂工业过程中逐渐体现出其控制品质不足的缺点。
动态矩阵控制(Dynamic Matrix Control,DMC)算法是一种重要的预测控制算法[1],经过多年的发展,已经成为具有代表性的先进控制算法之一。多模型DMC算法是在DMC算法的基础上实现的,设计过程中采用不同工况下获取的阶跃响应模型作为内部预测模型[2],因此在控制非线性被控对象的过程中拥有更多的对象信息。
结合嵌入式平台[3]专用性强、实时性高、性能稳定可靠的特点,设计了一种基于嵌入式平台的多模型DMC控制器。
1 多模型DMC算法基本原理
多模型DMC算法是指内部拥有多个被控对象阶跃响应的预测控制算法[5]。即将一个复杂的被控对象分解为若干个子对象,针对每个子对象设计各自的控制器,然后把各控制器的输出通过加权器进行加权求和运算得到作用于实际系统的控制量。多模型DMC算法与DMC算法的区别在于其内部包含多个预测模型和加权器[5]。
1.1DMC算法
对于线性被控对象,在初始状态为稳定状态的条件下,通过在其一端施加一个控制增量获取其阶跃响应的采样值 A′=[a1′,a2′, …,aN′]T,N 称为建模时域。N的选择应使过程响应值接近其稳态值,即aN′≈a∞。由线性系统的比例性质可知,其单位阶跃响应动态向量为
在k时刻在系统的一端施加控制增量Δu(k)时,未来N个时刻的预测模型输出为
在k时刻,在M个连续的控制增量Δu(k),…,Δu(k+M-1)的作用下,未来 P个时刻的输出预测值为
式中:
在 k 时刻,给定期望值 yr(k+i),i=1,…,P,取二次型优化性能指标
式中:Yr(k)=[yr(k+1),…,yr(k+P)]T,Q,λ为权系数构成的对角阵。
二次型优化性能指标最优解为
在k时刻,仅取当前控制增量Δu(k)实施于被控对象。 比较实际输出 y(k+1)与预测输出y^(k+1),将该输出误差e(k+1)以加权的方式反馈到原预测模型上加以修正
式中:H为校正矩阵。
依据上述原理,可做如图 1所示方框图。
图1 动态矩阵方框图
1.2 多模型建模
在被控对象的不同工作点附近将非线性系统线性化,用多个线性模型逼近原非线性系统,是一种常用的多模型建模方法[6]。
对于大时变对象,在建立多模型的过程中,应选取模型变化明显的工况点,同时还需要记录工况点的初始状态和阶跃响应输入的控制增量,然后依次在不同工况条件下进行阶跃响应实验即可[7]。
1.3 多模型权重计算方法
采用递推贝叶斯概率权重算法[7]作为多模型DMC算法的加权器。该算法的权重通过当前各个子模型与对象的匹配误差以及历史匹配概率进行计算,条件概率计算公式为
式中:Pj,k为 k时刻子模型 j匹配度的条件概率;ζj,k=y(k)-j(k),是 k 时刻子模型 j和控制对象的匹配误差;K为递推计算收敛系数;z为子模型个数。权重计算公式为
式中:wj,k是 k时刻子模型 j的权重系数;δ是极小值,当 Pj,k>δ时,使 wj,k=0;c 是 Pj,k≤δ时的模型编号 j的值,即为了保证所有权值总和为 1,在计算Pj,k>δ时的权重时,不包括 Pj,k≤δ的概率值。
最后权重系数与各子模型控制量的输出通过加权和的计算方式,得到实际作用于被控对象的控制量
1.4 多模型DMC算法
多模型DMC算法采用统一的控制量增量Δu作被控对象以及z个子模型的预测控制量输入,采用被控对象的输出和z个子模型的预测输出Δuj作差,作为递推贝叶斯加权概率的输入ζj获得加权系数w1~wz。将z个子模型的预测控制量输出与加权系数进行加权和运算,最终获得控制量增量Δu。
由于多模型DMC算法在运行过程中运用到了大量的矩阵运算,并且其实现环境是嵌入式平台,因此在实现过程中,一方面需要将矩阵算法进行了模块化处理,另一方面对于矩阵运算的维度大小需要进行限制,规定子模型个数不超过5个,子模型的采样时域N不超过200。
2 算法平台及实现
2.1 嵌入式平台
多模型DMC算法的环境依托嵌入式平台。嵌入式平台的处理器芯片采用Motorola基于PowerPC体系结构的MPC8560,该处理器芯片以其高性能的内核运行速度,内存大、安全可靠和低功耗的特点,适用于控制算法的核心处理器。同时,本嵌入式平台拥有3个网口通信接口,1路RS-232通信接口和3路RS-485通信接口,丰富的通信接口极大地方便了与现场设备之间的数据交互。
出于现场运行稳定可靠的角度考虑,嵌入式平台在搭建过程中采用冗余备份的方式进行,即所有物理环节均有两套设备。运行过程中,其中的一套设备处于实时运算状态,另外一套设备处于跟踪运行状态。
嵌入式平台通过网络通信协议与上位机软件进行通信,从而使数据实现实时高速传输。冗余平台之间采用RS-232通信方式实现运行状态和跟踪状态之间的切换,采用网络通信方式实现数据的实时备份。平台采用RS-485通信方式实现与现场设备之间的数据交互。目前多数现场设备之间的通信协议采用MODBUS,因此嵌入式平台与现场运行的传感器和执行器之间采用MODBUS通信协议。嵌入式平台现场接线图如图2所示。
图2 嵌入式平台现场接线
2.2 算法运行环境
工业现场对系统的可靠性和实时性有很高的要求,需要一套拥有高性能的操作系统实现任务的切换、调度和管理。VxWorks嵌入式操作系统[9]以其良好的模块化、可扩展性、信息性安全、功能性安全和虚拟化特性能够有效地降低研发成本、缩短生产周期。因此在实现多模型DMC算法的过程中采用了VxWorks操作系统。
上位机软件用于提供快捷便利的人机交互界面,具有快速搭建逻辑组态图,生成嵌入式平台运行文件以及在线下发命令,实时在线显示动态趋势和历史数据管理的功能。多模型DMC算法模块的逻辑组态图由上位机软件生成运行文件下装至嵌入式平台,再由嵌入式平台实现算法的现场运算。
2.3 算法实现要点
每个嵌入式平台中可以运算多个多模型DMC算法,算法中至多可以存放5个子模型,每个子模型都涉及1个模型文件,因此在算法实现的过程中需要将模块中的子模型按照规定格式进行命名和存储。每个多模型DMC算法模块的文件夹命名规则采用上位机软件下装的唯一模块标识符进行命名,文件夹中存放至多5个子模型文件,子模型1~5采用A1~A5的命名方式。
此外还需要一个额外的文件记录当前嵌入式平台中所有的多模型DMC算法模块的文件信息,该文件一方面便于对子模型文件进行增减操作,另一方面便于区别冗余设备之间的运行状态与备份状态。
算法实现过程中运用了大量的矩阵运算,所以将通用的矩阵运算编写成函数库的形式方便调用。另外嵌入式平台存储空间相对于大规模矩阵运算而言,空间有限。在进行大量矩阵运算过程中,要特别注意内存空间的动态开辟与释放。
3 仿真研究
考虑如下的二阶非线性被控对象
采用上位机软件搭建多模型DMC控制器、单模型DMC控制器和PID控制器逻辑组态图进行仿真实验。仿真逻辑组态如图3所示。
3.1 采样过程
通过模块属性对话框可以对DMC算法进行初始状态设定、子模型文件管理和参数属性设置。模块内部存在子模型z时,对应的采样完成标志前打对勾。当模块内部有且仅有1个子模型时,即为单模型DMC模块。另外,通过“进入系统数据库”按钮可以将模块的实时数据记录在数据库中,便于日后查阅。模块属性如图4所示。
对多模型DMC模块进行5次子模型采样,采样时间间隔为1 s,采样过程参数设定如表1所示。
图3 控制逻辑组态
表1 参数设定
对单模型DMC进行1次模型采样即可,采样过程中参数设定为 r0=36,y0=30,Δ=10
3.2 控制过程
子模型采样完毕,对DMC控制器参数的设定,可以参考如下设定方案:采样时域N,应尽量覆盖被控对象阶跃响应的整个过程;预测时域P,尽可能接近采样时域;控制时域M,选取8以内即可。随后将各个控制器参数调节到最佳状态,分别进行4次实验,得到如图5曲线。
图4 DMC模块属性设置
图5 输出响应曲线
从实验曲线可以看出,在大范围工况条件下,PID控制器对非线性被控对象的控制有明显的超调现象,而DMC控制器相比较于普通PID控制器而言具有调节时间短,超调量小的优势。另外,由于单模型DMC控制器只采样了一组模型响应数据,因此在其采样点附近工作时,具有与多模型DMC控制器一样的控制效果,但是在其他工作点时,由于多模型DMC比单模型DMC控制器具有更多的模型,所以在控制过程中,具有明显的超调量小的优点。
4 结语
详细介绍了基于嵌入式平台多模型DMC算法的实现。针对复杂的工业生产过程,采用多模型DMC算法使得被控对象在控制过程中具有超调量小,调整时间短的优点。同时配合显示友好的上位机软件,更加直观方便地搭建逻辑组态,从而提升工作效率。实验表明,基于嵌入式平台的多模型DMC算法具有更优秀的控制品质。