使用simulink函数创建系统/子系统

本文介绍了如何使用Simulink函数手工创建和快速创建系统/子系统。手工创建涉及删除模型内容、添加模块、连线及设置参数;快速创建则依赖于创建源模块库,利用复制和粘贴功能简化过程。两种方法各有利弊,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、通过simulink函数手工创建:

% function res_adc_a = add_adc_a(block_pach,adc_a_param)

% %删除模型中内容

% %添加所需模块

% %连线

% %设置相应参数

% %关闭库模块系统

% %保存

% %为了保证正确性的情况下,打开fig的第一时间获取该模块的gcb,传进函数中

% path = gcb;                                  %获取子系统路径

% Simulink.SubSystem.deleteContents(path);     %删除子系统中内容

% load_system('ADCLibrary');                   %打开源地址

% %添加模块In_a

% add_block('ADCLibrary/In_a', strcat(path,'/In_a'));

% set_param(strcat(path,'/In_a'), 'Position', [60 73 90 87]);

% %添加模块adc_a(GetWay In)

% add_block('ADCLibrary/adc_a', strcat(path,'/adc_a'));

% set_param(strcat(path,'/adc_a'), 'Position', [140 70 205 90]);

% %添加模块Convert_a  

% add_block('ADCLibrary/Convert_a', strcat(path,'/Convert_a'));

% set_param(strcat(path,'/Convert_a'), 'Position', [260 65 305 95]);

% %添加模块Out_a

% add_block('ADCLibrary/Out_a', strcat(path,'/Out_a'));

% set_param(strcat(path,'/Out_a'), 'Position', [365 73 395 87]);

% %连线

% add_line(path,'In_a/1','adc_a/1');

% add_line(path,'adc_a/1','Convert_a/1');

% add_line(path,'Convert_a/1','Out_a/1');

% %设置参数

% %关闭库模块系统

% close_system('ADCLibrary');

% %保存模型(用户自己保存)

% %save_system(model_name);

二、通过simulink函数快速创建:

(首先创建需要的源模块库,如:('ADACLibrary');)

%添加add_adc_a

function res_adc_a = add_adc_a()

path = gcb;                        %获取当前路径

Simulink.SubSystem.deleteContents(path);%删除子系统中内容

load_system('ADACLibrary');         %加载源模块库

new_system('temp_adc_a');          %新建中转系统

Simulink.SubSystem.copyContentsToBlockDiagram('ADACLibrary/ADC_A', 'temp_adc_a');

Simulink.BlockDiagram.copyContentsToSubSystem('temp_adc_a', path);

close_system('ADACLibrary');

save_system('temp_adc_a');

close_system('temp_adc_a');

delete('temp_adc_a.mdl');  %删除中转系统

res_adc_a = 1;

这两种方法针对不同的情况各有优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值