I understand that you have some bus signals mentioned in a '.m' file. Further you need to make a model with individual signals as inports using a script.
You can follow the following method:
run('your_bus_signals_file.m'); % Using 'run' function to load the bus data
% Replace with your actual .m file name
modelName = 'BusSignalsModel';
new_system(modelName);
open_system(modelName);
% Here assuming that the signals are stored in a 'struct' called 'busData'
% You can change this accordingly if the data is stored otherwise.
signalNames = fieldnames(busData);
% Using a loop adding all inport blocks to the model
for i = 1:length(signalNames)
% Creating inport using 'add_block' function
blockName = ['Inport', num2str(i)];
add_block('simulink/Sources/In1', [modelName, '/', blockName]);
% Setting properties of the inport
set_param([modelName, '/', blockName], 'Name', signalNames{i});
set_param([modelName, '/', blockName], 'Position', [30, 30 + 50*i, 60, 50 + 50*i]);
end
save_system(modelName);
open_system(modelName);
You can refer to the following documentations for your reference:
'fieldnames': https://www.mathworks.com/help/releases/R2024a/matlab/ref/fieldnames.html?searchHighlight=fieldnames&s_tid=doc_srchtitle
Hope this helps! Thanks.