包裹:fr
识别时变源块
块= frest.findsources(模型)
块= frest.findsources(模型,io)
在Simulink中标记的任何线性化输出点的信号路径中找到所有时变源块万博1manbetx®模型块
= fest.findsources(模型
)模型
。
在线性分析点中指定的任何线性化输出点的信号路径中找到所有时变源块块
= fest.findsources(模型
那IO.
)IO.
。
|
字符向量或字符串,其中包含要识别频率响应估计的时变源块的Simulink模型的名称。万博1manbetx |
|
线性化阵列I / O点。 元素 |
|
块时间变化源块的路径 如果你提供 如果你不提供 |
估计具有时变源块的模型的频率响应。此示例显示了使用疯狂
识别干扰频率响应估计的时变源块。你也可以看到使用blockstoholdconstant.
选择疯狂选择
禁用估计中的时变源块。
加载模型scdspeed_ctrlloop.
。
mdl ='scdspeed_ctrlloop';Open_System(MDL)%将引用的模型转换为正常模式以获得准确性Set_Param('SCDSPEED_CTRLLOP / ENGINES MODEL',...'SIMULATIONMODE','NORMAL');
首先,查看时变源块对频率响应估计的影响。为此,请执行估计而不禁用时变源块。
在此示例中,在模型中已经定义了线性化I / O点。使用格雷林
命令获取I / O点fr
。
io = getLinio(MDL)
定义SINESTREAM信号并计算估计的频率响应系统
。
in = frest.sinestream('频率',logspace(1,2,10),...'numperiods',30,'setlingperiod',25);[sysest,simout] =嫉妒(mdl,io,in);
执行精确的线性化,并与估计的响应进行比较。
sys =线性化(mdl,io);Bodemag(Sys,Sysest,'R *')
估计的频率响应与精确的线性化不匹配。出现不匹配的原因模型中的时变源块可防止响应达到稳定状态。
查找使用时变块使用疯狂
。
srcblks = frest.findsources(mdl);
srcblks.
是与模型中的时变源块对应的块路径数组。要检查结果,请索引到数组中。
例如,进入
srcblks(2)
返回结果
ans = 万博1manbetxsimulink.blockpath包:simulink块路径:'scdspeed_ctrlloop / model型号''scdspeed_plantref / drag torque / step1'
现在您可以估计频率响应而不贡献时变源块。为此,请设置blockstoholdconstant.
选择疯狂选择
等于srcblks.
,并运行估计。
opts = frestimateOptions opts.blockstoholdconstant = srcblks%再次运行再次使用块禁用[sysest2,simout2] = Frestim(MDL,IO,IN,OPTS);
频率响应估计现在提供了与确切的线性化结果的良好匹配。
Bodemag(SYS,SYSEST2,'R *')
用疯狂
识别可以干扰频率响应估计的时变源块。要禁用此类块来估计频率响应,请设置blockstoholdconstant.
选择疯狂选择
等于块
或者是一个子集块
。然后,估计频率响应使用fr
。
有时,模型
包括引用模型,其中包含线性化输出点的信号路径中的源块。在这种情况下,将引用的模型设置为正常仿真模式以确保疯狂
找到它们。使用set_param.
命令设置仿真显示器
任何引用的模型普通的
在跑步之前疯狂
。
找到可以干扰频率响应估计的时变源块,疯狂
从模型中的每个线性化输出点开始。从每个输出点,该算法通过块横向跟踪每个信号路径向后块。该算法报告任何源块(其中没有输入端口的块),除非该源块是a持续的或者地面堵塞。
这疯狂
算法跟踪每个信号路径,该路径可以影响模型中的每个线性化输出点处的信号值。跟踪的路径包括:
笔记
可能无法找到某些时变源块疯狂
。如果块的内部信号路径不包含没有输入端口的块,则该函数未报告该块。
例如,考虑模型scdspeed_ctrlloop.
。该模型具有一个线性化输出点,位于输出和块标记为速度输出
。(这疯狂
算法忽略线性化输入点。)在运行之前疯狂
,将引用的模型转换为正常仿真模式:
set_param('scdspeed_ctrllop /引擎型号',...'simulationmode','正常');
你现在可以运行疯狂
使用模型中定义的线性化输出点来识别时变源块。
srcblks = frest.findsources('scdspeed_ctrlloop');
该算法从输出点开始,横贯迹线开始和堵塞速度输出
。一个输入到速度输出
是子系统外部干扰
。算法进入子系统,找到标记的源块步骤扰动
,并报告该块。
这和堵塞速度输出
具有另一个输入,算法追溯到引用的模型发动机模型
。发动机模型
包含多个子系统,并且算法通过这些子系统跟踪信号以识别存在的任何时变源块。
例如,燃烧
子系统包括从块标记三角洲
从中路由信号火花推进
来源。因为火花推进
是一个恒定的源块,但是,算法没有报告块的存在。
算法继续迹线,直到检查对每个线性化输出点处的信号的所有可能的信号路径被检查。
您可以使用Simulink Mo万博1manbetxdel Advisor来确定模型中输出线性分析点的信号路径中是否存在时变源块。为此,请使用模型顾问检查万博1manbetxSimulink控制设计检查。有关使用Model Advisor的更多信息,请参阅使用模型顾问检查您的模型。