主要内容

用内部状态表示处理块

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

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

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

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

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

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

您可以根据快照时间对模型进行模拟,并在快照本身对模型进行线性化,而不是在模拟快照处寻找工作点。

linsys =线性化(“myModel”io 10);

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

为稳定状态工作点搜索配置内部状态块

带有内部状态的块可能会导致稳态工作点搜索(微调)的问题。哪里有没有直接引线,块在当前时间的输入并不决定块在当前时间的输出。

为了解决这个问题内存运输延迟,或变量传输延迟块,选择线性化过程中输入的直接馈通在搜索工作点或在稳定状态下线性化模型之前,先阻塞参数。这个设置使得这些块的行为就像它们在操作点搜索期间获得了1一样。

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

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

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

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

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

相关的话题