主要内容

在锅筒锅炉调节压力

这个例子展示了如何使用仿真软件®控制设计™软件,使用一个鼓锅金宝app炉作为一个示例应用程序。使用操作点搜索功能,这个例子说明了模型线性化以及后续状态观测器和等方面的设计。汽包锅炉模型的控制问题是控制锅炉压力面对随机热波动从炉通过调节给水流量和名义热应用。对于本例,95%的随机热波动小于50%的名义热值,这不是不寻常furnace-fired锅炉。

打开模型

打开仿真软件模型。金宝app

mdl =“Boiler_Demo”;open_system (mdl)

当你打开锅炉控制模型软件初始化控制器的大小。情况y0设置后的操作点计算,因此最初设置为0。观察者和监管机构在控制器设计步骤和计算也是最初设置为0。

发现名义操作点和线性化模型

模型中定义的初始状态值仿真软件模型。金宝app使用这些状态值,发现稳态操作使用findop函数。

创建一个操作点规范的状态值是已知的。

opspec = operspec (mdl);opspec.States (1)。= 1;opspec.States (2)。= 1;opspec.States (3)。知道= (1,1);

调整操作点规范表明输入必须计算和下限。

opspec.Inputs (1)。知道= (0,0);%输入未知opspec.Inputs (1)。最小值= (0,0);%输入最小值

添加一个输出规范操作规范;这是必要的,以确保输出操作点的解决方案过程中计算。

(mdl opspec = addoutputspec (opspec,' /锅炉'),1);opspec.Outputs (1)。知道= 0;%输出未知opspec.Outputs (1)。最小值= 0;%输出最小值

计算操作点,并生成一个操作点搜索报告。

(运维、opReport) = findop (mdl opspec);
操作点搜索报告:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - opreport Boiler_Demo =操作点搜索报告模型。(时变组件评估在时间t = 0)操作点规范成功实现。状态:- - - - - - - - - - - Min x马克斯dxMin dx dxMax………………………………(1)。Boiler_Demo /锅炉蒸汽体积5.6 5.6 5.6 7.8501 e-13 0 (2)。Boiler_Demo锅炉/温度/ 180 180 180 0 -5.9262 e-14 0 (3)。Boiler_Demo /观察者/内部0 0 0 0 0 0 0 0 0 0 0 0输入:- - - - - - - - - - -最小u最大………………(1)。Boiler_Demo /输入0 241069.0782正0 100.1327正输出:- - - - - - - - - - - Min y马克斯说________ (1)。Boiler_Demo /锅炉0 1002.381正无穷

在线性化模型在这一点上,指定输入和输出信号的线性模型。首先,指定的输入点线性化。

Boiler_io (1) = linio ([mdl/笔的),1“输入”);(mdl Boiler_io (2) = linio (' /多路分配器'),2,“输入”);

接下来,指定的开环输出点线性化。

(mdl Boiler_io (3) = linio (' /锅炉'),1“openoutput”);setlinio (mdl Boiler_io);

找到一个线性模型在选择操作点。

Lin_Boiler =线性化(mdl、ops、Boiler_io);

最后,使用minreal功能,确保模型是一个最小的实现。

Lin_Boiler = minreal (Lin_Boiler);
1状态删除。

设计调节器和状态观测器

使用这种线性模型,设计一个等监管机构和卡尔曼滤波状态观测器。首先,找到控制器补偿,以确保在选择线性化控制器操作点通过检索计算操作点。

情况= opReport.Inputs.u;y0 = opReport.Outputs.y;

现在,设计调节器使用lqry函数。严格监管所需的输出,输入变化应该是有限的。

Q =诊断接头(1 e8);%输出调节R =诊断接头([1 e2, 1 e6]);%的输入限制[K S E] = lqry (Lin_Boiler, Q, R);

设计使用的卡尔曼滤波状态观测器卡尔曼函数。对于这个示例,主要噪声源噪声过程。噪音进入系统只有通过一个输入,因此的形式GH

[A, B, C, D] = ssdata (Lin_Boiler);G = B (: 1);H = 0;QN = 1 e4;RN = 1 e 1;NN = 0;(Kobsv L P) =卡尔曼(ss (A, B [G], C, D [H]), QN, RN);

模拟模型

模拟模型设计控制器。

sim (mdl)

绘制过程的输入和输出信号。下面的图显示了在公斤/年代给水驱动信号。

情节(FeedWater.time / 60, FeedWater.signals.values)标题(“给水流量(公斤/ s)”);ylabel (“流(公斤/ s)”)包含(的时间(分钟)网格)

下面的图显示了kJ的热驱动信号。

情节(Heat.time / 60, Heat.signals.values / 1000)标题(“应用热(kJ)”);ylabel (“热(kJ)”)包含(的时间(分钟)网格)

下一个图显示了kJ的热扰动。干扰变化高达50%的名义热值。

情节(HeatDist.time / 60, HeatDist.signals.values / 1000)标题(“热扰动(kJ)”);ylabel (“热(kJ)”)包含(的时间(分钟)网格)

下图展示了相应的鼓压力kPa。不同的压力大约1%的名义价值即使扰动相对较大。

情节(DrumPressure.time / 60, DrumPressure.signals.values)标题(“鼓压力(kPa)”);ylabel (“压力(kPa)”)包含(的时间(分钟)网格)bdclose (mdl)

另请参阅

|||

相关的话题