前页 后页

使用Modelica库进行建模和仿真

Enterprise Architect版本14.1和更高版本中提供了此功能。

Modelica库是提供许多有用的类型,功能和模型的综合资源。在Enterprise Architect创建SysML模型时,可以引用Modelica库中可用的资源。

引用Modelica库中定义的类型

要配置模拟以引用Modelica库,请首先创建一个指向Modelica库的ValueType元素,并将其注册到Simulation配置中。

首先,为引用的Modelica类型创建一个元素

  • 使用Modelica库路径的全名创建一个ValueType元素:

将ValueType元素配置为“ ReferencedType”:

  • 双击SysMLSimConfiguration元素以打开“配置SysML配置”选项卡
  • 导航到ValueType元素
  • 在下拉字段中,将值设置为“ ReferencedType”

由于ValueType元素被配置为“ ReferencedType”,因此该元素将不会显示在“ Dependencies”列表中,也不会作为Modelica文件的新Class定义生成。

接下来,将属性的类型设置为ValueType元素

在Enterprise Architect ,可以将SysML属性设置为原始类型或元素,例如Block或ValueType。

选项1:

  • 选择属性(零件或端口)
  • 按Ctrl + 2打开“属性”窗口
  • 切换到“属性”标签,然后选择“选择类型...”
  • 浏览到您创建的ValueType元素
选项2:
  • 选择属性(零件或端口)
  • 在属性上按Ctrl + L
  • 浏览到您创建的ValueType元素

在仿真中包含Modelica库

在模型中使用Modelica库中的引用类型时,必须将Modelica模型加载到环境中,仿真才能工作。

  • 展开菜单选项,然后选择“包括Modelica库”
  • 如果选中此选项,则默认情况下,此函数将生成为“ Solve.mos”:
loadModel(Modelica);

单击此处以获取loadModel()脚本功能的详细说明。

自定义Modelica脚本模板

您可以修改Modelica脚本模板以添加模型和仿真所需的额外库。

访问

功能区:代码>配置>选项>编辑代码模板在“语言”字段中选择“ Modelica”,在“脚本”列表中选择“ SysMLSim脚本”

在“ loadModel(Modelica)”之后追加额外的库时,您的模型可以引用这些库的资源。

方波示例

该示例基于Peter Fritzson撰写的《 Modelica 3.3:网络物理》中的图13-11中的图13-11。

在此示例中:

  • 我们创建一个ValueType Modelica.SIunits.Time ,该值用于属性第一个和Block SquareWave的 间隔
  • 在SysML Simulation窗口中将ValueType Modelica.SIunits.Time配置为“ ReferencedType”
  • 选择菜单项“包括Modelica库”

运行模拟;变量x的绘制如下:

SampleTime示例

该示例基于Peter Fritzson撰写的《 Modelica 3.3:面向对象的建模和仿真原理》第二版中的图13-13。

在此示例中:

  • 我们创建了一个ValueType Clock ,用于Block SampleTime的属性clk
  • 在SysML Simulation窗口中将ValueType 时钟配置为“ ReferencedType”
  • 菜单项“包括Modelica库”未选中

运行模拟;变量xstime图类似于: