How can I change the configuration of several slx files in a folder?

8 次查看(过去 30 天)
I'd like to know how can I change the configuracion of several models that I've got in a folder without opening each of them. Currently, I'm doing this by hand but I'd like to automate this.
For example, I have several with this kind of configuration:
So, I'd like to flick through all the slx files, check their configuration and set it to "Reference" instead of Configuration1
Regards.

采纳的回答

Lokesh
Lokesh 2024-1-15
Hi Iñaki Eizaguirre,
As per my understanding, you're looking to automate the process of updating the configuration set for several Simulink models (.slx files) without the need to open each file manually.
To achieve this you can utilise MATLAB scripting. Refer to the following sample code snippet that will change the configuration sets of simulink files in a folder:
% Set the directory containing the .slx files
modelDirectory = 'path_to_your_models_folder';
% Change MATLAB's current directory to the models directory
cd(modelDirectory);
% Retrieve a list of all .slx files in the directory
modelFiles = dir('*.slx');
% Loop through each .slx file in the directory
for k = 1:length(modelFiles)
% Extract the model name without the file extension
[filePath, modelName] = fileparts(modelFiles(k).name);
% Load the model into MATLAB's memory without opening the Simulink UI
load_system(modelName);
% Get the active configuration set of the loaded model
cfgSet = getActiveConfigSet(modelName);
% If the active configuration set is not 'Reference', update it
if ~strcmp(cfgSet.Name, 'Reference')
% Set the active configuration set to 'Reference'
setActiveConfigSet(modelName, 'Reference');
end
% Save the model with the updated configuration set
save_system(modelName);
% Close the model without saving again
close_system(modelName, 0);
end
Please refer to the following MathWorks documentation to know more about:
I hope this resolves your query.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

标签

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by