Engee 文档
Notebook

构建和运行状态流程图

*状态图是由状态、转换和数据组成的有限状态机的图形表示。 您可以创建一个图表来确定系统如何对外部输入、事件和时间条件做出反应。

让我们回顾一下如何创建半波整流器的逻辑。

构建状态流程图

该图包含两个状态,标记为OnOff。 在On状态下,图y的输出信号等于输入信号x。 在Off状态下,输出信号为零。 当输入信号越过某个阈值t0时,图在这些状态之间转换。 每个状态下的动作在模拟的每个时间步更新y的值。

要创建此关系图并对其建模,请执行以下步骤。

打开编辑器

  1. 创建新模型并将图表块添加到建模字段。
In [ ]:
engee.create("rectifier_start")
Out[0]:
Model(
    name: rectifier_start,
    id: ba508327-dce5-4358-bd38-120eb5bcb758
)
In [ ]:
engee.add_block("/StateMachines/Chart", "rectifier_start/")
Out[0]:
"rectifier_start/Chart"
  1. 要打开编辑器,请双击图表块。

图表块编辑器的主要组件是图表画布、对象面板和设置面板,您可以在其中设置信号。

*图表画布是您通过组合状态和转换来创建图表的区域。
*画布左侧显示一个包含可用于制作图表的对象的面板。
*右上角的齿轮按钮。 如果您在编辑器中单击它,"信号"部分将打开。 您可以在其中设置输入和输出信号,以及设置局部变量。

sc_chart.png

添加状态和转换

  1. 在"对象"面板中,选择"状态"对象并将其移动到关系图画布。 将出现默认的过渡状态。 在文本字段中,在突出显示的花括号y=x中输入状态名称On和状态操作。
state_1_out_1_in--1732104094349.png
  1. 加另一个状态。 右键单击并拖动On状态。 将新状态的名称更改为Off。 双击状态并将状态操作更改为y=0
state_1_out_1_in--1732104298320.png
  1. 将两个状态对象并排放置,并用过渡连接它们。 要绘制过渡,请单击并将光标从一个状态的边框拖动到另一个状态的边框。 当过渡以蓝色突出显示时,它旁边会出现一个菜单,用于添加段落的条件([])或过渡期间将发生的动作({})。 添加两个过渡。
state_1_out_1_in--1732104359102.png
  1. 要在图表中添加转换条件,请单击转换并在方括号中输入条件。 设置条件 On切换到Off,以及 以切换回来。
state_1_out_1_in--1732104455350.png
  1. 用于处理状态图的附加功能。

    *为了更清晰起见,请将每个过渡标签移动到相应过渡上方或下方的方便位置。
    *要调整图表的大小以匹配画布的大小,请按空格键。

设置信号

在执行关系图之前,必须标识在关系图中使用的每个符号并指定其作用域(例如,输入数据、输出数据或本地数据)。

  1. 通过点击右上角的齿轮打开设置选项卡。
  2. 点击+号并添加您正在使用的信号的名称以及类型。 Type列显示每个未定义符号的预期范围,具体取决于其在关系图中的使用。
  3. 定义如下图所示使用的变量。
image.png

模拟模型

要模拟模型,请通过输入和输出端口将图表块连接到其他模型块。

  1. 要返回Engee建模环境,请单击导航栏中的模型名称。
  1. 将源添加到模型:

    *从Sources部分,添加正弦波块-正弦波
    *双击正弦波块并将采样时间设置为0.2。
    *将正弦波块的输出连接到状态图的输入。
    *将信号标记为x

  1. 将接收器添加到模型中:

    *从接收器部分,添加终止符块。
    *将图表块的输出连接到终结器块的输入。
    *将信号标记为y。

  1. 记录信号

    *点击信号线。 接下来,将鼠标悬停在三个点上,然后点击![图像。png](附件:图片。png)。
    *记录信号xy

  1. 要开始模拟,请单击"执行"![image_3.png](附件:image_3.png)。 在仿真过程中,活动状态和转换被突出显示。

显示结果

  1. 建模后,转到右上角的图表选项卡。
  2. 信号菜单中选择xy信号。
image.png
  1. 您可以在一个图表或两个不同的图表上反映信号。
image.png

结论

仿真结果表明,整流器滤除了负输入值。