构建和运行状态流程图
*状态图是由状态、转换和数据组成的有限状态机的图形表示。 您可以创建一个图表来确定系统如何对外部输入、事件和时间条件做出反应。
让我们回顾一下如何创建半波整流器的逻辑。
构建状态流程图
该图包含两个状态,标记为On和Off。 在On状态下,图y的输出信号等于输入信号x。 在Off状态下,输出信号为零。 当输入信号越过某个阈值t0时,图在这些状态之间转换。 每个状态下的动作在模拟的每个时间步更新y的值。
要创建此关系图并对其建模,请执行以下步骤。
打开编辑器
- 创建新模型并将图表块添加到建模字段。
In [ ]:
engee.create("rectifier_start")
Out[0]:
In [ ]:
engee.add_block("/StateMachines/Chart", "rectifier_start/")
Out[0]:
- 要打开编辑器,请双击图表块。
图表块编辑器的主要组件是图表画布、对象面板和设置面板,您可以在其中设置信号。
*图表画布是您通过组合状态和转换来创建图表的区域。
*画布左侧显示一个包含可用于制作图表的对象的面板。
*右上角的齿轮按钮。 如果您在编辑器中单击它,"信号"部分将打开。 您可以在其中设置输入和输出信号,以及设置局部变量。
添加状态和转换
- 在"对象"面板中,选择"状态"对象并将其移动到关系图画布。 将出现默认的过渡状态。 在文本字段中,在突出显示的花括号y=x中输入状态名称On和状态操作。
- 加另一个状态。 右键单击并拖动On状态。 将新状态的名称更改为Off。 双击状态并将状态操作更改为y=0。
- 将两个状态对象并排放置,并用过渡连接它们。 要绘制过渡,请单击并将光标从一个状态的边框拖动到另一个状态的边框。 当过渡以蓝色突出显示时,它旁边会出现一个菜单,用于添加段落的条件([])或过渡期间将发生的动作({})。 添加两个过渡。
- 要在图表中添加转换条件,请单击转换并在方括号中输入条件。 设置条件 从On切换到Off,以及 以切换回来。
-
用于处理状态图的附加功能。
*为了更清晰起见,请将每个过渡标签移动到相应过渡上方或下方的方便位置。
*要调整图表的大小以匹配画布的大小,请按空格键。
设置信号
在执行关系图之前,必须标识在关系图中使用的每个符号并指定其作用域(例如,输入数据、输出数据或本地数据)。
- 通过点击右上角的齿轮打开设置选项卡。
- 点击+号并添加您正在使用的信号的名称以及类型。 Type列显示每个未定义符号的预期范围,具体取决于其在关系图中的使用。
- 定义如下图所示使用的变量。
模拟模型
要模拟模型,请通过输入和输出端口将图表块连接到其他模型块。
- 要返回Engee建模环境,请单击导航栏中的模型名称。
-
将源添加到模型:
*从Sources部分,添加正弦波块-正弦波。
*双击正弦波块并将采样时间设置为0.2。
*将正弦波块的输出连接到状态图的输入。
*将信号标记为x。
-
将接收器添加到模型中:
*从接收器部分,添加终止符块。
*将图表块的输出连接到终结器块的输入。
*将信号标记为y。
-
记录信号
*点击信号线。 接下来,将鼠标悬停在三个点上,然后点击。
*记录信号x和y。
- 要开始模拟,请单击"执行"。 在仿真过程中,活动状态和转换被突出显示。
显示结果
- 建模后,转到右上角的图表选项卡。
- 从信号菜单中选择x和y信号。
- 您可以在一个图表或两个不同的图表上反映信号。
结论
仿真结果表明,整流器滤除了负输入值。