预订演示
前页 后页

使用 OpenModelica 库进行建模和仿真

此特征可从Enterprise Architect版本 14. 1开始获得。

OpenModelica 库是提供许多有用类型、函数和模型的综合资源。在Enterprise Architect中创建 SysML 模型时,您可以参考 OpenModelica 库中可用的资源。

引用 OpenModelica 库中定义的类型

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

为引用的 OpenModelica类型创建一个元素

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

将配置元素配置为 'ReferencedType':

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

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

将属性的类型设置为 ValueType元素

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

选项1 :

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

在仿真中包含 OpenModelica 库

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

  • 展开菜单选项并选择“包含 Modelica 库”
  • 如果勾选这个选项,这个函数将默认生成到'Solve.mos':
         加载模型(模型);
点击这里查看 loadModel() 脚本函数的详细描述。

自定义脚本模板

您可以修改 OpenModelica 脚本模板以添加模型和仿真所需的额外库。选择功能区选项:

开发 >源代码 > 选项 > 编辑代码模板

在“语言”字段中选择“Modelica”,在“脚本”列表中选择“脚本脚本”。

由于您在“loadModel(Modelica)”之后附加了额外的库,因此您的模型可以引用这些库的资源。

示例

此示例基于图 13-11 中的图 13-11:使用 Modelica 3.3 进行面向对象建模和仿真的原理: A Cyber -Physical,第二版,作者 Peter Fritzson。

在这个例子中:

  • 我们创建一个ValueType时间用于块属性的属性firstinterval
  • ValueType时间在 SysML仿真窗口中配置为“ReferencedType”
  • 选择菜单项“包括 Modelica 库”

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

采样时间示例

此示例基于图 13-13 中的图 13-13:使用 Modelica 3.3 进行面向对象建模和仿真的原理: A Cyber -Physical,第二版,作者 Peter Fritzson。

在这个例子中:

  • 我们创建了一个块Clock用于blockSampleTime属性clk
  • ValueType时钟在 SysML仿真窗口中配置为“ReferencedType”
  • 菜单项“包括 Modelica 库”未选中

运行模拟;变量x时间图如下所示: