Skip to Main Content Skip to Search
Product Documentation

Version 6.0 (R14) Simulink Software

This table summarizes what's new in V6.0 (R14):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known Problems
Yes
Details below
Yes—Details labeled as Compatibility Considerations, below. See also Summary.Fixed Bugs

New features and changes introduced in this version are organized by these topics:

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: Overview 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 Manage a Configuration Set 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 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:

See Referencing a Model 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 software 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 Using 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 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 Signal and 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

Simulink.AliasType

Specify another name for a data type.

Simulink.NumericType

Define a custom data type.

Simulink.Bus

Define a signal bus.

See Working with Data Types and Simulink Classes in the Simulink online documentation for more information.

This release also adds the following properties to Simulink.Signal class:

Simulink software 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 software 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 Port Values 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 built in 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 software propagated buses only through virtual blocks, such as subsystems. In this release, Simulink software 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 Displaying Test Point Indicators in the online documentation for more information.

Signal Logging

This release allows you to log signal data during simulation. See Exporting Signal Data Using Signal Logging for more information.

Internal Signal Structures Revamped

This release revamps the sigmap, siglists and sigregions structures to support signal logging and other signal-related enhancements.

Compatibility Considerations.  S-functions created prior to Version 6 (R14). that access the sigmap, siglists and sigregions structures might generate segmentation violations. To avoid this, recompile the S-functions in Version 6 (R14) or subsequent releases.

Edit-Time Signal Label Propagation

In this release, when you change a signal label, Simulink software 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 the Simulink 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 Automatically handle rate transition for data transfer 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 How Simulink Eliminates Artificial 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 MATLAB 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.

MATLAB Data Type Conversions

Release 14 introduces changes in the way MATLAB handles conversions from double to standard MATLAB nondouble data types (e.g., int8, uint8, etc.) and from one nondouble data type to another.

Compatibility Considerations

Previous releases of MATLAB use truncation to convert a floating point value to an integer value, e.g., int8(1.7) = 1. Release 14 uses rounding, e.g., int8(1.7) = 2. See "New Nondouble Mathematics Features" in the Release 14 MATLAB Release Notes for a complete description of the changes in data type conversion algorithms introduced in Release 14.

Such changes could affect the behavior of models that rely on nondouble data type conversions of signals and block parameters. For example, a Gain parameter entered as int8(3.7) ends up as 4 in this release as opposed to 3 in previous releases and this difference could change the simulation results. Therefore, if the simulation results for your model differ in Release 14 from previous releases, you should investigate whether the differences result from the changes in data type conversion algorithms, and, if so, modify your model accordingly.

Signal Object Resolution Changes

In previous releases, Simulink software attempted to resolve every named signal to a Simulink.Signal object of the same name in the MATLAB workspace.

Compatibility Considerations

In this release, Simulink software lets you specify whether a named signal or discrete state should resolve to a signal object, using the Signal Properties dialog box and the State Properties of blocks that have discrete states, such as the Discrete-Time Integrator. By default, Simulink software attempts to resolve every named signal or state to a signal object regardless of whether the model specifies that the signal or state should resolve to a signal object. If the model does not specify resolution for a signal or state and it does resolve, Simulink software displays a warning. You can also specify that Simulink software attempt to resolve all named signals or states without warning of implicit resolutions (the behavior in previous releases) or that it only resolve signals and states that the model specifies should resolve (explicit resolution).

Explicit signal resolution is the recommended approach for doing signal resolution as it ensures that signals that should be resolved are resolved and signals that should not resolve are not resolved. This release includes a script that facilitates converting models that use implicit signal resolution to use explicit resolution. Enter help disableimplicitsignalresolution at the MATLAB command line for more information.

Loading Models Containing Non-ASCII Characters

Release 14 of MATLAB introduces Unicode support. This enhancement allows MATLAB and Simulink products to support character sets from different encoding systems.

Compatibility Considerations

This change causes Simulink software to behave differently from previous releases when loading a model containing non-ASCII characters. Previous releases load such models regardless of whether the non-ASCII characters are compatible with the current encoding system used by MATLAB. In Release 14, Simulink software checks the characters in the model against the current encoding setting of MATLAB. If they are incompatible, Simulink software does not load the model. Instead, it displays an error message that prompts you to change to a compatible MATLAB encoding setting, using the slCharacterEncoding command.

Change in Sample Time Behavior of Unary Minus Block

Release 14 changes the sample time behavior of the Unary Minus block.

Compatibility Considerations

In Release 13, if the sample time of this block's input is continuous, the sample time of the block and its output is fixed in minor time step. This block is fixed in minor step and the output signal is fixed in minor step when the input is a continuos sample time signal. In Release 14, if the input is continuous, the block and output sample time are continuous also.

Initial Output of Conditionally Executed Subsystems

In this release, the initial output is undefined if the Initial output port specifies [].

Compatibility Considerations

In previous releases, if the Initial output parameter of an Outport block in a conditionally executed subsystem specified [] as the initial output, the initial output of this port was the initial output of the block driving the Outport block.

Execution Context Default Changes

In R14, execution context propagation does not cross conditionally executed subsystem boundaries by default.

Compatibility Considerations

In R13 SP1 and DACORE2, execution contexts propagate across conditionally executed subsystem boundaries by default. You need to choose the Propagate execution context across subsystem boundary option in the subsystem's parameter dialog box.

Simulink Accelerator Switch Blocks Can Abort Code Generation

In Release 13, accelerator code generation aborted for the case of a Switch block configured with the Criteria for passing first input set to u2 ~=0, with vector inputs of width greater than the RollThreshold (5). Code generation aborted with the following message:

%exit directive: Real-Time Workshop Fatal in block: "/B_1_28", 
block type "Switch": No parameters to roll.

This release fixes the problem.

  


Related Products & Applications

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS