预订演示
前页 后页

使用开始

开始使用 OpenModelica 和Enterprise Architect的机器来生成参数模拟的一种简单方法是查看一些现有示例。对于Enterprise Architect中的任何特征来说,这都是一个有用的学习工具,但在学习 OpenModelica 的强大功能时尤其有用,因为有许多新东西需要学习,最好通过一些学习辅助工具来完成。我们将从查看示例模型中的完整示例开始,该示例模型随Enterprise Architect的每个安装一起分发,可从开始功能区上的帮助项目中获得。

我们将探索的示例是 Pendulum 示例,但首先我们需要打开示例模型,我们通过选择功能区选项来完成:

开始>帮助>帮助>资源>打开示例模型

OpenModelica特征与其他仿真功能方便地组合在一个位置,并且可以使用“仿真”功能区的“系统行为”面板中的 Modelica/Simulink 菜单启动。 OpenModelica 为公司提供其他仿真工具,例如可执行状态机、决策建模功能和功能。

加载模型后,我们可以使用Enterprise Architect中的 OpenModelica特征来定位 Pendulum 模型中的例子。复杂系统的模型通常非常大,并且可以设置任意数量的现有模拟,因此Enterprise Architect提供了一种机制来搜索这些模拟。

选择此选项将返回 SysML 模拟配置工件的列表,它们是指定 OpenModelica 详细信息的元素。从这个列表中,我们可以选择 Pendulum 示例,它将启动一个窗口,该窗口可用于配置和解决示例中编码的问题。为了能够运行模拟,必须在运行Enterprise Architect的机器上安装 OpenModelica 版本。下一节中包含有关如何安装 OpenModelica 的详细信息。

窗口有两个部分:

  • 配置(左侧)面板定义了值类型、块和约束属性,所有这些都在存储库中定义,并且 - 正如我们稍后将看到的 - 可以在浏览器窗口和图表中查看
  • 模拟(右侧)面板用于选择和指定将影响模拟的选项,例如数据集、模拟的等待时间和持续时间、输出文件类型等。

窗口中的信息是从浏览器窗口中可见的模型自动填充的,属性可以使用“在项目中查找浏览器”选项找到元素的位置(包括值类型、块和约束)从上下文菜单。还有一个类似的选项可以在它出现的任何图表中找到选定的元素。

安装 OpenModelica

Enterprise Architect利用了运行平台的强大功能,因此当您从仿真窗口运行仿真时,它实际上是在调用 OpenModelica(安装在同一台机器上)来完成繁重的工作并返回仿真结果。这确保了Enterprise Architect能够利用这个开放工具的强大功能以及所有为其卓越做出贡献的聪明才智。 OpenModelica 有窗口和 Linux 版本,您需要安装适合您环境的版本。这里总结了这些步骤。

  1. 下载 OpenModelica 软件(窗口或 Linux)。
  2. 安装软件。
  3. 选择安装。
  4. 通过在Enterprise Architect中指定路径来配置Solver。
安装和配置的完整细节可以在OpenModelica集成帮助主题中找到。

使用数据集进行仿真

仿真是工程分析的一个重要方面,并提供了一种分析系统行为的有用且具有成本效益的方法。该系统可能已经建成,或者可能正在计划开发;无论哪种方式,仿真都可用于可视化组件或系统设计考虑、性能优化、安全工程等等。为了提供这种能力,重要的是能够使用不同的变量和常数值来运行模拟。例如,在我们的钟摆示例中,我们可能想要分析系统在不同行星上的表现,例如:

  • 地球与月球(或其他行星)引力的影响
  • 不同string长度的影响
  • 不同质量的影响
  • 不同起点的效果
  • 以上任意组合
Enterprise Architect为可以在块级别应用的模拟提供了数据集功能。使用配置窗口的“仿真”选项卡(右侧面板),我们可以选择预定义的数据集。

可以定义任意数量的数据集,并将其添加到仿真窗口的“配置”(左侧)面板中的适当块中。这些可作为每个块下的节点使用,并且可以使用数据集行上的浏览 [...] 按钮在窗口中查看和编辑数据值。

选择后,将打开配置仿真数据窗口,允许查看和编辑、导入或导出值。这种机制意味着模拟机器可以在许多不同的环境中重复使用,而聚焦于特定类型问题的工程组织可以创建可以在多种环境和工程问题类型中重复使用的模拟库。此处所示的窗口显示了一个数据集,其中包含与我们一直在研究的两个钟摆问题有关的值,我们可以看到作为示例,由于月球重力引起的加速度被定义为1 .6 m/s2 的近似值,大约为 16.6地球表面价值的 %。这种模拟可以与适用于火星或木星的不同数据集或在具有不同质量或长度的string的更陆地示例中重复使用。