How to find ports names on ReferenceModel block

11 次查看(过去 30 天)
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.

回答(2 个)

Mayur Agnani
Mayur Agnani 2018-12-17
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 个评论
Fang Fang
Fang Fang 2021-3-10
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

请先登录,再进行评论。


Alex Hirzel
Alex Hirzel 2023-1-27
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');

类别

Help CenterFile Exchange 中查找有关 Event Functions 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by