Set Configuration Parameters for Model Hierarchies
A referenced model uses a configuration set the same way that it would if the model executed independently. By default, every model in a hierarchy has its own configuration set. When you open a referenced model in the context of a model hierarchy, access its configuration parameters by clicking the Model Settings button arrow, then selecting Model Settings under Referenced Model.
Because each model can have its own configuration set, configuration parameter values can be different in different models. Furthermore, some parameter values are intrinsically incompatible with model references. The Simulink® response to an inconsistent or unusable configuration parameter depends on the parameter:
Where an inconsistency has no significance, or a trivial resolution without risk exists, Simulink ignores or resolves the inconsistency without posting a warning.
Where a nontrivial and possibly acceptable solution exists, Simulink resolves the conflict silently, resolves it with a warning, or generates an error. See Diagnostics That Are Ignored in Accelerator Mode for details.
Where no acceptable resolution is possible, Simulink generates an error. Change some or all parameter values to eliminate the problem.
Manage Configuration Parameters by Using Configuration References
To assign an externally stored configuration set to multiple models, you can use configuration references. Configuration references help you eliminate configuration parameter incompatibilities.
You can propagate the configuration reference of a top model to an individual referenced model or to all referenced models in the model hierarchy. For an example, see Share a Configuration Across Referenced Models.
Configuration Requirements for All Referenced Model Simulation
Some configuration parameter options can cause incompatibilities in model hierarchies. Where possible, Simulink resolves violations of these requirements automatically, but most cases require changes to the parameters in some or all models.
Dialog Box Pane | Option | Requirement |
---|---|---|
Solver | Start time | The compiled start time of the top model and all referenced models must be the same. The compiled start time is the first simulation step after the specified start time. Simulation steps are increments of the fastest discrete rate in the model, beginning from zero. |
Stop time | Simulink uses the Stop time of the top model for simulation, overriding any differing Stop time in a referenced model. | |
Type | The Type and Solver of the top model apply throughout the hierarchy. See Solver Settings. | |
Solver | ||
Data Import/Export | Initial state | Can be selected for the top model, but must be cleared for a referenced model. |
Math and Data Types | Application lifespan (days) | For code generation, the setting must be the same for the parent and referenced models. For simulation, the setting can be different for the parent and referenced models. |
Model Referencing | Total number of instances allowed per top model | Must not be Zero in a referenced model.
Specifying One rather than
Multiple is preferable or required sometimes.
See Number of Model Instances Setting. |
Code Generation > Optimization | Default parameter behavior | If the parent model has this option set to
Inlined , then the referenced model cannot be
set to Tunable . |
Solver Settings
Model referencing works with both fixed-step and variable-step solvers. All models in a model hierarchy use the same solver, which is always the solver specified by the top model. An error occurs if the solver type specified by the top model is incompatible with the solver type specified by any referenced model.
Top Model Solver Type | Referenced Model Solver Type | Compatibility |
---|---|---|
Fixed-step | Fixed-step | Allowed |
Variable-step | Variable-step | Allowed |
Variable-step | Fixed-step | Allowed unless the referenced model is multirate and specifies both a discrete sample time and a continuous sample time |
Fixed-step | Variable-step | Error |
If an incompatibility exists between the top model solver and any referenced model solver, one or both models must change to use compatible solvers. For information about solvers, see Compare Solvers and Solver Selection Criteria.
Number of Model Instances Setting
A referenced model must specify that it is available to be referenced, and whether it can be referenced at most once or can have multiple instances. The Total number of instances allowed per top model parameter provides this specification. The possible values for this parameter are:
Zero
— A model cannot reference this model. An error occurs if a reference to the model occurs in another model.One
— A model hierarchy can reference the model at most once. An error occurs if more than one instance of the model exists. This value is sometimes preferable or required.Multiple
— A model hierarchy can reference the model more than once, if it contains no constructs that preclude multiple references. An error occurs if the model cannot be referenced multiple times, even if only one reference exists.
Setting Total number of instances allowed per top model
to Multiple
for a model that is referenced only once can
reduce execution efficiency slightly. However, this setting does not affect data
values that result from simulation or from executing code Simulink
Coder™ generates. Specifying Multiple
when only one
model instance exists avoids having to change or rebuild the model when reusing the
model:
In the same hierarchy
Multiple times in a different hierarchy
Some model properties and constructs require setting Total number of
instances allowed per top model to One
.
For details, see Model Reuse.
Diagnostics That Are Ignored in Accelerator Mode
When a referenced model simulates only in accelerator mode, the software does not display warnings or errors for these diagnostic configuration parameters of the referenced model.
To identify the referenced models with diagnostics that are ignored during simulation in accelerator mode, use the Model Advisor.
On the Modeling tab, click Model Advisor.
Select the top model, then click OK.
Select By Task > Model Referencing > Check diagnostic settings ignored during accelerated model reference simulation.
Click Run This Check.
To run the diagnostics for the identified referenced models, configure the corresponding configuration parameters to produce warnings or errors. Then, simulate the model in normal mode and check for diagnostic messages.
Note
Configuration parameters on the Code Generation pane of the Configuration Parameters dialog box do not affect simulation in either normal or accelerator mode. Code Generation parameters affect only Simulink Coder code generation. Accelerator mode simulation requires code generation to create a simulation target. Simulink software uses default values for all Code Generation parameters when generating the target and restores the original parameter values after code generation is complete.