Main Content

slvnvextract

Extract atomic subsystem or subchart contents into new model

Description

newModel = slvnvextract(subcomponent) extracts the contents of the Atomic Subsystem block or atomic subchart subcomponent and creates a model. slvnvextract returns the name of the new model in newModel. If the model name already exists,slvnvextract uses the subsystem or subchart name for the model name, appending a numeral to the model name.

Note

If an atomic subchart calls an exported graphical function that is outside the subchart, slvnvextract creates the model, but the new model does not compile.

newModel = slvnvextract(subcomponent,showModel) opens the extracted model if you set showModel to true. The extracted model is loaded only if you set showModel to false.

Input Arguments

collapse all

The full path to the atomic subsystem or atomic subchart whose contents are extracted.

Specify if you want the extracted model to be displayed.

Output Arguments

collapse all

Reports the name of the new extracted model created by slvnvextract.

Examples

collapse all

This example shows how to extract an atomic subsystem from a model and copy it to a new model using slvnvextract.

Load the sldemo_lct_bus model.

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

The slcoverage_lct_bus model has an S-Function. Build the S-Function by using 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/Bdoc21b_1757077_185986/tp823c0562/ex66778043 -c /tmp/Bdoc21b_1757077_185986/tp9fc7ee83_be04_46c5_9977_d6787a1ab530/counterbus.c -outdir /tmp/Bdoc21b_1757077_185986/tp4b85089c_7f71_4b06_90ef_1e85a56aecd6
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc21b_1757077_185986/tp823c0562/ex66778043 /tmp/Bdoc21b_1757077_185986/tp9fc7ee83_be04_46c5_9977_d6787a1ab530/tp66f1d01b_64e1_4bf6_a867_4ed648023fd4.c /tmp/Bdoc21b_1757077_185986/tp4b85089c_7f71_4b06_90ef_1e85a56aecd6/counterbus.o -L/mathworks/devel/bat/Bdoc21b/build/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc21b_1757077_185986/tp823c0562/ex66778043 -c /tmp/Bdoc21b_1757077_185986/tp823c0562/ex66778043/counterbus.c -outdir /tmp/Bdoc21b_1757077_185986/tp4b85089c_7f71_4b06_90ef_1e85a56aecd6
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc21b_1757077_185986/tp823c0562/ex66778043 /tmp/Bdoc21b_1757077_185986/tp9fc7ee83_be04_46c5_9977_d6787a1ab530/slcoverage_sfun_counterbus.c /tmp/Bdoc21b_1757077_185986/tp9fc7ee83_be04_46c5_9977_d6787a1ab530/tp7280511d_bcaf_4fd7_bd00_8e724d3411ce.c /tmp/Bdoc21b_1757077_185986/tp9fc7ee83_be04_46c5_9977_d6787a1ab530/tp8c88b96d_4e41_445f_9698_d1e2b8e3ebaf.c /tmp/Bdoc21b_1757077_185986/tp4b85089c_7f71_4b06_90ef_1e85a56aecd6/counterbus.o -L/mathworks/devel/bat/Bdoc21b/build/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
### Finish Compiling slcoverage_sfun_counterbus
### Exit

Extract the slCounter subsystem from the model and copy it to a new model.

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

    'slCounter'

This example shows how to extract an atomic Stateflow® chart from a model and copy it to a new model using slvnvextract.

Load the slvnvdemo_covfilt model.

modelName = 'slvnvdemo_covfilt';
load_system(modelName);

Extract the Mode Logic atomic subchart from the model and copy it into a new model.

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

    'ModeLogic'

Introduced in R2010b