slvnvextract

Извлеките атомарную подсистему или содержимое субдиаграммы в новую модель

Описание

newModel = slvnvextract(subcomponent) извлекает содержимое блока Atomic Subsystem или атомарной субдиаграммы subcomponent и создает модель. slvnvextract возвращает имя новой модели в newModel. Если имя модели уже существует,slvnvextract использует подсистему или имя субдиаграммы для имени модели, добавляя цифру к имени модели.

Примечание

Если атомарная субдиаграмма вызывает экспортируемую графическую функцию, которая находится вне субдиаграммы, slvnvextract создает модель, но новая модель не компилирует.

newModel = slvnvextract(subcomponent,showModel) открывает извлеченную модель, если вы устанавливаете showModel к true. Извлеченная модель загружается, только если вы устанавливаете showModel к false.

Входные параметры

свернуть все

Полный путь к атомарной подсистеме или атомарной субдиаграмме, содержимое которой извлечено.

Задайте, хотите ли вы, чтобы извлеченная модель была отображена.

Выходные аргументы

свернуть все

Сообщает имя новой извлеченной модели, созданной slvnvextract.

Примеры

свернуть все

В этом примере показано, как извлечь атомарную подсистему из модели и скопировать его в новую модель с помощью slvnvextract.

Загрузите sldemo_lct_bus модель.

modelName = 'slcoverage_lct_bus';
load_system(modelName);
load slcoverage_lct_data.mat

slcoverage_lct_bus модель имеет S-функцию. Создайте S-функцию при помощи legacy_code.

def = legacy_code('initialize');
def.SFunctionName = 'slcoverage_sfun_counterbus';
def.OutputFcnSpec = 'void counterbusFcn(COUNTERBUS u1[1], int32 u2, COUNTERBUS y1[1], int32 y2[1])';
def.HeaderFiles   = {'counterbus.h'};
def.SourceFiles   = {'counterbus.c'};
def.Options.supportCoverage = true;
legacy_code('generate_for_sim', def);
### Start Compiling slcoverage_sfun_counterbus
mex -I/tmp/BR2021bd_1724986_151598/publish_examples2/tp0316b7b6/ex66778043 -c /tmp/BR2021bd_1724986_151598/publish_examples2/tpa34b9835_7ef7_42d0_9188_a35a749e13b0/counterbus.c -outdir /tmp/BR2021bd_1724986_151598/publish_examples2/tp076dddcb_df37_4589_8be5_c80dbfdef0a3
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/BR2021bd_1724986_151598/publish_examples2/tp0316b7b6/ex66778043 /tmp/BR2021bd_1724986_151598/publish_examples2/tpa34b9835_7ef7_42d0_9188_a35a749e13b0/tpe223fa7b_e1b0_4a35_a3fe_2d1bf2405421.c /tmp/BR2021bd_1724986_151598/publish_examples2/tp076dddcb_df37_4589_8be5_c80dbfdef0a3/counterbus.o -L/mathworks/devel/bat/BR2021bd/build/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/BR2021bd_1724986_151598/publish_examples2/tp0316b7b6/ex66778043 -c /tmp/BR2021bd_1724986_151598/publish_examples2/tp0316b7b6/ex66778043/counterbus.c -outdir /tmp/BR2021bd_1724986_151598/publish_examples2/tp076dddcb_df37_4589_8be5_c80dbfdef0a3
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/BR2021bd_1724986_151598/publish_examples2/tp0316b7b6/ex66778043 /tmp/BR2021bd_1724986_151598/publish_examples2/tpa34b9835_7ef7_42d0_9188_a35a749e13b0/slcoverage_sfun_counterbus.c /tmp/BR2021bd_1724986_151598/publish_examples2/tpa34b9835_7ef7_42d0_9188_a35a749e13b0/tp83f22c65_a010_40bf_b75a_0007585e25d1.c /tmp/BR2021bd_1724986_151598/publish_examples2/tpa34b9835_7ef7_42d0_9188_a35a749e13b0/tp28fb83f6_1782_4fbc_83b5_b821faaeb65f.c /tmp/BR2021bd_1724986_151598/publish_examples2/tp076dddcb_df37_4589_8be5_c80dbfdef0a3/counterbus.o -L/mathworks/devel/bat/BR2021bd/build/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
### Finish Compiling slcoverage_sfun_counterbus
### Exit

Извлеките slCounter подсистему из модели и скопируйте его в новую модель.

newModel = slvnvextract([modelName,'/slCounter'],true)
newModel =

    'slCounter'

В этом примере показано, как извлечь атомарный график Stateflow® из модели и скопировать его в новую модель с помощью slvnvextract.

Загрузите slvnvdemo_covfilt модель.

modelName = 'slvnvdemo_covfilt';
load_system(modelName);

Извлеките Логику Режима атомарная субдиаграмма из модели и скопируйте его в новую модель.

newModel = slvnvextract([modelName,'/Mode Logic'],true)
newModel =

    'ModeLogic'

Представленный в R2010b