我正在使用 Simulink 中的一个模型,其中包含许多输入端口和输出端口,以及一个子系统。我正在尝试以编程方式连接它们,因为它是一个非常巨大的模型。
我尝试使用端口的名称获取端口的句柄,但我仍然收到诸如“无效的 Simulink 对象名称”或“无效的 Simulink 端口句柄”之类的错误
以下代码将创建一个最小子系统,我想回想一下,在我正在工作的实际系统中可能有 50 多个端口,它们不一定“一个接一个”连接,我的意思是,有时第一个输入端口会例如,连接到子系统的第三个输入端口。
% Creating little subsystem and inports
open_system(new_system('my_system'));
add_block('simulink/Commonly Used Blocks/In1', 'my_system/port_name_1');
add_block('simulink/Commonly Used Blocks/In1', 'my_system/port_name_2');
add_block('built-in/Subsystem', 'my_system/test_subsystem');
add_block('simulink/Commonly Used Blocks/In1', 'my_system/test_subsystem/test_name_1');
add_block('simulink/Commonly Used Blocks/In1', 'my_system/test_subsystem/test_name_2');
这是我收到一些错误消息的地方:
add_line('my_system', 'my_system/port_name_1', 'my_system/test_subsystem/test_name_1', 'autorouting', 'smart');
% Error: Invalid Simulink object name: my_system/port_name_1
porthandle = get_param('my_system/port_name_1', 'Handle');
subsystem_port_handle = get_param('my_system/test_subsystem/test_name_1', 'Handle');
add_line('my_system', porthandle, subsystem_port_handle, 'autorouting', 'smart');
% Error: Invalid Simulink port handle