Version 6.6 (R2007a) Simulink Software

This table summarizes what's new in Version 6.6 (R2007a):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known ProblemsRelated Documentation at Web Site
Yes
Details below
Yes
Summary
Bug Reports
Includes fixes
No

New features and changes introduced in this version are

Multidimensional Signals

This release includes support for multidimensional signals, including:

For further details, see:

Simulink software supports signals with up to 32 dimensions. Do not use signals with more than 32 dimensions.

Multidimensional Signals in Simulink Blocks

The following blocks were updated to support multidimensional signals. See Signal Dimensions in the Simulinkdocumentation for further details.

The Block Support Table does not list which blocks support multidimensional signals. To see if a block supports multidimensional signals, check for the entry Multidimensionalized in the Characteristics table of a block.

Multidimensional Signals in S-Functions

To use multidimensional signals in S-functions, you must use the new SimStruct function, ssAllowSignalsWithMoreThan2D.

Multidimensional Signals in Level-2 M-File S-Functions

To use multidimensional signals in Level-2 M-file S-functions, you must set the new Simulink.MSFcnRunTimeBlock property, AllowSignalsWithMoreThan2D.

New Block Parameters

This release introduces the following common block parameters.

GNU Compiler Upgrade

This release upgrades the GNU® compiler to GCC 4.0.3 on Mac® platforms and GCC 4.1.1 on Linux platforms. The Fortran runtime libraries for the previous GCC 3.x versions are no longer included with MATLAB.

Compatibility Considerations

C, C++, or Fortran MEX-files built with the previous 3.x version of the GCC compiler are not guaranteed to load in this release. Rebuild the source code for these S-functions using the new version of the GCC compiler.

Changes to Concatenate Block

This release includes the following changes to the Concatenate block:

This release updates Concatenate blocks when loading models created in previous releases.

Changes to Assignment Block

This release includes the following changes to the Assignment block:

The following parameters are obsolete:

This release updates Assignment blocks when loading models created in previous releases.

Changes to Selector Block

This release includes the following changes to the Selector block:

The following parameters are obsolete:

This release updates Selector blocks when loading models created in previous releases.

Improved Model Advisor Navigation and Display

This release improves the Model Advisor graphical user interface (GUI) for navigating lists of checks and viewing the status of completed checks. While Model Advisor functionality and content are largely unchanged from R2006b, the Model Advisor checks display and are navigated differently than in previous versions, and the generated Model Advisor report, if requested, displays in a MATLAB web browser window that is separate from the Model Advisor GUI.

To exercise the new features, open Model Advisor for a model (for example, enter modeladvisor('vdp') at the MATLAB command line) and then follow the instructions in the Model Advisor window. For more information about Model Advisor navigation and display, see Consulting the Model Advisor in the Simulink documentation.

Change to Simulink.ModelAdvisor.getModelAdvisor Method

In this release, when using the getModelAdvisor method defined by the Simulink.ModelAdvisor class to change Model Advisor working scope to a different model, you must either close the previous model or invoke the getModelAdvisor method with 'new' as the second argument. For example, if you previously set scope to modelX with

Obj = Simulink.ModelAdvisor.getModelAdvisor('modelX');

and you want to change scope to modelY, you must either close modelX or use

Obj = Simulink.ModelAdvisor.getModelAdvisor('modelY', 'new');

If you try to change scope between models without the 'new' argument, an error message is displayed.

Compatibility Considerations

In previous releases, you could change Model Advisor working scope without closing the current session. This is no longer allowed.

If your code contains a code pattern such as the following,

Obj = Simulink.ModelAdvisor.getModelAdvisor('modelX');
...
Obj = Simulink.ModelAdvisor.getModelAdvisor('modelY');

you must add the 'new' argument to the second and subsequent invocations of getModeladvisor. For example:

Obj = Simulink.ModelAdvisor.getModelAdvisor('modelX');
...
Obj = Simulink.ModelAdvisor.getModelAdvisor('modelY', 'new');

Alternatively, you can close ModelX before issuing Simulink.ModelAdvisor.getModelAdvisor('modelY').

New Simulink Blocks

This release introduces the following blocks:

Change to Level-2 M-File S-Function Block

If a model includes a Level-2 M-File S-Function block, and an error occurs in the S-function, the Level-2 M-File S-Function block will display M-file stack trace information for the error in a dialog box. Click OK to remove the dialog box. In previous releases, this block did not display the stack trace information.

Model Dependency Analysis

The model dependencies manifest tools identify files required by your model. You can list required files in a 'manifest' file, package the model with required files into a ZIP file, or compare two file manifests.

See Model Dependencies for more information.

Model File Monitoring

Legacy Code Tool Enhancements

For more information, see

Compatibility Considerations

If you are using a version of the Legacy Code Tool that was accessible from MATLAB Central before R2006b, the syntax for using the tool differs from the syntax currently supported by Simulink software. To continue using the old style syntax, for example, legacy_code_initialize.m, issue the following call to legacy_code for a given MATLAB session:

legacy_code('backward_compatibility');

Continuous State Names

State names can now be assigned in those blocks that employ continuous states. The names are assigned with the ContinuousStateAttributes Block-Specific Parameters parameter, or in the Blocks Parameter dialog box.

The following blocks support continuous state names:

Logging of continuous states is illustrated in the sldemo_hydrod demo.

Changes to Embedded MATLAB Function Block

This release introduces the following changes to the Embedded MATLAB Function block:

New Function Checks M-Code for Compliance with Embedded MATLAB Subset

Embedded MATLAB function blocks introduce a new function, Embedded MATLAB MEX (emlmex), that checks M-code for compliance with the syntax and semantics of the Embedded MATLAB subset. You can add Embedded MATLAB-compliant code to Embedded MATLAB Function blocks and Truth Table blocks in Simulink models. For more information, see Working with Embedded MATLAB MEX in the Embedded MATLAB documentation.

Support for Multidimensional Arrays

Embedded MATLAB Function blocks now supports multidimensional signals and parameter data, where the number of dimensions can be greater than 2. This feature is fully integrated with support for multidimensional signals in Simulink software. Supported functions in the Embedded MATLAB Function Library Reference have been enhanced to handle multidimensional data.

Support for Function Handles

Embedded MATLAB Function blocks now support function handles for invoking functions indirectly and parameterizing operations that you repeat frequently in your code. For more information, see the section on using function handles in Working with the Embedded MATLAB Subset in the Embedded MATLAB documentation.

Enhanced Support for Frames

Embedded MATLAB Function blocks can now input and output frame-based signals directly in Simulink models. You no longer need to attach Frame Conversion blocks to inputs and outputs to achieve this functionality. See Working with Frame-Based Signals in the Simulink documentation.

New Embedded MATLAB Runtime Library Functions

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

See Embedded MATLAB Function Library Reference for a list of all supported functions.

Casting Functions.  

Derivative and Integral Functions.  

Discrete Math Functions.  

Exponential Functions.  

Filtering and Convolution Functions.  

Logical Operator Functions.  

Matrix and Array Functions.  

Polynomial Functions.  

Set Functions.  

Specialized Math.  

Statistical Functions.  

Using & and | Operators in Embedded MATLAB Function Blocks

Embedded MATLAB Function blocks no longer support & and | operators in if and while conditional statements.

Compatibility Considerations.   In prior releases, these operators compiled without error, but their short-circuiting behavior was not implemented correctly. Substitute && and || operators instead.

Calling get Function from Embedded MATLAB Function Blocks

Embedded MATLAB Function blocks now support the Fixed-Point Toolbox™ get function for returning the properties of fi objects.

Compatibility Considerations.   To get properties of non-fixed-point objects in Embedded MATLAB Function blocks, you must first declare get to be an extrinsic function; otherwise, your code will error. For more information refer to Calling MATLAB Functions in the Embedded MATLAB documentation.

Documentation on Embedded MATLAB Subset has Moved

Documentation on the Embedded MATLAB subset and its syntax, semantics, and supported functions has moved out of the Simulink Reference. See Embedded MATLAB User's Guide for the newEmbedded MATLAB documentation.

Referenced Models Support Non-Zero Start Time

The simulation start time of all models in a model reference hierarchy was previously required to be 0. Now the simulation start time can be nonzero. The start time of all models in a model reference hierarchy must be the same. See Referencing a Model and Specifying a Simulation Start and Stop Time for information about these capabilities. See Referencing Configuration Sets for information about a convenient way to give all models in a hierarchy the same configuration parameters, including simulation start time.

New Functions Copy a Model to a Subsystem or Subsystem to Model

Two new functions exist that you can use to copy contents between a block diagram and a subsystem.

Simulink.BlockDiagram.copyContentsToSubSystem

Copies the contents of a block diagram to an empty subsystem.

Simulink.SubSystem.copyContentsToBlockDiagram

Copies the contents of a subsystem to an empty block diagram.

For details, see the reference documentation for each function.

New Functions Empty a Model or Subsystem

Two new functions exist that you can use to delete the contents of a block diagram or subsystem.

Simulink.BlockDiagram.deleteContents

Deletes the contents of a block diagram.

Simulink.SubSystem.deleteContents

Deletes the contents of a subsystem.

For details, see the reference documentation for each function.

Default for Signal Resolution Parameter Has Changed

In the Configuration Parameters dialog, Diagnostics > Data Validity pane, the default setting for Signal resolution is now Explicit only. Previously, the default was Explicit and warn implicit. Equivalently, the default value of the SignalResolutionControl parameter is now UseLocalSettings (previously TryResolveAllWithWarnings). See Diagnostics Pane: Data Validity for more information.

Compatibility Considerations

Due to this change, labeling a signal is no longer enough to cause it to resolve by default to a signal object. You must also do one of the following:

Models built in R2007a will default to Explicit only. Models created in previous versions will retain the Signal resolution value with which they were saved, and will run as they did before. New models may therefore behave differently from existing models that retain the previous default behavior. To specify the previous default behavior in a new model, change Signal resolution to Explicit and warn implicit.

Conversion Function.   The MathWorks discourages using implicit signal resolution except for fast prototyping, because implicit resolution slows performance, complicates model validation, and can have nondeterministic effects. Simulink software provides the disableimplicitsignalresolution function, which you can use to change settings throughout a model so that it does not use implicit signal resolution. See the function's reference documentation, or type:

help disableimplicitsignalresolution

in the MATLAB Command Window.

Referencing Configuration Sets

This release provides configuration references (Simulink.ConfigSetRef class), which you can use to link multiple models to a configuration set stored on the base workspace. All of those models then share the same configuration set, and therefore have the same configuration parameter values. Changing a parameter value in a shared configuration set changes that value for every model that uses the set. With configuration references, you can:

See Configuration Sets and Referencing Configuration Sets for more information.

Compatibility Considerations

You cannot change configuration parameter values by operating directly on a configuration reference as you can a configuration set. Instead, you must use the configuration reference to retrieve the configuration set and operate on the set. If you reconfigure a model to access configuration parameters using a configuration reference, you must update any scripts that change parameter values to incorporate the extra step of obtaining the configuration set from the reference before changing the values. See Creating a Freestanding Configuration Set for details.

New Block, Model Advisor Check, and Utility Function for Bus to Vector Conversion

When the diagnostic Configuration Parameters > Connectivity > Buses > Bus signal treated as vector is disabled or none, you can input a homogeneous virtual bus to many blocks that accept vectors but are not formally defined as accepting buses. Simulink software transparently converts the bus to a vector, allowing the block to accept the bus.

However, The MathWorks discourages intermixing buses and vectors, because such mixtures cause ambiguities that preclude strong type checking. The practice may become unsupported at some future time, and should not be used in new applications.

Simulink software provides diagnostics that report cases where buses are mixed with vectors, and includes capabilities that you can use to upgrade a model to eliminate such mixtures, as described in the following sections of the Simulink documentation:

Enhanced Support for Tunable Parameters in Expressions

Expressions that index into tunable parameters, such as P(1)+P(2)/P(i), retain their tunability in generated code, including simulation code that is generated for a referenced model. Both the indexed parameter and the index itself can be tuned.

Parameter expressions of the form P(i) retain their tunability if all of the following are true:

New Loss of Tunability Diagnostic

Previously, any loss of tunability generated a warning. In R2007a, you can use the Loss of Tunability diagnostic to control whether loss of tunability is ignored or generates a warning or error. See Detect loss of tunability for details.

Port Parameter Evaluation Has Changed

Previously, resolution of port parameters of a masked subsystem began within the subsystem, which could violate the integrity of the mask. For example, if a subsystem mask defines parameter A, and a port of the subsystem uses A to set some port attribute, resolving A by starting within the masked block makes A externally visible, though it should be visible only within the mask.

To fix this problem, in R2007a masked subsystem port parameter resolution starts in the containing system rather than within the masked subsystem, then proceeds hierarchically upward as it did before. This change preserves the integrity of the masked subsystem, but can change model behavior if any subsystem port previously depended for resolution on a variable defined within the mask.

Compatibility Considerations

A model whose ports did not reference variables defined within a mask are unaffected. A model that resolved any port parameter by accessing a variable within a masked block may behave differently or become vulnerable to future changes in behavior, as follows:

To ensure correct results, change the model as needed so that any port parameter that previously depended on any variables defined within a mask give the intended results using the new resolution search path.

Data Type Objects Can Be Passed Via Mask Parameters

Previously, if a masked subsystem contained a block that needed to specify a data type using a data type object, the block could access the object only in the base workspace. The data type object could not be passed into the subsystem through a mask parameter. Parameterizing data types used by blocks under a mask was therefore not possible.

To support parameterized data types inside masked subsystems, you can now use a mask parameter to pass a data type object into a subsystem Blocks in the subsystem can then use the object to specify data types under the mask.

Expanded Options for Displaying Subsystem Port Labels

This release provides an expanded set of options for displaying port labels on a subsystem block. The options include displaying:

See the documentation for the Show Port Labels option on the Subsystem block's parameter dialog box for more information.

Model Explorer Customization Option Displays Properties of Selected Object

This release introduces a Selection Properties node to the Model Explorer's Customize Contents pane. The node allows you to customize the Model Explorer's Contents pane to display only the properties of the currently selected object. See Customize Contents Pane for more information.

Change to PaperPositionMode Parameter

In this release, when exporting a diagram as a graphic with the PaperPositionMode model parameter set to auto, Simulink software sizes the exported graphic to be the same size as the diagram's image on the screen when viewed at normal size. When PaperPositionMode is set to manual, Simulink software sizes the exported image to have the height and width specified by the model's PaperPosition parameter.

Compatibility Considerations

In previous releases, a model's PaperPosition parameter determined the size of the exported graphic regardless of the setting of the model's PaperPositionMode parameter. To reproduce the behavior of previous releases, set the PaperPositionMode parameter to manual.

New Simulink.Bus.objectToCell Function

A new function, Simulink.Bus.objectToCell, is available for converting bus objects to a cell array that contains bus information. For details, see the description of Simulink.Bus.objectToCell.

Simulink.Bus.save Function Enhanced To Allow Suppression of Bus Object Creation

The Simulink.Bus.save function has been enhanced such that when using the 'cell' format you have the option of suppressing the creation of bus objects when the saved M-file executes. To suppress bus object creation, specify the optional argument 'false' when you execute the saved M-file.

For more detail, see the description of Simulink.Bus.save.

Change in Version 6.5 (R2006b) Introduced Incompatibility

A change introduced in Version 6.5 (R2006b) introduces an incompatibility between this release and releases preceding Version 6.5 (R2006b). See Attempting to Reference a Symbol in an Uninitialized Mask Workspace Generates an Error for more information.

Nonverbose Output During Code Generation

Simulink Acceleratornow defaults to nonverbose output when generating code. A new parameter, AccelVerboseBuild, has been added to control how much information is displayed. See Customizing the Build Process for more information.

  


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