Get port data type by script
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I need to get the data types of all the inputs and output of arithmetic blocks in my model. I got the required results using 'CompiledPortDataType' command. But before using this command, the model has to be loaded and compiled. For this I used the commands load_system(Model_Name); and Model_Name([],[],[],'compile'). on using the compile command, I am getting following error. ??? Index exceeds matrix dimensions.
But on running the same command with Actual_Model_Name instead of variable storing the model name, I am able to compile the model. Also, if I compile the model with the last mentioned command, I am still not able to find the data types of the inport of the Arithmetic blocks. Can anyone tell me what might be the problem. Here's the code I've written.
load_system(Model_Name);
Model_Name([], [], [], 'compile')
Sum_blks = find_system(bdroot,'BlockType','Sum');
cnt = 1;
for sum_ctr = 1:length(Sum_blks)
blk_PH = get_param(Sum_blks{sum_ctr},'PortHandles');
Inport_handles = blk_PH.Inport;
for i = 1:length(Inport_handles)
InputDataType{cnt,1} = get_param(Inport_handles(i),'CompiledPortDataType');
cnt = cnt+1;
end
end
1 commentaire
rameshkumar rajarathanam
le 10 Mar 2020
try using eval('Model_Name([], [], [], 'compile')') instead.
Réponses (0)
Voir également
Catégories
En savoir plus sur Simulink Functions dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!