Code for connecting two Simscape blocks

조회 수: 5 (최근 30일)
Alicia Roder
Alicia Roder 2017년 3월 24일
편집: Steve Miller 2018년 2월 1일
I am trying to connect two Simscape blocks. My first step is to get the corresponding handles for both blocks with e.g.
>> A=get_param('Pressure/FixedOrifice','LineHandles')
and analog for the second block.
Then I try to connect the blocks via
>> add_line(A.RConn(1,2),B.LConn(1,2))
since the blocks have more than one RConn/LConn. This gives me an error. How do I adress the ports correctly?
Thank you for your help.
  댓글 수: 1
Steve Miller
Steve Miller 2017년 3월 25일
편집: Steve Miller 2018년 2월 1일
We have posted an example on the MATLAB Central File Exchange that shows how to use MATLAB commands to add Simscape blocks and connect them.
I bet you can reuse some of the code in this example in your work.
Thanks,
--Steve

댓글을 달려면 로그인하십시오.

답변 (1개)

Aniruddha Katre
Aniruddha Katre 2017년 3월 24일
This did not work because Line Handles gives you handles to lines that exist. If you look at the struct A, it has the values "-1" for LConn and RConn indicating that there is no line connecting those ports.
Instead you need to use the parameter "PortHandles" when using get_param.
B1 = get_param(gcb,'PortHandles') % Port handles for first block
B2 = get_param(gcb,'PortHandles') % Port handles for second block
add_line(gcs,B1.RConn,B2.LConn)
For more details see the last section of the description part of the add_line documentation page: http://www.mathworks.com/help/simulink/slref/add_line.html
Hope this helps!
  댓글 수: 1
Alicia Roder
Alicia Roder 2017년 3월 27일
Thank you. I have tried that out, but it still gives me the error "invalid Simulink object name". I disconnected the the corresponding elements from the network completely in order to eliminate additional errors although I need it to function with some connections already existing. Deleting the connecting lines via MATLAB was no problem.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Physical Units에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by