以编程方式连接两个子系统

时间:2014-04-01 17:53:17

标签: matlab simulink simscape

我正在尝试以编程方式重新构建我之前开发的一些自定义块/模型的复杂模型,但我无法连接两个PMC_Port

这就是我所拥有的:

% Main system    
sys_name = 'model';
sys = new_system(sys_name)
open_system(sys_name)

load_system('circuit_cell') % Subsystem with 6 PMC_Port elements
                            % stored in circuit_cell.mdl file
% Add cell #1
add_block('built-in/Subsystem', [sys_name '/cell1'])
Simulink.BlockDiagram.copyContentsToSubSystem('circuit_cell', [sys_name '/cell1']);

% Add cell #2
add_block('built-in/Subsystem', [sys_name '/cell2'])
Simulink.BlockDiagram.copyContentsToSubSystem('circuit_cell', [sys_name '/cell2']);

% And now I want to connect one cell with the other
add_line('model', 'cell1/1', 'cell2/1', 'autorouting', 'on')

...但我总是收到'无效的Simulink对象名称:cell1 / 1'错误消息。

EDIT.-这是circuit_cell.mdl文件:http://pastebin.com/mXuVFtM3

1 个答案:

答案 0 :(得分:0)

感谢@ am304评论,我设法解决这个问题。

物理端口的连接必须通过RConn1LConn1键名进行,因此命令add_line应按如下方式执行:

add_line('model', 'cell1/RConn1', 'cell2/LConn1', 'autorouting', 'on')

经过测试:

  • Matlab版本7.12.0.635(R2011a)

谢谢!

编辑.-因为@ am304说没有记录,所以可以更改。如果选中更多版本,请发表评论,我会更新答案。