预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

加湿器示例

在本例中,我们通过创建室内加湿器的 SysPhS模型来说明信号流和状态机的使用。本例中的信号反映了物理量,但不同于物理物质意义上的物理相互作用与流速和电位。

完成加湿器示例是一组复杂的 SysML 模型,但它包含需要使用 MATLAB 的状态流进行仿真的部分。我们将使用示例的这一部分来完成 SysML状态机的使用,并查看它是如何在 MATLAB 中使用状态流以及在运行中配置和运行的。

先决条件

运行此模拟需要:

  • OpenModelica 或
  • MATLAB 的 Simulink 和 StateFlow

概述

完成模型中提供了完成模拟WebEA 。请参阅本主题末尾了解更多信息下的链接。

SysML状态机图为:

对于 MATLAB,生成的状态流图包括:

对于 Modelica,生成的图表如下所示:

创建 SysML状态机模型

此表显示了我们如何构建 SysML状态机模型来表示开关状态。

注记:完整的 SysML状态机特征仅在 MATLAB 的状态流和 Modelica 中得到部分支持。因此,为了在这些产品中创建用于仿真的状态图, Enterprise Architect的状态机模型中使用的连接器类型和对象类型需要仅包含状态流和 Modelica 中支持的相应特征。

描述

在 SysML 中,使用 SysPhS,核心加湿器组件由块表示。对于这个例子,我们正在创建状态机模拟,聚焦在“控件”块上。块定义图 (BDD) 称为“加湿器组件”,其中包括“控件”块,它只是定义加湿器的 BDD 列表中的一个。

'控件'块下有状态机'ControlStateMachine'作为复合图;这在本主题开头的概述部分的第一个图表中进行了说明。

“控件”块是定义加湿器控制的端口和端口常数的位置。端口的类型为端口,即信号流。

公共类型

作为所有 SysPhS 模型的启动器,您需要确保 SysPhS 常用类型已加载到存储库中,并使用包'导入'连接器在新模型中引用。有关更多信息,请参阅参考 SysPhS 库 帮助话题。

端口

用于端口的值类型在端口仿真库中预先定义。使用的密钥类型是 RealInSignal ValueType (RealInSignalElement)。这可以作为端口拖到块上,然后重命名。

作为在端口上设置的示例,在本例中为fanPowerOut端口块,您将一个 RealInSignalElement 拖动到一个 RealInSignalElement 上并将其定义为一个端口块。

注记:

  • 这些端口可以通过为其他端口类型添加构造型来设置为 Modelica 和 Simulink

创建状态机

将状态机定义为块的复合子图:

  • 从块上的上下文菜单中选择“新子图表>状态机”,然后
  • 从上下文上的块中选择“新子图表>选择复合”,然后选择刚刚创建的图表

创建状态和转换

在子状态机图中,添加初始元素、四个状态和一个终点元素。然后适当地命名它们。

注记:选中图表时按空格键,可以从上下文菜单中选择一个初始object ,然后使用快速链接器添加剩余的对象。

转移
警卫

状态之间的转换包含它们的守卫中的条件。这些条件在属性窗口的“约束”选项卡中定义。

使用的变量是“控件”块的控件常数和端口的。请参阅前面的Blocks行中的图像。

行为

每个状态都包含一个定义风扇模式和状态的脚本。这些脚本在“Entry”操作中设置。

要为此编辑脚本,请选择根状态机并按 Alt+7。

配置仿真行为

此表显示了 SysMLSim 配置的详细步骤。

行动

创建一个工件

  • 打开块定义图
  • 点击图中空白处
  • 按空格键
  • 从“配置”中选择“工件”子菜单
    这创建了一个新的配置工件

设置包

  • 在配置上工件
    这将打开配置SysML仿真窗口
  • 在“包”字段中,单击 [...] 按钮并选择包含 SysML 图的包

设置 Modelica 或 Simulink

在顶部下拉列表中,选择要使用的模拟工具:

  • 模型
  • Simulink
有关这些设置的更多详细信息,请参阅配置SysML仿真帮助主题。

设置块为仿真

  • 在左侧列表中,在“名称”列的“块”下,找到“HumidifierSystem”
  • 在“值”列中,单击下拉箭头并选择 SysMLSimModel”

选择要绘制的属性

您现在可以选择要绘制的属性:

  • 在右侧窗格中,选择要绘制的端口

运行仿真

在“仿真”页面中,单击求解按钮。这显示了在以下位置生成的图的示例:

模型

Simulink

注记:由于 Simulink 模型的默认精度对于此特定示例来说不够,因此 Simulink 中的输出看起来不同。可以通过直接在 Simulink 中打开生成的文件来修改 Simulink 设置。

在 Modelica 或 Simulink 中视图模型

要在外部应用程序、Modelica 或 Simulink 中查看生成的模型,请参阅查看帮助或 Simulink视图的模型帮助主题,其中包含调试生成代码中任何问题的提示。

学到更多