天天看点

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

打开弹体示例项目并将 MDL 文件另存为 SLX

运行以下命令以创建并打开“sldemo_slproject_airframe”示例的工作副本。

Simulink.ModelManagement.Project.projectDemo('airframe', 'svn');

rebuild_s_functions('no_progress_dialog');

Creating sandbox for project.

Created example files in "/tmp/publish_examples0/bml.batserve.156477/work/projects/slexamples/airframe2"

Initializing: Project Path

Identifying shadowed project files

Running: /tmp/publish_examples0/bml.batserve.156477/work/projects/slexamples/airframe2/utilities/set_up_project.m

Building with 'gcc'.

MEX completed successfully.

查找此项目中的所有 MDL 文件并转换为 SLX

点击 Project Files 节点以查看项目中的所有文件。查看模型文件夹可看到此项目包含以 MDL 格式保存的模型。

使用 Simulink Project API 查找此项目中所有以 MDL 格式保存的文件,然后将它们重新保存为 SLX 格式。

project = simulinkproject;

allProjectFiles = project.Files;

for fileIndex = 1:numel(allProjectFiles)

projectFile = allProjectFiles(fileIndex);

[folder, name, ext] = fileparts(projectFile.Path);

if strcmp(ext, '.mdl')

% This is a MDL file. Load it and then save as an SLX file.

mdlModel = fullfile(folder, [name, ext]);

slxModel = fullfile(folder, [name '.slx']);

load_system(mdlModel);

% Save a new copy of this file in SLX format:

save_system(name, slxModel);

close_system(name,0);

end

end

项目文件状态

点击 Files 节点后选择 All Files 视图以查看项目中的所有文件。查看模型文件夹可看到现在缺少文件。这是因为原始 .mdl 文件已重命名为 .mdl.r20XXX 备份文件(其中 r20XXX 是上次修改这些文件的版本的名称,例如 .mdl.r2012b),并且新创建的 .slx 尚不在项目中。

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

运行项目检查

要修复此问题,请点击 Simulink Project 选项卡中的 Check Project 来运行项目检查。

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

点击“Fix”以解决问题。

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

项目检查会自动重新运行以验证问题是否已解决。

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

点击项目的 Modified Files 节点可看到新创建的 SLX 文件现在已添加到项目中,并且原始 MDL 文件已安排删除。

服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换

提交 SLX 文件后,在 Simulink Project 中查看 SLX 文件的过去修订版时,还将展示原始 MDL 文件的修订版。

更多信息