前页 | 后页 |
使用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元素
- 选择属性(零件或端口)
- 在属性上按Ctrl + L
- 浏览到您创建的ValueType元素
在仿真中包含Modelica库
在模型中使用Modelica库中的引用类型时,必须将Modelica模型加载到环境中,仿真才能工作。
- 展开菜单选项,然后选择“包括Modelica库”
- 如果选中此选项,则默认情况下,此函数将生成为“ Solve.mos”:
单击此处以获取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库”未选中
运行模拟;变量x和stime图类似于: