Why isn't the 'add_block' function working when giving variable instead of explicit value?

6 vues (au cours des 30 derniers jours)
I'm currently trying to add blocks, based on names from an excel list, to my current system. However the add_block function only works when I'm passing it the explicit value of my string. Whenever I'm passing it a variable with the exact same value, its telling me : Invalid destination block specification. Here's my current code which doesn't work. For testing I'm only trying to add the block for the first element of the list. I've included the line of code for which it does actually work.
[num, name_txt] = xlsread('parameterSet.xlsx',1,'A2:A237');
load_system(gcs);
load_system('simulink');
for line = 1:numel(name_txt)
subsystem_name = strcat(gcs, '/');
subsystem_name = strcat(subsystem_name, name_txt(line));
if line == 1
add_block('simulink/Ports & Subsystems/Enabled Subsystem', subsystem_name, 'MakeNameUnique', 'on');
*This works:* add_block('simulink/Ports & Subsystems/Enabled Subsystem', 'DiagnosticsTest/Function_Call_Subsystem/Read_Message/Send_Response/Single_Frame_Response/Another System', 'MakeNameUnique', 'on');
end
end

Réponse acceptée

Tim Leschinsky
Tim Leschinsky le 2 Mai 2018
EDIT: I've found the problem. Since subsystem_name is a cell array, I only need to access the first element: Which results in:
add_block('simulink/Ports & Subsystems/Enabled Subsystem', subsystem_name{1}, 'MakeNameUnique', 'on');
  1 commentaire
Satya jain
Satya jain le 20 Juil 2020
Hello
i am facing the same kinda problem that the name given takes it to an invalid type due to ' ' written on text entries.
Can you help how to solve it

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Subsystems dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by