# 应用案例
本案例使用空间矢量脉冲调制模型介绍基础组件、子系统以及基础工作区、模型工作区数据的导入方法。
所使用的 Simulink 模型位于Sysplorer安装目录\Docs\Interface\Samples\SimulinkImporterDemo\svpwm文件夹中。
# 工作区数据
当前案例中模型所依赖的基础工作区数据如下表所示:
| DataClass | Name | Value | DataType | Dimensions |
|---|---|---|---|---|
| Matlab.Variable | Test_logic | <2×3 logic> | logical (boolean) | [2 3] |
| Simulink.Parameter | Param | 1.12 | fixdt(1,16,0) | [1 1] |
| Simulink.Parameter | Param1 | 1 | double | [1 1] |
| Simulink.Parameter | Param2 | [3;3;3] | int8 | [3 1] |
| Simulink.Parameter | Param3 | [1 0;0 0] | boolean | [2 2] |
| Simulink.Parameter | Param4 | [7 6 6] | auto | [1 3] |
| Simulink.Parameter | Param5 | [3 1 2] | auto | [1 3] |
| Simulink.Parameter | Param6 | 1 | Enum: <Colors> | [1 1] |
| Matlab.Variable | constant0 | 0 | double(auto) | [1 1] |
| Matlab.Variable | constant1 | 1 | double(auto) | [1 1] |
| Matlab.Variable | constant2 | 2 | double(auto) | [1 1] |
| Matlab.Variable | constant4 | 4 | double(auto) | [1 1] |
| Matlab.Variable | constant_ | -0.5 | double(auto) | [1 1] |
| Matlab.Variable | gain_level1 | 0.577350269189626 | double(auto) | [1 1] |
| Matlab.Variable | gain_level2 | 0.866025403784439 | double(auto) | [1 1] |
| Matlab.Variable | sin1_Amplitude | 1 | double(auto) | [1 1] |
| Matlab.Variable | sin1_Bias | 0 | double(auto) | [1 1] |
| Matlab.Variable | sin1_Frequency | 1 | double(auto) | [1 1] |
| Matlab.Variable | sin1_Phase | 0 | double(auto) | [1 1] |
| Matlab.Variable | sin2_Amplitude | 1 | double(auto) | [1 1] |
| Matlab.Variable | sin2_Bias | 0 | double(auto) | [1 1] |
| Matlab.Variable | sin2_Frequency | 1 | double(auto) | [1 1] |
| Matlab.Variable | sin2_Phase | 1.570796327 | double(auto) | [1 1] |
| Matlab.Variable | sin_SampleTime | 0 | double(auto) | [1 1] |
| Bus Type | Bus | / | / | / |
| Bus Type | BusObject1 | / | / | / |
模型工作区数据如下表所示:
| DataClass | Name | Value | DataType | Dimensions | Argument |
|---|---|---|---|---|---|
| Matlab.Variable | Var | true | logical (boolean) | [1 1] | / |
| Simulink.Parameter | Param | [1 2 3] | auto | [1 3] | / |
| Simulink.Parameter | Param2 | 1 | Enum: <Colors> | [1 1] | / |
| Simulink.Parameter | Param_constant | 1 | double | [1 1] | / |
| Simulink.Parameter | Param_gain | -1 | double | [1 1] | / |
| Simulink.Parameter | Param_gain2 | 0.5 | double | [1 1] | / |
| Simulink.Parameter | Param_gain3 | 1 | double | [1 1] | √ |
| Matlab.Variable | Var1 | [1 2 3 4; 2 3 4 5; 1 1 1 1] | double(auto) | [3 4] | / |
# 导入文件选项配置
在Simulink 模型导入工具对话框,单击右侧
按钮,选择需要导入的 Simulink 模型文件,也可以通过直接在输入框中输入模型文件绝对路径的方式设置。如图所示:
# 复制数据导入脚本
单击复制数据导入脚本到 Simulink 模型路径按钮,选择 Simulink 模型所在的文件夹,脚本复制成功后将进行提示,如下图所示:
将 Matlab 的工作路径切换至当前 Simulink 模型所在文件夹并加载基础工作区数据(案例中为base.mat中的数据),保证 Simulink 模型能够正常仿真的情况下,在命令行中运行复制的数据导入脚本。运行命令为SimulinkImporter_DataExport('Simulink 模型名'),当前案例即为SimulinkImporter_DataExport('svpwm1_R2018b')。
上述脚本执行完成后,将在 Simulink 模型建模仿真环境的工作路径中生成包含模型基础工作区和模型工作区数据的文件,文件名称为SimulinkImport_Simulink 模型名_Data.slxdata,当前案例即为SimulinkImport_svpwm1_R2018b_Data.slxdata。
如果需要指定数据文件的生成路径,运行命令可以使用SimulinkImporter_DataExport('Simulink 模型名', '输出文件路径')。
# 配置数据文件路径
单击右侧
按钮,选择上节中生成的数据文件。同样也可以通过直接在输入框中输入数据文件绝对路径的方式设置。
# 数据导入前清空基础工作区
为避免当前 Sysblock 基础工作区中存在与 Simulink 模型基础工作区有同名的数据导致错误,建议勾选该选项。
# 模型生成选项配置
单击右侧
按钮,选择导入后生成的 Modelica 模型及相关资源文件存放的目录,同样也可以通过直接在输入框中输入绝对路径的方式设置。
Simulink 模型导入完成后会在模型生成路径中生成模型导入报告,勾选该选项后模型导入报告将在模型导入完成后使用默认浏览器打开。
# 导入
配置完成后单击导入按钮开始导入 Simulink 模型,导入过程中的输出信息会打印在 Sysplorer 输出面板上。
不支持的组件以及数据类型会显示在输出面板中,组件在图形视图中表示为红框。模型导入结果如下图所示:
进入建模 > 数据管理器查看工作区数据导入结果。基础工作区导入结果如下图所示:
同时,在 Sysblock 模型生成路径中自动生成包含基础工作区数据的数据文件,名称为Simulink 模型名_BaseWorkSpace.json,如下图所示:
该文件可以在建模 > 数据管理器 > 基础工作区 > 导入文件中重复使用。
模型工作区数据导入结果如下图所示,模型工作区数据与 Modelica 模型文件绑定,模型加载后自动加载模型工作区数据。
# 查看结果
单击仿真按钮运行仿真,查看结果:
