打開彈體示例項目并將 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 文件的修訂版。
更多信息