无论您是在MATLAB中模拟控制系统®或者模金宝app拟®, 采用分析点标记在模型中的兴趣点。分析点允许您访问内部信号,执行开环分析,或指定控制器调整的要求。在框图表示中,可以认为分析点作为从一个块流到另一个块的信号的访问端口。在Si金宝appmulink中,分析点附加到Simulink块的出口。例如,在以下模型中,参考信号,R.
和控制信号,你
,是源自输出的分析点设定点和C分别块。
每个分析点都可以提供以下一种或多种目的:
输入- 软件在分析点处注入添加剂输入信号,例如,在植物输入处模拟干扰。
输出- 软件测量一个点的信号值,例如,研究干扰对植物输出的影响。
循环打开- 软件在信号流中插入断点,例如,研究工厂输入的开环响应。
您可以同时应用这些目的。例如,计算开环响应你
到y
,你可以对待你
作为循环打开和输入。当您使用分析点以获得多个目的时,软件在此序列中应用目的:输出测量,然后循环打开,然后输入。
使用分析点,您可以从控制系统模型中提取开环和闭环响应。例如,假设T.
表示上面模型中的闭环系统,你
和y
被标记为分析点。T.
可以是广义的状态空间模型或一个SLINESERIZER.
要么SLTUNER.
与Simulink模型的接口。金宝app您可以将闭环响应绘制到具有以下命令的工厂输入的步骤干扰:
tuy = getiotransfer(t,'U'那'是');Stepplot(Tuy)
分析点对于在调整控制系统时指定设计要求也很有用Systune.
命令。例如,您可以创建一个要求,以衰减工厂输入的扰动10(20 dB)或更多。
req = tuninggoal.re注意到('U',10);
考虑以下框图的LTI模型。
g = tf(10,[1 3 10]);C = PID(0.2,1.5);T =反馈(G * C,1);
使用此模型,您可以从中获取闭环响应R.
到y
。但是,您无法分析工厂输入的开环响应,或模拟植物输入的逐步扰动的抑制。要启用此类分析,请标记信号你
作为分析点,通过插入一个分析点
植物和控制器之间的块。
AP = Analysispoint('U');T =反馈(G * AP * C,1);t.outputname =.'是';
工厂输入,你
,现已用于分析。
在创建模型时T.
,您手动创建了分析点块AP
并在反馈循环中明确包含它。使用使用模型时使用连接
命令,您可以指示软件在所指定的位置自动插入分析点。有关更多信息,请参阅连接
。
在Si金宝appmulink中,您可以在框图中明确地标记分析点,或以编程方式使用addpoint.
命令SLINESERIZER.
要么SLTUNER.
接口。
要直接在Simulink模型中指定分析点,首先打开金宝app线性化标签。这样做,在应用画廊,点击线性化管理器。
要指定分析点:
在模型中,单击要定义为分析点的信号。
在这一点线性化标签,在插入分析点图库,选择要定义的分析类型。
在指定分析点时,软件将注释添加到模型中,指示线性分析点类型。
重复步骤1和2,您要定义为分析点的所有信号。
您可以选择以下任何闭环分析点类型,该类型等同于SLINESERIZER.
要么SLTUNER.
界面;也就是说,它们通过分析功能进行了相同的方式,例如getiotransfer
,和调整目标,如TuningGoal.steptracking.
。
输入扰动
输出测量
灵敏度
互补敏感性
如果要在信号处引入永久循环打开,请选择以下开放循环分析点类型之一:
开环输入
开环输出
循环转移
循环休息
将信号定义为开环点时,分析功能如getiotransfer
在线化期间始终在该信号处强制执行循环中断。所有开环分析点类型都在一个等同于SLINESERIZER.
要么SLTUNER.
界面。有关软件在线性化期间如何处理循环开口的更多信息,请参阅软件如何处理环路开口。
当你创造一个SLINESERIZER.
要么SLTUNER.
用于模型的接口,模型中定义的任何分析点都会自动添加到接口。如果您使用以下定义分析点:
闭环类型,信号仅作为分析点添加。
开环类型,信号被添加为分析点和永久性开口。
以编程方式标记分析点,使用addpoint.
命令。例如,考虑斯卡奇卡斯
模型。
Open_System('scdcascade')
要标记分析点,首先创建一个SLTUNER.
界面。
st = sltuner('scdcascade');
要将信号添加为分析点,请使用addpoint.
命令,指定信号的源块和端口号。
addpoint(st,'scdcascade / c1',1);
如果源块有一个输出端口,则可以省略端口号。
addpoint(st,'scdcascade / g2');
为方便起见,您还可以使用以下方式标记分析点:
信号的名称。
addpoint(st,'y2');
组合源块路径和端口号。
addpoint(st,'scdcascade / c1 / 1')
明确时,全源块路径的结尾。
addpoint(st,'g1 / 1')
您也可以为一个永久开口添加永久性开口SLINESERIZER.
要么SLTUNER.
界面使用递抄
命令,并以与其相同的方式指定信号addpoint.
。有关软件在线性化期间如何处理循环开口的更多信息,请参阅软件如何处理环路开口。
adopening(st,'y1m');
您还可以通过使用使用的线性化I / O对象来定义分析点Linio.
命令。
IO(1)= Linio('scdcascade / c1',1,'输入');IO(2)= Linio('scdcascade / g1',1,'输出');addpoint(st,io);
就像在模型中直接定义分析点时,如果指定线性化I / O对象:
闭环类型,信号仅作为分析点添加。
开环类型,信号被添加为分析点和永久性开口。
在诸如此类的工具中指定响应I / O时模型线性化器要么控制系统调谐器,软件根据需要创建分析点。
一旦标记分析点,您可以使用以下分析功能分析任何这些点的响应:
getiotransfer
- 用于指定输入和输出的传输功能
getLooptransfer.
- 从在指定点的添加剂输入到同一点的测量值的开环传输功能
Getsitive
- 在指定点的灵敏度函数
持久性
- 指定点的互补灵敏度函数
您还可以创建调整目标,该目标会限制这些点处的系统响应。执行这些操作的工具以类似的方式运行,以便在命令行中创建的模型和在Simulink中创建的模型。金宝app
要查看可用的分析点,请使用GetPoints.
功能。您可以查看创建的模型的分析:
在命令行:
在Si金宝appmulink中:
对于在命令行创建的闭环模型,您还可以使用模型输入和输出名:
计算闭环响应。
iosys = getiotransfer(t,'U'那'是');Stepplot(iosys)
计算开环响应。
LOOPSYS = GETLOOPTRANSFER(T,'U',-1);贝德普罗特(循环)
创建调整目标Systune.
。
r = tuninggoal.margins('U',10,60);
使用相同的方法来指代Simulink中创建的模型的分析点。金宝app在Si金宝appmulink模型中,为方便起见,您可以使用返回的分析点名称的任何明确的缩写GetPoints.
。
iosys = getiotransfer(st,'U1'那'y1');SENSG2 = GESSINIVE(ST,'G2');r = tuninggoal.margins('U1',10,60);
最后,如果某些分析点是矢量值信号或多通道位置,则可以使用索引来选择特定的条目或通道。例如,假设你
是闭环MIMO模型中的两个进入向量。
g = ss([ - 1 0.2; 0 -2],[1 0; 0.3 1],眼睛(2),0);C = PID(0.2,0.5);AP = Analysispoint('U',2);T =反馈(G * AP * C,EYE(2));t.outputname =.'是';
您可以计算第二频道的开环响应,并测量对第一通道的干扰的影响。
l = getlooptransfer(t,'U(2)',-1);Stepplot(getiotransfer(t,'U(1)'那'是')))
当您创建调整目标时控制系统调谐器,软件根据需要创建分析点。