| Simulink® Release Notes | ![]() |
New Features
This section summarizes the changes and enhancements introduced in Simulink 6.0. The features and enhancements include:
Model Explorer
The Model Explorer is a new tool that lets you quickly navigate, view, create, configure, search, and modify all data and properties of a Simulink model or Stateflow chart. See The Model Explorer in the online Simulink help for more information.
Configuration Sets
This release introduces configuration sets. A configuration set is a named set of values for simulation parameters, such as solver type and simulation start or stop time. Every new model is created with a configuration set that is initialized from a global default configuration set. You can create additional configuration sets for a given model and designate any of them as the active set with the click of a mouse button. See Configuration Sets in the online Simulink documentation for more information.
Configuration Parameters Dialog Box
This release replaces the Simulation Parameters dialog box with the Configuration Parameters dialog box. The Configuration Parameters dialog box allows you to set a model's active configuration parameters. You can also use the Model Explorer to set the active configuration parameters as well as inactive parameters. See The Configuration Parameters Dialog Box for more information.
Model Referencing
This release introduces model referencing, a feature that lets a model include other models as modular components. You include other models in a model by using Model blocks to reference the included models. Like subsystems, model referencing allows you to organize large models hierarchically, with Model blocks representing major subsystems. However, model referencing has significant advantages over subsystems in many applications. The advantages include:
You can reference a model multiple times in another model without having to make redundant copies. Multiple models can also reference the same model.
Simulink and the Real-Time Workshop create binaries to be used in simulations and standalone applications to compute the outputs of the included blocks. Code generation occurs only for models that have changed.
See Referencing Models in the online Simulink documentation for more information. For a demonstration of a way to automate conversion of an existing model's subsystems to model references, execute mdlref_conversion at the MATLAB Command Line. For a summary of limitations on the use of model referencing in this release, see Model Referencing Limitations.
Model Workspaces
In this release, Simulink provides each model with its own workspace for storing data. Models can access data in their own workspaces as well as data in models that reference them and in the base (i.e., MATLAB) workspace. Model workspaces allow you to create data for one model without fear of inadvertently altering another model's data. See Working with Model Workspaces for more information.
Implicit Fixed-Step Solver
This release includes a new fixed-step solver named ode14x. This is an implicit, extrapolating fixed-step solver whose extrapolation order and number of Newton's method iterations can be specified via Simulink configuration parameters. The ode14x solver is faster than Simulink's explicit fixed-step solvers for certain types of stiff systems that require a very small step size to avoid unstable solutions.
The Signal and Scope Manager
The Signal and Scope Manager is a new Simulink feature that enables you to globally manage signal generators and viewers. See The Signal & Scope Manager in the online Simulink help for more information.
Data Object Type Enhancements
This release introduces the following types of objects for specifying the properties of model signals and parameters (i.e., model data):
| Object Class |
Purpose |
|
Specify another name for a data type. |
|
Define a custom data type. |
|
Define a data structure, i.e., a type of signal or parameter comprising data of different types. |
|
Define a signal bus. |
See Working with Data Type Objects and Data Object Classes in the Simulink online documentation for more information.
This release also adds the following properties to Simulink.Signal class:
Simulink checks the consistency of these properties against the values set on the ports/dwork elements associated with each signal object.
Block Enhancements
This release includes the following block-related enhancements.
New Blocks
This release introduces the following blocks.
Fixed-Point-Capable Blocks
This release adds fixed-point data capability to many existing Simulink blocks and includes fixed-point blocks previously available only with the Fixed-Point Blockset. To use the fixed-point data capability of these blocks, you must install the Simulink Fixed-Point product on your system. See Fixed-Point Data in the online Simulink documentation for more information.
Port Values Display
This release of Simulink can display block outputs as data tips on a block diagram while a simulation is running. This allows you to observe block outputs without having to insert Scope or Display blocks. See Displaying Block Outputs in the online Simulink documentation for more information.
User-Specifiable Sample Times
This release expands the number of blocks with user-specifiable sample times to include most builtin Simulink blocks. In previous releases, most builtin blocks inherited their sample times directly or indirectly from the blocks to which they were connected. In this release, most blocks continue to inherit their sample times by default. However, you can override this default setting in most cases to specify a nondefault sample time, using either the block's parameter dialog box or a set_param command. This avoids the need to use Signal Specification blocks to introduce nondefault sample times at specific points in a model.
Improved Initial Output Handling
In previous Simulink releases, the Constant, Initial Condition, Unit Delay, and other blocks write out their initial output values in their mdlStart method. This behavior can cause unexpected block output initialization. For example, if a Constant block in an enabled subsystems feeds an Outport block whose IC is set to [], the Constant value appears even when the enabled subsystem is not enabled.
It is desirable in some cases for a block to write its initial output value in its mdlStart method. For example, discrete integrator block may need to read the value from its external IC port to setting the initial state in mdlInitialize method.
This release addresses these problems by implementing a hand-shaking mechanism for handling block initial output. Under this mechanism, a block only computes its initial output value when it is requested by its downstream block. For example, if a Constant block feeds the external IC port of a Discrete Integrator block, the discrete integrator block's external IC port requests the Constant block to compute its initial output value in its mdlStart method.
Bus-Capable Nonvirtual Blocks
In previous releases, Simulink propagated buses only through virtual blocks, such as subsystems. In this release, Simulink also propagates buses through the following nonvirtual blocks:
Some of these blocks impose constraints on bus propagation through them. See the documentation for the individual blocks for more information.
Duplicate Input Ports
This release allows you to create duplicates of Inport blocks in a model. A model can contain any number of duplicates of an original Inport block. The duplicates are graphical representations of the original intended to simplify block diagrams by eliminating unnecessary lines. The duplicate has the same port number, properties, and output as the original. Changing a duplicate's properties changes the original's properties and vice versa. See the Inport block documentation for more information.
Inport/Outport Block Display Options
Inport and Outport blocks can now optionally display their port number, signal name, or both the number and the name. See the online documentation for the Inport and Outport blocks for more information.
Zero- and One-Based Indexing
In this release, some blocks that use indices provide the option for indices to start at 0 or 1. The default is one-based indexing to maintain compatibility with previous releases. Blocks that now support zero- or one-based indexing include
Runtime Block API
This release introduces an application programming interface (API) that enables programmatic access to block data, such as block inputs and outputs, parameters, states, and work vectors, while a simulation is running. You can use this interface to develop MATLAB programs capable of accessing block data while a simulation is running or to access the data from the MATLAB command line. See Accessing Block Data During Simulation for more information.
Command-Line API to Signal Builder Block
This release provides a command, signalbuilder, for creating and accessing Signal Builder blocks in a model.
Signal Enhancements
This release includes the following signal-related enhancements.
Test Point Indicators
This release can optionally use indicators on a block diagram to indicate signals that are test points. See Test Point Indicators in the online documentation for more information.
Edit-Time Signal Label Propagation
In this release, when you change a signal label, Simulink automatically propagates the change to all downstream instances of the label. You do not have to update the diagram as in previous releases.
Bus Editor
The new Bus Editor enables you to create and modify bus objects in Simulink's base (MATLAB) workspace. See Bus Editor for more information.
Rate Transition Enhancements
This release provides the following enhancements to the handling of rate transitions in models.
Rate Transition Block Determines Transition Type Automatically
The Rate Transition block now determines the type of transition that occurs between the source and destination block (i.e., fast-to-slow or slow-to-fast). Therefore, this release eliminates the transition type option on the block's parameter dialog.
Automatic Insertion of Rate Transition Blocks
This release introduces an option to insert hidden rate transition blocks automatically between blocks that operate at different rates. This saves you from having to insert rate transition blocks manually in order to avoid illegal rate transitions. The inserted blocks are configured to ensure that data is transferred deterministically and that data integrity is maintained during the transfer. See Fixed-Step Solver Options in the online Simulink documentation for more information.
User-Specifiable Output Sample Time
The Rate Transition Block's parameter dialog box contains a new parameter: Output Port Sample Time. This parameter allows you to specify the output rate to which the input rate is converted. If you do not specify a rate, the Rate Transition block inherits its output rate from the block to which its output is connected.
Execution Context Enhancements
This releases introduces the following enhancements to execution context propagation.
Enabling Execution Context Propagation
This release allows you to specify whether to permit execution contexts to be propagated across a conditionally executed subsystem's boundary. See the documentation for the Subsystem block for more information.
Execution Context Indicator
This release optionally displays a bar across each input port and output port of a subsystem that does not permit propagation of the subsystem's execution context. To enable this option, select Block Displays->Execution context indicator from the model editor's Format menu.
Algebraic Loop Minimization
This release can eliminate some types of algebraic loops involving atomic or enabled subsystems or referenced models. See Eliminating Algebraic Loops in the online Simulink documentation for more information.
Level-2 M-File S-Functions
This release introduces a new application programming interface (API) for creating custom Simulink blocks based on M code. In contrast to the previous API, designated Level 1, which supported a restricted set of block features, the new API, designated Level 2, supports most standard Simulink block features, including support for matrix signals and nondouble data types. See Writing Level-2 M-file S-functions in the online documentation for more information.
Panning Model Diagrams
You can now use the mouse to pan around model diagrams that are too large to fit in the model editor's window. To do this, position the mouse over the diagram and hold down the left mouse button and the P or Q key on the keyboard. Moving the mouse now pans the model diagram in the editor window.
| Model API Can Return an Incorrect Initial State Vector | Model Referencing Limitations | ![]() |
© 1994-2005 The MathWorks, Inc.