主要内容

使用复位子系统

可重置子系统的行为

当你想有条件地将一个子系统内所有块的状态重置为它们的初始条件时,使用可重置子系统。可重置子系统在每个时间步中执行,但在重置端口出现触发信号时,会有条件地重置其中块的状态。这种行为类似于具有重置端口的块的重置行为,不同的是,可重置子系统重置其内部所有块的状态。

使用可重置的子系统而不是其他方法重置你的块或子系统的状态有以下优点:

  • 当你想重置一个子系统中多个块的状态时,显示和连接每个块的重置端口很麻烦,使框图难以阅读。相反,可以将所有的块放在一个可重置的子系统中,并配置重置块在子系统中。

  • 一些块,如离散状态空间块,有状态但没有复位端口。你不能单独重置这些块,你必须重置它们所在的子系统。在这种情况下,将这些块放在一个可重置的子系统中是很有用的。

  • 你也可以在已启用的子系统中重置块州时启用使能端口上的参数重置。然而,对于这种行为,您必须禁用子系统,然后在以后的时间步骤中重新启用它。要在同一时间步重置你的块状态,使用可重置的子系统。有关更多信息,请参见可重置子系统与已启用子系统的比较

一个可重置子系统中的所有块必须具有相同的采样时间,并且它们在子系统的每一次采样时间命中时执行。可重置子系统和模型使用一个共同的时钟。

请注意

如果可重置的子系统包含Stateflow®包含仿真软件的功能块,块里面的仿真软件的功能块不会在可重置子系统执行时恢复到它们的初始条件。

该模型表明,块复位端口和可复位子系统的行为是相同的。一个可重置子系统使你能够重置它里面所有块的状态。可重置子系统包含一个积分器块,其配置类似于根级积分器块,但该块没有重置端口。子系统重置其内部的积分器块的状态,其方式与积分器块。您可以通过运行模型并查看作用域中的输出来查看此行为。

可重置子系统与已启用子系统的比较

如果你设置州时启用启用重置,启用的子系统重置子系统中所有块的状态。但是,您必须禁用子系统至少一个时间步,然后重新启用它,以便状态重置。

相比之下,可重置子系统总是立即执行和重置其块的状态。

这个模型展示了这些子系统执行行为的差异。它包含一个已启用的子系统和一个控制端口连接到脉冲发生器的可重置子系统。可重置子系统被设置为在控制信号的上升边缘上重置,而已启用的子系统具有州时启用参数设置为重置在启用端口。

子系统包含相同的离散时间积分器块,其输入是常数块在模型的根级别。图中显示了可重置子系统的内容。

图中为仿真输出。

当控制信号为0时,启用的子系统被禁用,积分器在可重置子系统执行时不改变其输出。控制信号的上升沿触发可重置子系统的重置端口,并使能已启用的子系统。两个子系统在此时间步复位其状态。

请注意,已启用的子系统必须禁用至少一个时间步,才能重置其状态。可重置的子系统没有这个限制。

模型的例子

关于模型示例,请参见:

另请参阅

|

相关的话题

Baidu
map