主要内容

标记对控制系统分析和设计感兴趣的信号

分析点

无论您是在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并在反馈循环中明确包含它。使用使用模型时使用连接命令,您可以指示软件在所指定的位置自动插入分析点。有关更多信息,请参阅连接

指定分析点金宝app楷模

在Si金宝appmulink中,您可以在框图中明确地标记分析点,或以编程方式使用addpoint.命令SLINESERIZER.要么SLTUNER.接口。

要直接在Simulink模型中指定分析点,首先打开金宝app线性化标签。这样做,在应用画廊,点击线性化管理器

要指定分析点:

  1. 在模型中,单击要定义为分析点的信号。

  2. 在这一点线性化标签,在插入分析点图库,选择要定义的分析类型。

    在指定分析点时,软件将注释添加到模型中,指示线性分析点类型。

  3. 重复步骤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)''是')))

当您创建调整目标时控制系统调谐器,软件根据需要创建分析点。

也可以看看

|||