Version 6.4 (R2006a) Simulink® Software

This table summarizes what's new in V6.4 (R2006a):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known ProblemsRelated Documentation at Web Site
Yes
Details below
Yes—Details labeled as Compatibility Considerations below. See also Summary.Bug Reports
at Web site
No

New features and changes introduced in this version are

Signal Object Initialization

This release introduces the use of signal objects to specify initial values for signals and states. This allows you to initialize signals or states in the model, not just those generated by blocks that have initial condition or value parameters. For details, see Using Signal Objects to Initialize Signals and Discrete States .

Icon Shape Property for Logical Operator Block

The Logical Operator block's parameter dialog box contains a new property, Icon shape, settings for which can be either rectangular or distinctive. If you select rectangular (the default), the block appears as it does in previous releases. If you select distinctive, the block appears as the IEEE® standard graphic symbol for the selected logic operator.

Data Type Property of Parameter Objects Now Settable

This release allows you to set the data type of a Simulink.Parameter object via either its Value property or via its Data type property. In previous releases, you could specify the data type of a parameter object only by setting the object's Value property to a typed value expression.

Range-Checking for Parameter and Signal Object Values

This release introduces range checking for Simulink.Parameter and Simulink.Signal objects. Simulink® software checks whether a parameter's Value or a signal's Initial value falls within the values you specify for the object's Minimum and Maximum properties. If not, Simulink software generates a warning or error.

Compatibility Considerations

Previous releases ignored such violations since the Minimum and Maximum properties were intended for use in documenting parameter and signal objects. In this release, Simulink software displays a warning if you load a parameter object or a signal object does not specify a valid range or its value falls outside the specified range. If you get such a warning, change the parameter or signal object's Value or Minimum or Maximum values so that the Value falls within a valid range.

Expanded Menu Customization

The previous release of Simulink software allows you to customize the Simulink editor's Tools menu. This release goes a step further and allows you to customize any Simulink (or Stateflow®) editor menu (see Customizing the Simulink® User Interface ).

Bringing the MATLAB® Desktop Forward

The Model Editor's View menu includes a new command, MATLAB Desktop, that brings the MATLAB® desktop to the front of the windows displayed on your screen.

Converting Atomic Subsystems to Model References

This release adds a command, Convert to Model Block, to the context (right-click) menu of an atomic subsystem (see Atomic Subsystem). Selecting this command converts an atomic subsystem to a model reference (see Converting a Subsystem to a Referenced Model for more information).

Concatenate Block

The new Concatenate block concatenates its input signals to create a single output signal whose elements occupy contiguous locations in memory. The block typically uses less memory than the Matrix Concatenation block that it replaces, thereby reducing model memory requirements.

Compatibility Considerations

This release replaces obsolete Matrix Concatenation blocks with Concatenate blocks when loading models created in previous releases.

Model Advisor Changes

Model Advisor Tasks Introduced

This release introduces Model Advisor tasks for referencing models and upgrading a model to the current version of Simulink software. See Consulting the Model Advisor for more information.

Model Advisor API

This release introduces an application program interface (API) that enables you to run the Model Advisor from the MATLAB command line or from M-file programs. For example, you can use the API to create M-file programs that determine whether a model passes selected Model Advisor checks whenever you open, simulate, or generate code from the model. See Running the Model Advisor Programmatically for more information.

Built-in Block's Initial Appearance Reflects Parameter Settings

In this release, when you load a model containing nonmasked, built-in blocks whose appearance depends on their parameter settings, such as the Selector block, the appearance of the blocks reflect their parameter settings. You no longer have to update the model to update the appearance of such blocks.

Compatibility Considerations

In previous releases, model or block callback functions that use set_param to set a built-in, nonmasked block's parameters could silently put the block in an unusable state. In this release, such callbacks will trigger error messages if they put blocks in an unusable state.

Double-Click Model Block to Open Referenced Model

In this release, double-clicking a Model block that specifies a valid referenced model opens the referenced model, rather than the Block Parameters dialog box as in previous releases. To open the Block Parameters dialog box, choose Model Reference Parameters from the Context or Edit menu. See Navigating a Model Block for details.

Signal Logs Reflect Bus Hierarchy

In this release, signal logs containing buses reflect the structure of the buses themselves instead of flattening bus data as in previous releases (see Simulink.TsArray).

Tiled Printing

This release introduces a tiled printing option that allows you to distribute a block diagram over multiple pages. You can control the number of pages over which Simulink software distributes the block diagram, and hence, the total size of the printed image. See Tiled Printing for more information.

Solver Diagnostic Controls

In this release, the Configuration Parameters dialog box includes the following enhancements:

Diagnostic Added for Multitasking Conditionally Executed Subsystems

This release adds a sample-time diagnostic that detects an enabled subsystem in multitasking solver mode that operates at multiple rates or a conditionally executed subsystem that contain an asynchronous subsystem. Such subsystems can cause corrupted data or non-deterministic behavior in a real-time system using code generated from the model. See the documentation for the Multitask Conditionally Executed Subsystem diagnostic for more information.

Embedded MATLAB™ Function Block Features and Changes

Option to Disable Saturation on Integer Overflow

The properties dialog for Embedded MATLAB™ Function blocks provides a new Saturate on Integer Overflow check box that lets you disable saturation on integer overflow to generate more efficient code. When you enable saturation on integer overflow, Embedded MATLAB Function blocks add additional checks in the generated code to detect integer overflow or underflow. Therefore, it is more efficient to disable this option if your algorithm does not rely on overflow behavior. For more information, see Setting Embedded MATLAB™ Function Block Properties .

Nontunable Option Allows Use of Parameters in Constant Expressions

The Data properties dialog for the Embedded MATLAB Function block provides a new Tunable check box that lets you specify the tunability (see Tunable Parameters ) of a workspace variable or mask parameter used as data in Embedded MATLAB code. The option is checked by default. Unchecking the option allows you to use a workspace variable or mask parameter as data wherever Embedded MATLAB requires a constant expression, such as a dimension argument to the zeros function. For more information, see Adding Data to an Embedded MATLAB™ Function Block .

Enhanced Support for Fixed-Point Arithmetic

Embedded MATLAB Function blocks support the new fixed-point features introduced in Version 1.4 (R2006a) of the Fixed-Point Toolbox™ software, including [Slope Bias] scaling (see Specifying Simulink® Fixed Point™ Data Properties ). For information about the features added to the Fixed-Point Toolbox software, see Fixed-Point Toolbox™ Release Notes.

Support for Integer Division

Embedded MATLAB Function blocks support the new MATLAB function idivide, which performs integer division with a variety of rounding options. It is recommended that the rounding option used for integer division in Embedded MATLAB Function blocks match the rounding option in the parent Simulink model.

The default rounding option for idivide is 'fix', which rounds toward zero. This option corresponds to the choice Zero in the submenu for Signed integer division rounds to:, a parameter that you can set in the Hardware Implementation Pane of the Configuration Parameters dialog in Simulink software (see Hardware Implementation Pane in the online Simulink documentation). If this parameter is set to Floor in the Simulink model that contains the Embedded MATLAB Function block, it is recommended that you pass the rounding option 'floor' to idivide in the block.

For a complete list of Embedded MATLAB runtime library functions provided in this release, see New Embedded MATLAB™ Runtime Library Functions.

New Embedded MATLAB™ Runtime Library Functions

Embedded MATLAB Function blocks provide new runtime library functions in the following categories:

Integer Arithmetic.  

Linear Algebra.  

Logical.  

Polynomial.  

Trigonometric.  

Setting FIMATH Cast Before Sum to False No Longer Supported in Embedded MATLAB™ MATLAB Function Blocks

You can no longer set the FIMATH property CastBeforeSum to false for fixed-point data in Embedded MATLAB Function blocks.

Compatibility Considerations.   The reason for the restriction is that Embedded MATLAB Function blocks do not produce the same numerical results as MATLAB when CastBeforeSum is false. In the previous release, Embedded MATLAB Function blocks set CastBeforeSum to false by default for the default FIMATH object. If you have existing models that contain Embedded MATLAB Function blocks in which CastBeforeSum is false, you will get an error when you compile or update your model. To correct the issue, you must set CastBeforeSum to true. To automate this process, you can run the utility slupdate either from the Model Advisor or by typing the following command at the MATLAB command line:

slupdate ('modelname')

where 'modelname' is the name of the model containing the Embedded MATLAB Function block that generates the error. slupdate prompts you to update this property by selecting one of these options:

OptionAction
YesUpdates the first occurrence of CastBeforeSum=false in Embedded MATLAB Function blocks in the offending model and then prompts you for each subsequent one found in the model.
NoDoes not update any occurrences of CastBeforeSum=false in the offending model.
AllUpdates all occurrences of CastBeforeSum=false in the offending model.

Type Mismatch of Scalar Output Data in Embedded MATLAB™ Function Blocks Generates Error

Embedded MATLAB Function blocks now generate an error if the output type inferred by the block does not match the type you explicitly set for a scalar output.

Compatibility Considerations.   In previous releases, a silent cast was inserted from the computed type to the set type when mismatches occurred. In most cases, you should not need to set the output type for Embedded MATLAB Function blocks. When you do, insert an explicit cast in your Embedded MATLAB script. For example, suppose you declare a scalar output y to be of type int8, but its actual type is double. Replace y with a temporary variable t in your script and then add the following code:

y = int8(t);

Implicit Parameter Type Conversions No Longer Supported in Embedded MATLAB™ Function Blocks

Embedded MATLAB Function blocks now generate an error if the type of a parameter inferred by the block does not match the type you explicitly set for the parameter.

Compatibility Considerations.   In the previous release, if the type you set for a parameter did not match the actual parameter value, Embedded MATLAB Function blocks implicitly cast the parameter to the specified type. Now you receive a compile-time error when type mismatches occur for parameters defined in Embedded MATLAB Function blocks.

There are two workarounds:

Fixed-Point Parameters Not Supported

Embedded MATLAB Function blocks generate a compile-time error if you try to bring a fi object defined in the base workspace into Embedded MATLAB Function blocks as a parameter.

There are two workarounds:

Embedded MATLAB™ Function Blocks Require C Compiler for Windows® 64

No C compiler ships with MATLAB and Simulink products on Windows® 64. Because Embedded MATLAB Function blocks perform simulation through code generation, you must supply your own MEX-supported C compiler to use these blocks. The C compilers available at the time of this writing for Windows 64 include Microsoft® Visual Studio® 2005 and the Microsoft Platform SDK.

  


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