How to find ports names on ReferenceModel block

7 views (last 30 days)
Hello, I would like with a script to find the Inports names and Outports names of a ReferenceModel block which file is missing.
I tried to find it with the structure returned by get(gcbh). But no information.
If I save the model in ".mdl" I can find this information while I read it in text mode.
ModelReferenceVersion "1.4"
List {
ListType InputPortNames
port0 "SW_rad"
port1 "SW_radps"
port2 "IS_radps"
port3 "IS_rad"
}
List {
ListType OutputPortNames
port0 "VehicleSpeed_kmph"
port1 "TS_Nm_target" ....
So the information is saved but I don't know how to access to it.
Thank you.

Answers (2)

Mayur Agnani
Mayur Agnani on 17 Dec 2018
Hi Stephane,
I understand that you want to get Inport and Outport names of a Reference model block.For getting names of port you can use
find_system(gcb,'BlockType','Outport')
find_system(gcb,'BlockType','Inport')
In your question you mentioed that that the files are missing for the Referenced block. For the above function to work you need to have files of the Referenced block.
Below is the link to find_system documentation
Mayur
  1 Comment
Fang Fang
Fang Fang on 10 Mar 2021
hi Mr. Agnani,
will matlab search the source model (.slx) automatically and find the names of a reference model block? I have tried your method but it showed error

Sign in to comment.


Alex Hirzel
Alex Hirzel on 27 Jan 2023
For future reference, as of MATLAB 2020b, it is possible to use the following to get a structure that can be parsed into the port names and numbers. These numbers can then be fed to e.g. add_line.
inports = get_param(handle, 'InputPortNames');
outports = get_param(handle, 'OutputPortNames');

Categories

Find more on Modeling in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!