主要内容

使用slLinearizer接口改变工作点并获得多个传递函数

这个例子展示了如何使用SLINESERIZER.批量线性化Simulink®模型的接口。金宝app在多个工作点上对模型进行线性化,并从模型中获得多个开环和闭环传递函数。

您可以使用相同的分析线性化命令。然而,当您希望获得多个开环和闭环传递函数时,特别是对于重复编译代价昂贵的模型,SLINESERIZER.可以更有效率。

为模型创建SLINESIRER接口

打开模型。

mdl ='水缸';Open_System(MDL)

使用SLINESERIZER.命令创建接口。

sllin = slLinearizer (mdl)
“Watertank”的SlineSearizer线性化接口:没有分析点。使用addpoint命令添加新点。没有永久性开口。使用addopening命令添加新的永久性开口。具有点符号的属性GET / SET Access:参数:[]操作点:[](模型初始条件将使用。)BlockSubstutions:[]选项:[1x1线性化.LineArizeOptions]

命令窗口显示显示关于SLINESERIZER.界面。在这个界面中,手术点属性显示显示没有指定操作点。

为线性化指定多个工作点

您可以使用修剪过的工作点、模型初始条件或模拟快照时间来线性化模型。对于这个例子,使用你从不同的水位参考高度获得的纵倾点。

opspec = operspec(mdl);opspec.states(2).known = 1;opts = findopoptions(“DisplayReport”“关闭”);H = [10 15 20];ct = 1:numel(h) opspec.States(2)。x = h (ct);Href = h (ct);运维(ct) = findop (mdl opspec,选择);结束sllin。OperatingPoints =行动;

在这里,h指定不同的水位。运维是操作点对象的1 × 3数组。每个条目的运维为模型在相应水位处的工作点。配置手术点的属性sllin运维.现在,当你从sllin使用getIOTransfergetLoopTransfergetSensitivity, 和getCompSensitivity函数时,软件对每个指定的工作点返回一个线性化。

每个配平点仅对对应的参考高度有效,用HREF.所需水位块的参数。所以,配置sllin更改此参数。

param.name =“Href”;参数。值= h;sllin。参数=参数;

分析植物传递函数

在里面水缸模型,水箱系统块代表植物。为了获得植物传递函数,将水箱系统块的输入和输出信号添加为分析点sllin

addPoint (sllin, {“watertank / PID控制器”'watertank /水箱系统'}) sllin
“Watertank”的SlineSearizer线性化接口:2分析点:----------------------第1页: - 块:水坑/ PID控制器 - 端口:1点2: - 块:水坑/水箱系统 - 端口:1没有永久性开口。使用addopening命令添加新的永久性开口。具有点符号的属性GET / SET Access:参数:[1x1 struct],1个参数,具有大小1x3“href”的采样网格,在10到20之间变化。操作点:[1x3 opcond.operatingpoint] blocksubstitutions:[]选项:[1x1线性化.LinearizeOptions]

源自PID控制器块的出口的第一个分析点是对水箱系统块的输入。第二分析点是水箱系统块的输出。

从水箱系统块的输入到块输出中获得植物传递函数。为消除反馈循环的影响,请将块输出指定为临时环路开口。

G = getIOTransfer (sllin,“PID”'坦克''坦克');

在号召中getIOTransfer“PID”,块名称的一部分“watertank / PID控制器”,指定作为传输功能输入的第一个分析点。相似地,'坦克',块名称的一部分'watertank /水箱系统',指第二分析点。这个分析点被指定为传递函数输出(第三个输入参数)和临时循环打开(第四个输入参数)。

输出,G,是一个1 × 3连续时间状态空间模型数组。

绘制阶段响应G

stepplot (G);

电站模型的阶跃响应在不同工作点有显著差异。

分析闭环传递函数

闭环传递函数等于来自参考输入的传递函数,源于所需的水位块,到工厂输出。

将参考输入信号添加为分析点sllin

addpoint(slin,“watertank /期望的水位”);

得到闭环传递函数。

T = getIOTransfer (sllin“想要的”'坦克');

输出,T,是一个1 × 3连续时间状态空间模型数组。

绘制阶段响应T

stepplot (T);

虽然被控对象传递函数的阶跃响应在三个修剪工作点上变化显著,但控制器使所有三个工作点上的闭环响应更接近。

分析植物产量的敏感性

s = getsitivity(slin,'坦克');

该软件注入干扰信号并测量工厂输出的输出。年代是一个1 × 3连续时间状态空间模型数组。

绘制阶段响应年代

stepplot(年代);

从图中可以看出,两种模型都能在40秒内抑制植物输出的阶跃扰动。

另请参阅

|||||||

相关话题