打开弹体示例项目并将 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 尚不在项目中。
运行项目检查
要修复此问题,请点击 Simulink Project 选项卡中的 Check Project 来运行项目检查。
点击“Fix”以解决问题。
项目检查会自动重新运行以验证问题是否已解决。
点击项目的 Modified Files 节点可看到新创建的 SLX 文件现在已添加到项目中,并且原始 MDL 文件已安排删除。
提交 SLX 文件后,在 Simulink Project 中查看 SLX 文件的过去修订版时,还将展示原始 MDL 文件的修订版。
更多信息