Sysplorer快速入门
版本 unknown · 46 节
第 1 页
第 2 页
3. 模型库与元件拖放操作
在 Sysplorer 中,模型库(Modelica Standard Library 及用户自定义库)是构建系统模型的核心资源。本节介绍如何从模型库中选取元件并将其拖放到建模画布上,这是建立物理模型的第一步。
3.1 访问模型库面板
启动 Sysplorer 后,默认界面左侧为模型库浏览器(Library Browser)。该面板以树形结构展示所有已加载的库,包括:
- Modelica:标准模型库,包含电气、机械、热力学、液压等领域的元件模型。
- 用户自定义库:通过
File > Open Model/Library加载的.mo文件。
提示:若模型库面板未显示,可通过菜单
View > Library Browser重新打开。
3.2 浏览与搜索元件
在模型库树中,双击任意库名称可展开其子目录。例如,展开 Modelica > Electrical > Analog > Basic 可找到电阻(Resistor)、电容(Capacitor)、电感(Inductor)等基本元件。
如需快速定位特定元件,可使用面板顶部的搜索框(Search)输入关键字(如 Resistor),系统将自动过滤匹配结果。
3.3 拖放元件到画布
操作步骤如下:
- 选中元件:在模型库树中单击目标元件(如
Resistor),其图标会高亮。 - 拖放操作:按住鼠标左键,将元件拖拽至中央的建模画布(Diagram View)上,然后释放鼠标。
- 放置结果:画布上会出现该元件的图形符号,同时元件浏览器(Component Browser)中会新增一条记录,显示该元件的实例名称(如
resistor1)和所属库路径。
MWORKS
上图展示了从 Modelica 标准库拖放
Resistor元件到画布后的界面状态。左侧为模型库树,中央画布显示了电阻符号,右侧属性面板可编辑参数。
3.4 调整元件位置与方向
- 移动:在画布上单击选中元件(显示蓝色边框),然后拖拽即可移动位置。
- 旋转:选中元件后,按键盘
Ctrl + R组合键可顺时针旋转 90 度;或右键点击元件,选择Rotate。 - 删除:选中后按
Delete键,或右键选择Delete。
3.5 批量添加多个元件
重复上述拖放操作,可从不同库中依次添加多个元件。建议在添加过程中保持画布整洁,使用对齐网格(Grid Snap)功能(默认开启)辅助定位。
完成元件放置后,下一步将进行元件之间的连接,通过绘制连线建立物理拓扑关系。
第 4 页
第 5 页
第 6 页
第 7 页
第 8 页
第 9 页
第 10 页
第 11 页
第 12 页
第 13 页
第 14 页
第 15 页
第 16 页
第 17 页
第 18 页
第 19 页
第 20 页
第 21 页
第 22 页
第 23 页
第 24 页
第 25 页
第 26 页
第 27 页
2. 架构实现
在完成模型的前期准备后,下一步是在 Sysplorer 中搭建系统的物理架构。架构实现的核心是将系统分解为具有明确物理意义的组件,并通过连接器定义它们之间的交互关系。
2.1 创建组件与子架构
系统架构通常采用层次化设计。首先,在模型编辑区中,通过拖拽或使用工具栏中的 “添加组件” 按钮,创建一个代表顶层系统的组件。对于复杂的系统,可以在此组件内部继续创建子组件,形成树状结构。每个组件都应被赋予有意义的名称,例如 Engine、Controller 或 Load。
2.2 定义物理端口
组件之间的能量或信号传递通过端口实现。选择需要交互的组件,在其边界上添加物理端口。端口类型必须与所传递的物理量匹配。例如,对于机械旋转系统,应使用 Flange 端口传递扭矩和转速;对于电气系统,则使用 Pin 或 Plug 端口传递电压和电流。
端口类型选择原则:端口的物理属性(如“机械旋转”、“电气模拟”、“热流”)决定了该组件可以连接的对象。错误的端口类型会导致模型无法编译或仿真结果异常。
2.3 建立连接
完成端口定义后,通过连线工具将不同组件的端口连接起来。连接操作非常简单:点击一个端口,拖动鼠标至另一个端口,当出现高亮提示时释放鼠标,即可建立物理连接。
MWORKS
如图所示,连接后的架构会清晰显示各组件之间的物理通路。连接线通常代表能量流或信号流,其颜色和样式(如实线或虚线)可帮助区分不同的物理域。例如,机械连接用粗实线,信号连接用细虚线。
2.4 验证架构完整性
在继续进行参数设置或仿真之前,务必检查架构的完整性。Sysplorer 提供“模型检查”功能(通常位于 “分析” 菜单下或工具栏中的 “检查” 按钮)。执行检查后,软件会报告:
- 未连接的端口(可能导致悬空警告)
- 类型不匹配的连接(如机械端口连接到了电气端口)
- 缺失必要参数的组件
完成架构实现后,模型的基本拓扑结构就确定了。下一步将进入参数设置阶段,为每个组件赋予具体的物理参数值,如电阻、惯量、增益等。
3. 架构实现
在完成系统架构的顶层设计后,需要将架构模型转化为具体的实现代码。MWORKS 的 Sysplorer 环境支持通过管道(Pipe)架构模式,将系统功能模块化并生成可执行的程序代码。
3.1 管道架构的基本概念
管道架构是一种将系统分解为若干独立处理单元的设计模式,每个单元(称为“过滤器”)负责特定的数据处理任务,单元之间通过“管道”进行数据传递。这种架构模式特别适用于信号处理、数据流转换等场景。
管道架构:一种将系统功能分解为多个顺序执行的处理阶段,每个阶段通过标准接口进行数据交换的软件架构模式。
3.2 在 Sysplorer 中实现管道代码
在 Sysplorer 中实现管道架构的步骤如下:
-
创建管道组件:在模型浏览器中右键点击目标目录,选择“新建” → “组件”,将组件类型设置为“管道(Pipe)”。这会在工作区中创建一个空的管道容器。
-
定义过滤器单元:双击打开管道容器,在管道编辑器中添加过滤器单元。每个过滤器代表一个独立的数据处理模块,例如
InputFilter、ProcessFilter、OutputFilter。 -
连接管道:使用连接线工具将过滤器按照数据流向依次连接。连接线的方向代表数据流动的方向,从上游过滤器指向下游过滤器。
-
配置过滤器参数:为每个过滤器设置具体的处理参数。例如,对于信号处理过滤器,可以设置采样率、滤波器阶数、截止频率等参数。
-
生成代码:在管道编辑器中点击“生成代码”按钮,Sysplorer 会自动生成对应的 C 或 C++ 代码框架。代码框架包含每个过滤器的接口定义和管道连接逻辑。
3.3 代码示例
以下是一个简单的管道代码框架示例(MWorks 语法):
// 管道定义示例
Pipe MyDataPipeline {
// 定义过滤器
Filter inputFilter;
Filter processFilter;
Filter outputFilter;
// 管道连接
Connect(inputFilter.output, processFilter.input);
Connect(processFilter.output, outputFilter.input);
// 执行逻辑
Execute() {
inputFilter.ReadData();
processFilter.Process();
outputFilter.WriteData();
}
}
3.4 架构实现的验证
完成代码生成后,可以通过 Sysplorer 的仿真功能验证管道架构的正确性:
- 运行仿真,观察数据在管道中的流动是否按预期顺序执行
- 检查每个过滤器的输出结果是否符合设计要求
- 使用调试工具单步执行,定位可能的逻辑错误
MWORKS
通过以上步骤,可以在 MWORKS 中高效地将架构设计转化为可执行的管道代码,实现系统功能的模块化开发和验证。