1
我有一个SVN仓库中提交了各种.mdl文件。有时,用户通过模型中的许多打开的选项卡保存.mdl文件,使用各种缩放设置并将该文件提交到存储库中。我想知道在Simulink中是否有任何选项/脚本/参数用于保存和标准化文件,只需打开主选项卡(根级),并且在每个模型/库级别具有正常的100%视图。如何在Source Control项目中实现Simulink mdl文件保存方法的标准化?
我有一个SVN仓库中提交了各种.mdl文件。有时,用户通过模型中的许多打开的选项卡保存.mdl文件,使用各种缩放设置并将该文件提交到存储库中。我想知道在Simulink中是否有任何选项/脚本/参数用于保存和标准化文件,只需打开主选项卡(根级),并且在每个模型/库级别具有正常的100%视图。如何在Source Control项目中实现Simulink mdl文件保存方法的标准化?
继@Navan的评论后,我想出了一个解决方案,主要包括循环遍历模型的所有子系统块,并执行set_param
命令和每个系统级别的ZoomFactor
参数。我还找到了一个删除所有打开的子系统选项卡的命令,以便只打开主根系统选项卡。在这里我的代码,这似乎正好是做什么我想:
% Making sure that the root level is open
open_system(bdroot, 'tab')
% Get all the tabs that are open, excluding the root level
tabOpened = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem',...
'open','on');
% Close all the unnecessary tabs tabs
cellfun(@close_system, tabOpened)
% Get a list of all the subsystem levels
blocksList = find_system(bdroot,'LookUnderMasks','all',...
'FollowLinks','on',...
'Variants','AllVariants',...
'IncludeCommented', 'on', ...
'blocktype','SubSystem');
% Set the zoom factor of each subsystem level to Normal (i.e. 100%)
for ii = 1:length(blocksList)
set_param(blocksList{ii},'Zoomfactor','100')
end
你需要编写一个脚本,设置ZoomFactor PARAM,然后使用open_system(“bdroot”)去模拟根,然后调用save_system在该状态下保存模型。我不知道有任何现有的脚本会这样做。 – Navan