这个例子展示了如何使用SLINESERIZER.
批量线性化Simulink®模型的接口。金宝app在多个工作点上对模型进行线性化,并从模型中获得多个开环和闭环传递函数。
您可以使用相同的分析线性化
命令。然而,当您希望获得多个开环和闭环传递函数时,特别是对于重复编译代价昂贵的模型,SLINESERIZER.
可以更有效率。
打开模型。
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
使用getIOTransfer
,getLoopTransfer
,getSensitivity
, 和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秒内抑制植物输出的阶跃扰动。
SLINESERIZER.
|addPoint
|addOpening
|getIOTransfer
|getLoopTransfer
|getSensitivity
|getCompSensitivity
|线性化