How do you add physical signal lines programmatically?
Show older comments
I just need to connect a Simulink-PS Converter to a Connector port in a subsystem, but the usual add_line function doesn't work. It returns an error, saying the object doesn't exist.
add_line('mymodel/mySubsystem','C_1','Conn_1', 'autorouting', 'on');
This is the specific error:
Invalid Simulink object name: C_1/1
Accepted Answer
More Answers (2)
J Chen
on 30 Jan 2020
0 votes
use h1 = get_param('mymodel/mySubsystem/C_1','PortHandles'); to get the port handles. Use add_line to draw line between the handles. Refer to Connect Blocks Using Port Handles section at https://www.mathworks.com/help/simulink/slref/add_line.html?searchHighlight=add_line&s_tid=doc_srchtitle
Maximilian Bleicher
on 29 Mar 2020
Hi,
i'm facing the same issue. But neither of these variants work:
'PS-Simulink Converter1/1' or 'PS-Simulink Converter1/LConn1'
Is there a simple way to display all ports? What does the following information tell me?
get_param('model/PS-Simulink Converter1','PortHandles')
Inport: []
Outport: 91.0541
Enable: []
Trigger: []
State: []
LConn: 92.0541
RConn: []
Ifaction: []
Reset: []
Thank you in advance
1 Comment
Maximilian Bleicher
on 29 Mar 2020
I just figured it out. As long as the connection rules are fulfilled you just have to find the right connectors.
In this case, the following solution works:
port1 = 'Voltage Sensor/RConn1';
port2 = 'PS-Simulink Converter1/LConn1';
add_line(sys,port1,port2);
Categories
Find more on Discrete Events and Mode Charts in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!