Error with inport signal names when using a Model block

2 views (last 30 days)
Hello.
I am trying to create en Export Function Model as outlined here (Using Initialize, Reinitialize, Reset, and Terminate Functions - MATLAB & Simulink (mathworks.com)). I have gotten thru it all just liek instructed, but i get an error when i compile the model.
Looking at the Model block subsystem, i can see that the signal is complainig about, do not show up named in the subsystem (See screenshot)
If you open that subsystem (Reference model) and check the inports and signal names, they are named.
I have tried to set the signal names using the set_param(), but i get this error and i do not understand how to get around it. I have also tried to name the line and get the same error.
Any help is appreciated on how i can fix this error.
Thank you.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 18 Jan 2024
You have to set the name of the line (line handle), not port (port handle). Outside the Model block, try to set the line name manually to see if it resolves the error.
  2 Comments
Eduardo Garcia
Eduardo Garcia on 18 Jan 2024
I have tried to set the line name and get the same error.
linehandle = get_param(newblockhandle{1},'LineHandles');
set_param(linehandle.Outport(1),'Name',Ports.top.portname{i})
It did work manually. Not sure why i didnt think about testing it manually.
I am still confused as to why it would work manually and not with set_param().
Thanks for the response.
Fangjun Jiang
Fangjun Jiang on 18 Jan 2024
Carefully review if there is any difference in the signal name between manual entry and by script, such as trailing white space or new line. Read it back in script to check the value too.

Sign in to comment.

More Answers (0)

Categories

Find more on Event Functions in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!