主要内容

用内部状态表示处理块

操作点对象排除具有内部状态的块

用于线性化和控制设计的工作点对象不包括Simulink金宝app®具有内部状态表示的块,例如:

例如,如果为以下Simulink模型计算稳态工作点,则得到的工作点对象不包括金宝app强烈反对块状态,因为这些状态有一个内部表示。对象的初始条件,如果使用此作业点对象初始化Simulink模型金宝app强烈反对块可能与作用点不兼容。

例如,您可以为模型计算一个工作点myModel从10秒的模拟快照开始,然后在这个工作点线性化模型。在这种情况下,线性化函数在线性化模型之前,使用工作点初始化模型状态。

Op = findop(“myModel”10);线性化(“myModel”io, op);

如果myModel包含一个或多个具有内部状态表示的块,人事处不包含内部状态。因此,linsys可能不是模型的精确线性表示。

您可以将模型模拟到快照时间,并在快照本身处线性化模型,而不是在模拟快照处寻找操作点。

线性化(“myModel”io 10);

这种方法避免使用缺少状态信息的操作点初始化模型。

为稳态工作点搜索配置具有内部状态的块

具有内部状态的块可能会导致稳态工作点搜索(修剪)的问题。哪里有无直接馈通,当前时间块的输入不决定当前时间块的输出。

来解决这个问题内存运输延迟,或可变运输延迟块,选择线性化过程中输入的直接馈通在稳定状态下搜索工作点或线性化模型之前,将参数块化。该设置使这些块在操作点搜索期间表现得好像它们有一个增益。

例如,下面的模型包含一个运输延迟块。在这种情况下,无法使用优化找到稳态工作点,因为运输延迟总是零。由于参考信号为1,植物块的输入必须是非零,以使植物块的输出为1并处于稳态。

选择线性化过程中输入的直接馈通选项,然后再搜索工作点。此设置允许PID控制器控件传递非零值植物块。

您还可以在命令行上设置直接馈送选项。

命令指定直通
内存 set_param (blockname“LinearizeMemory”,“上”)
运输延迟可变运输延迟 set_param (blockname“TransDelayFeedthrough”,“上”)

对于其他具有内部状态的块,在计算工作点之前,确定块的输出是否影响状态导数或期望的输出水平。如果该块影响这些导数或输出水平,请考虑使用可配置的子系统替换它。

相关的话题