1、可修改可编辑过程控制工程概论课程实验指导书电子电气工程学院自动化系2012.2欢迎下载目 录第一章 前言. .3第二章 过程控制工程概论实验1解耦控制系统仿真实验. . . . . .42纯滞后补偿控制系统仿真实验. . .73预测控制系统仿真实验. .11第一章 前 言本实验课程是与学科专业基础选修课程过程控制工程概论相配合的实践课程。过程控制工程是控制理论、生产工艺、计算机技术和仪器仪表等知识相结合的一门综合性应用学科,过程控制系统仿真是架起理论和实践之间的重要桥梁,是掌握过程系统分析与设计精髓的重要手段。对先进控制系统进行仿真,其不仅可以使学生加强课程的学习效果,而且还可为学生在毕业设计
2、中提供一个强有力的工具,有效加强教学中的实践性教学环节,提高学生的独立工作能力和创造性思维能力。开设本课程的目的,主要是培养学生运用MATLAB语言进行过程控制系统设计与分析的能力,为今后从事科研工作和与专业有关的工程技术工作打好基础。一、上机实验要求1、要求学生熟悉MATLAB中的控制系统工具箱、预测控制工具箱与与SIMULINK软件包。2、能根据有关控制算法,编写有关的MATLAB程序。3、能对实验结果进行分析和讨论,得到相关的实验结论。二、上机实验的基本程序:1、明确实验任务。2、提出实验方案。3、利用SIMULINK工具建立系统的仿真模型,编制有关的MATLAB程序。4、进行实验操作,
3、作好观测和记录,保存有关的实验数据。5、整理实验数据,得出结论,撰写实验报告。在进行上机实验时,上述程序应让学生独立完成,教师给予必要的指导,以培养学生的动手能力。要做好各个上机实验,就应做到:实验前做准备,实验中有条理,实验后勤分析。实验一 解耦控制系统仿真实验一、实验目的了解解耦控制系统的特点和设计方法,掌握前馈补偿解耦控制系统、反馈补偿解耦控制系统和对角阵解耦控制系统的仿真方法,对采取解耦措施后系统的性能进行分析。 二、实验方法在MATLAB环境下,进行SIMULINK仿真,分别建立前馈补偿解耦控制系统、反馈补偿解耦控制系统和对角阵解耦控制系统的仿真框图,分析解耦调节器的参数设置和简化方
4、法。对所设计的解耦控制系统进行动态特性分析,并研究系统的鲁棒性。三、实验设备1586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM2MATLAB7及以上版本,含CONTROL SYSTEM TOOLBOX。 四、实验内容已知某化学反应过程,通过控制反应过程的温度和反应釜内压力变化控制反应过程。可控制输入、分别为两物料流量,系统输出、分别为反应过程温度和反应釜内压力。系统输入输出之间的传递关系为:分别利用前馈补偿解耦方法、反馈补偿解耦方法和对角阵解耦方法对该控制系统进行控制仿真。 五、实验方法 1.前馈补偿解耦控制系统的设计方法 前馈补偿是自动控制中最早出现的一种克服干扰的方法,
5、同样适用于解耦系统。下图所示为应用前馈补偿器来解除系统间耦合的方法。图1 前馈补偿解耦控制系统方框图 解耦补偿装置和可根据前馈补偿原理求得:, 2.反馈补偿解耦控制系统的设计方法 反馈补偿解耦控制系统是多变量解耦控制非常有效的方法。该方法的解耦器布置在反馈通道上。下图所示为应用反馈补偿器来解除系统间耦合的方法。图2 反馈补偿解耦控制系统方框图 解耦补偿装置和可根据反馈补偿原理求得: , 3.对角阵解耦控制系统的设计方法对角矩阵解耦方法是一种常见的解耦控制方法,尤其对复杂系统应用非常广泛。其目的是通过在控制系统附加一矩阵,使该矩阵与对象特征矩阵乘积所构成的广义对象矩阵成为对角矩阵,从而实现系统解
6、耦。下图所示为对角阵解耦控制系统的方框图。图3 对角阵解耦控制系统方框图根据解耦要求可求得,解耦补偿矩阵六、实验步骤1. 分别进行前馈解耦调节器、反馈补偿调节器和对角阵解耦调节器的设计。2. 在MATLAB环境下,分别建立前馈补偿解耦控制系统、反馈补偿解耦控制系统和对角阵解耦控制系统的仿真框图。3. 施加阶跃输出,研究反应过程温度的变化情况。4. 施加阶跃输出,研究反应釜内压力的变化情况。 5. 分析控制系统的动态性能、稳态性能和鲁棒性。七、问题与讨论1、解耦控制系统的作用是什么?应用在什么场合?2、解耦控制系统有哪些典型的解耦方案,各方案有何特点? 3、谈谈实验体会。实验二 纯滞后补偿控制系
7、统仿真实验一、实验目的了解纯滞后补偿控制系统的特点和设计方法,掌握史密斯预估补偿控制系统和改进型史密斯预估补偿控制系统的仿真方法,对纯滞后补偿控制系统的性能进行分析。 二、实验方法在MATLAB环境下,进行SIMULINK仿真,分别建立史密斯预估补偿控制系统、增益自适应史密斯预估补偿控制系统和双控制器补偿控制系统的仿真框图,分析控制器的参数设置方法。对所设计的纯滞后补偿控制系统进行动态特性分析,并研究系统的鲁棒性。三、实验设备1586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM2MATLAB7及以上版本,含CONTROL SYSTEM TOOLBOX。 四、实验内容在估计器无
8、差估计过程模型的理想情况下,分别采用史密斯预估补偿控制、增益自适应补偿控制和双控制器补偿控制对某一化学反应过程进行仿真。其中,输入为原料量,输出为反应所生成的产品质量。系统的数学模型如下:。五、实验方法1. 史密斯预估补偿控制系统的设计史密斯预估补偿控制方案针对纯滞后系统中闭环特征方程含有纯滞后项的特点,在PID反馈的基础上,引入一个预估补偿环节,从而使闭环特征方程方程不含纯滞后项,提高了控制质量。设是史密斯引入的预估补偿器传递函数。为使闭环特征方程不含纯滞后,要求。则史密斯预估补偿控制系统的Simulink仿真框图如下所示:图6 史密斯预估补偿控制系统Simulink仿真框图2. 增益自适应
9、补偿控制系统的设计虽然理论上证明了史密斯预估补偿控制的良好效果,但在工程应用上仍存在一定的局限性。很多研究者为此提出了不同的改进方案。增益自适应补偿控制是在史密斯补偿控制基础上增加了一个除法器、一个一阶微分环节和一个乘法器。利用这三个环节根据模型和过程输出信号之间的比值提供一个自动校正预估器增益的信号。增益自适应补偿控制系统的仿真框图如下所示。图8 增益自适应补偿控制系统仿真框图3. 双控制器补偿控制系统的设计双控制器系统一方面可分离闭环系统的设定值响应和扰动响应,从而同时获得良好的设定值跟踪性能和抗干扰能力;另一方面对模型误差不敏感,从而具有良好的鲁棒性。双控制器的仿真框图为:图10 双控制
10、器补偿控制系统仿真框图六、实验步骤1. 分别进行史密斯预估补偿控制系统、增益自适应补偿控制系统和双控制器补偿控制系统的设计。2. 在MATLAB环境下,分别建立史密斯预估补偿控制系统、增益自适应补偿控制系统和双控制器补偿控制系统的仿真框图。3. 施加阶跃输出,研究系统输出的变化情况。4. 分析控制系统的动态性能、稳态性能和鲁棒性。七、问题与讨论1、滞后控制系统的作用是什么?应用在什么场合?2、滞后控制系统可分为什么类型,各有什么特点? 3、谈谈实验体会。实验三 预测控制系统仿真实验一、实验目的学会在MATLAB环境下根据预测控制的原理图,建立预测控制系统的仿真模型;掌握预测控制器参数设计的方法
11、,编写MATLAB程序来设置预测控制器的参数,并对预测控制系统的性能进行分析。 二、实验方法在MATLAB环境下,进行SIMULINK仿真,建立预测控制系统的仿真框图,对控制器的参数进行设计。对所设计的预测系统进行动态特性分析,并研究系统的鲁棒性。三、实验设备1586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM2MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容双容水箱是工业过程控制中常见的液位被控对象,如下图所示。系统的输入为阀门开度变化量,输出为下箱液位的变化量,已知输入与输出的传递关系为:,要求为该对象设计一个DMC控制器,在MATLA
12、B环境下进行仿真,研究所设计的预测控制系统的性能。图11 双容水箱示意图五、实验方法DMC算法是一种基于对象阶跃响应的预测控制算法,它适用于渐进稳定的线性装置。DMC算法包括预测模型、在线反馈校正、滚动优化等几部分。动态矩阵算法控制结构图如下所示。图12 动态矩阵算法控制结构图根据此结构图可建立如下图所示的Simulink仿真框图,其中动态矩阵、控制向量、误差校正向量、移位阵等参数根据DMC算法原理编制MATLAB程序求出。程序的步骤如下:(1)检测对象的阶跃响应,并经光滑后得到模型系数,然后求出动态矩阵;(2)根据以下公式计算控制系数(3)选择校正系数,设置移位阵;(4)取中前个元素算出;(
13、5)设定参考轨迹。 (6)启动DMC系统的Simulink仿真模型,进行仿真。 图13 DMC系统Simulink仿真框图六、实验步骤1. 进行动态矩阵控制器(DMC)的参数设计,编写相关MATLAB程序,求出DMC控制器的参数。2. 在MATLAB环境下,建立预测控制系统的仿真框图。3. 施加阶跃输出,研究系统输出的变化情况。4. 分析控制系统的动态性能、稳态性能和鲁棒性。 七、问题与讨论1、预测控制的基本原理是什么?2、DMC算法包括哪几部分?有什么优点? 3、谈谈实验体会。%dmcfuzhi.mclearsys=tf(1,conv(80 1,80 1),OutputDelay,10 );
14、tt=0:10:490;y=step(sys,tt); %获得对象阶跃响应的采样值Ts=10; %采样周期N=length(y)-1 a=y(2:length(y),1); %获得阶跃响应模型P=9 %指定优化时域M=1 %指定控制时域for j=1:M for i=j:P A(i,j)=a(i+1-j); endend A %求动态矩阵Q=eye(P);Q(1,1)=0; %控制权矩阵参数设定R=0*eye(M) %约束权矩阵参数设定c=zeros(M,1);c(1)=1;dtao=c*inv(A*Q*A+R)*A*Q %计算控制向量ctao=zeros(1,N);ctao(1)=1 %用于
15、求向量的第一个元素alfa=1; %取=1h1(1)=1;h1(2:N,1)=alfa; %误差校正向量取S1=eye(N-1);S1=zeros(N-1,1) S1;S1(N,N)=1;S=S1; %设置移位阵PN=eye(P) zeros(P,N-P); %取中前个元素算出W=ones(P,1); %设定参考轨迹%dmcjieguo.msys=tf(1,conv(80 1,80 1),OutputDelay,10 );tt=0:10:600; %仿真时间为600秒for t=1:6001 y1(t)=simout1(:,:,t);end %Simout1模块中采样周期设为0.1秒,故600秒的仿真时间其中存了6001个数据t1=0:0.1:600;figure(1)hold onstep(sys,tt); plot(t1,y1); %对象阶跃响应与采用DMC控制器对象响应对比hold offaxis(0 600 0 1.4); . .