简介
本教程描述了使用Hopsan进行建模和仿真的更高级的技术。建议您先阅读快速入门教程,以便更好地了解该程序。首先加载名为advanced _use .hmf的模型文件。以下所有部分都假设该文件是打开的。
Hopsan教程2-高级使用加载一个模型文件(Ctrl-O)
一、 系统参数
在具有多个相同组件的模型中,遍历所有组件并在所有组件中更改相同的参数是非常不切实际的。相反,最好只在一个地方更改所有组件的参数。这可以通过使用系统参数来实现。在示例模型中,活塞组件某些参数是相等的。我们想将活塞的面积和冲程作为系统参数来控制。
1.1打开系统参数设置窗口
通过点击工具栏中的系统参数设置图标按钮打开系统参数设置窗口。
Hopsan教程2-高级使用系统参数设置图标(Ctrl-Shift-Y)
1.2添加系统参数
系统参数设置窗口开始是空的,现在点击添加按钮(Add),在对话框中分别创建下列参数。
Hopsan教程2-高级使用
1.3应用系统参数
现在双击第一个柱面,打开component properties对话框。若要将参数映射到系统参数,请将参数的值更改为系统参数的名称。根据下图更改值。
Hopsan教程2-高级使用
也可以从列表中选择参数,方法是单击参数值右侧的globe项。现在对另一个圆柱体做同样的事情。两个气缸现在都将使用system parameters小部件中定义的面积和行程参数。如果愿意,您可以尝试运行仿真,看看它是否如预期的那样工作。
二、 子系统
通过将组件组移动到子系统中,可以使大型模型图更简单,更少混乱。子系统实际上是一个由其他组件组成的系统。我们现在要做一个子系统的两个位置伺服。
2.1 增加子系统组件
在模型组件库中找到与子系统同名的组件,并将它拖入到模型视图中。
Hopsan教程2-高级使用
2.2 选择和剪切模型组件
从第一个位置伺服中选择阀门、柱塞、质量和油箱等组件,使用Ctl+X剪切这些组件。
Hopsan教程2-高级使用
2.3进入子系统并粘贴组件
双击视图中的子系统进入子系统内部,使用Ctl+V粘贴剪切的模型组件。
2.4增加子系统端口
子系统中的端口由位于子系统库文件夹中的子系统容器端口(container port)组件定义。在子系统中添加三个容器端口,并将它们连接到三个未连接的端口,如下图:
Hopsan教程2-高级使用
2.5连接子系统组件
通过单击模型左上角的按钮返回到顶层系统。子系统现在有三个端口,分别代表容器端口。将它们连接到模型上,如下图所示:
Hopsan教程2-高级使用
2.6 给子系统增加参数
子系统可以有参数,就像其他组件一样。它们是通过在子系统中添加系统参数来创建的。通过双击进入子系统并打开系统参数窗口。可以看到,在粘贴组件时自动添加了上一节中的系统参数(A_1、A_2和s_l)。现在离开子系统,再次回到顶层系统。现在右键单击子系统组件并在下拉菜单中单击属性(Properties)。转到子系统(System Parameters)选项卡。在这里,我们可以改变子系统参数的值,这反过来又会影响活塞组件。通过将每个系统参数的值设置为顶层系统参数的名称,可以将顶层系统中的系统参数向下传播到子系统,如下图所示:
Hopsan教程2-高级使用
至此,一切都将与我们添加子系统之前完全一样。你可以重复以上的过程,并创建第二个位置伺服的子系统。
三、 脚本
Hopsan中的大多数功能都可以通过在位于工作区的命令终端(terminal)窗口中编写命令来访问。也可以通过编写脚本文件来自动化重复的过程。
3.1 获取帮助
使用帮助(help)命令显示所有可用命令的列表
Hopsan教程2-高级使用
要显示关于特定命令的文档,请在help命令后面加上如行命令:
Hopsan教程2-高级使用
3.2 修改参数
要更改当前模型中的参数,可以使用命令行(change parameters)命令。尝试改变第一个阀门部件的油密度参数。组件名为“Valve1”,参数名为“rho”,变量名为“y”。因此,参数的全名是“valve1 . rhov .y”。
Hopsan教程2-高级使用
在许多情况下,需要同时更改几个参数。例如,两个阀门部件的油密度显然应该相同。这可以通过使用通配符来实现,通配符由星号(*)符号表示。写入“x”或示例将修改所有以“x”结尾的参数。“xy”将修改所有包含字母“x”并以字母“y”结尾的参数。现在更改所有名为“rho”的参数如下:
Hopsan教程2-高级使用
3.3运行仿真
当所有参数设置完毕后,可以通过“sim”命令启动仿真。现在试试这个!
Hopsan教程2-高级使用
3.4 绘制结果曲线
仿真运行完成后,可以使用“chpv”(change plot variable)命令绘制变量。现在画出系统压强。例如,可以在名为“Pump”的组件中找到端口“P2”中的变量“p”。因此,完整的变量名是“Pump.P2.p”。
Hopsan教程2-高级使用
3.5 编写脚本文件
脚本文件对于同时运行多个命令和重用代码非常有用。也可以使用循环(如“while”)和条件语句(如“if”)。现在我们将创建一个脚本文件并调用它。首先,使用“pwd”命令检查Hopsan当前的工作目录:
Hopsan教程2-高级使用
可以使用“ls”命令列出文件夹中的文件,并使用“cd”命令更改目录。现在切换到“Scripts”目录。
Hopsan教程2-高级使用
现在使用外部编辑器(例如Windows中的记事本)在此文件夹中创建脚本文件。我们希望创建一个文件,该文件使用5个不同级别的系统压力来仿真系统5次,然后在一个图中绘制所有5个结果。编写以下代码,并将文件保存为“tutorial.hcom”。
Hopsan教程2-高级使用
第一个命令删除前几代的所有泵压变量。最后两个字符(“@
”)表示“在所有代中”。然后我们将参考压力参数设置为100bar (1e7pa)。然后我们循环5个步骤,每一步我们模拟模型,然后增加20巴(2e6 Pa)的压力。因此,我们模拟了系统的100,120,140,160和180巴。在循环之后,我们绘制所有迭代的系统压力。现在通过“exec”命令启动脚本!
Hopsan教程2-高级使用
如果一切顺利,则需要对模型进行5次模拟,然后出现5条曲线的plot窗口。

相关文章:

  • 2022-12-23
  • 2021-06-12
  • 2021-11-17
  • 2021-04-30
  • 2021-11-21
  • 2021-09-08
  • 2021-11-14
  • 2022-02-03
猜你喜欢
  • 2021-08-28
  • 2021-05-11
  • 2021-06-03
  • 2022-12-23
  • 2021-12-30
  • 2021-07-08
相关资源
相似解决方案