Skip to Main Content Skip to Search
Product Documentation

Version 7.5 (R2010a) Simulink Software

This table summarizes what's new in V7.5 (R2010a):

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

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

Simulation Performance

Computation of Sparse and Analytical Jacobian for Implicit Simulink Solvers

The implicit Simulink solvers now support numerical and analytical methods for computing the Jacobian matrix in one of the following representations: sparse perturbation, full perturbation, sparse analytical, and full analytical. The sparse methods attempt to improve performance by taking advantage of sparsity information associated with the Jacobian matrix. Similarly, the analytical methods attempt to improve performance by computing the Jacobian using analytical equations rather than the perturbation equations.

Since the applicability of these representations is highly model dependent, an auto option directs Simulink to use a heuristic to choose an appropriate representation for your model. In the case of a model that has a large number of states and for which the Jacobian is computed in sparse analytical form, the performance improvement may be substantial. In general, the performance improvement achieved varies from model to model.

Sparse Perturbation Support for RSim and Rapid Accelerator Mode

For implicit Simulink solvers, the numerical sparse perturbation method for solving the Jacobian supports both RSim and Rapid Accelerator mode.

Increased Accuracy in Detecting Zero-Crossing Events

The zero-crossing bracketing algorithm now uses a smaller tolerance for defining the interval in which an event occurs. The resulting increased accuracy of locating an event means that existing models may exhibit slightly different numerical results.

Saving Code Generated by Accelerating Models to slprj Folder

In Accelerator mode and in Rapid Accelerator mode, a build has historically resulted in the creation of generated code, respectfully, in the modelname_accel_rtw and the modelname_raccel_rtw folders in the current working folder. However, in order to be more consistent with other builds, in R2010a and future releases, these files will be created in the slprj/accel/modelname and the slprj/raccel/modelname folders.

Component-Based Modeling

Defining Mask Icon Variables

For model efficiency, use the Icon & Ports pane to run MATLAB code and to define variables used by the mask icon drawing commands. In releases earlier than R2010a, you had to use the Initialization pane to define variables used for icon drawing.

Simulink executes the MATLAB code in the Icon & Ports pane only when the block icon needs to be drawn. If you include variables used by mask icon drawing commands in the Initialization pane, Simulink evaluates the variables as part of simulation and code generation.

For more information, see Defining a Mask Icon.

Compatibility Considerations.  Starting in R2010a, you can execute any MATLAB function in the Ports & Icons pane of the Mask Editor. If a variable in the mask workspace has the same name as a function in the Ports & Icons pane, Simulink returns an error.

For Each Subsystem Block

The For Each Subsystem block is very useful for modeling scenarios where you need to repeat the same algorithm on individual elements (or submatrices) of an input signal. The set of blocks within the subsystem represent the algorithm that is to be applied to a single element (or submatrix) of the original signal. You can configure the inputs of the subsystem to decompose the corresponding inputs into elements (or submatrices), and configure the outputs to suitably concatenate the processed results. Additionally, each block that has states inside this subsystem maintains separate sets of states for each element or submatrix it processes. Consequently, the operation of this subsystem is akin to copying the contents of the subsystem as many times as the number of elements in the original input signal, and then processing each element through its respective subsystem copy.

An additional benefit of this subsystem is that it may be utilized to improve code reuse in Real-Time Workshop generated code for certain models. Consider a model containing two reusable Atomic Subsystems with the same scalar algorithm applied to each element of the signal. If the input signal dimensions for these subsystems are different, you will find that two distinct functions are produced in the code generated by Real-Time Workshop for this model. Now, if you were to convert the two subsystems to For Each Subsystems such that the contents of each processes a single scalar element, then you will find that the two subsystems produce a single function in the code generated by Real-Time Workshop. This function is parameterized by the number of elements to be processed.

New Function-Call Split Block

A new Function-Call Split block allows you to branch periodic and asynchronous function-call signals and connect them to multiple function-call subsystems (or models). These subsystems (or models) are guaranteed to execute in the order determined by their data dependencies. If a deterministic order cannot be computed, the model produces an error.

To test the validity of your function-call connections, use the Model Advisor diagnostic, Check usage of function-call connections. This diagnostic determines if:

Trigger Port Enhancements

You can use trigger ports, which you define with a Trigger block, in new ways:

Compatibility Considerations.  When you add a trigger port to a root-level model, if you use the File > Save As option to specify a release before R2010a, Simulink replaces the trigger port with an empty subsystem.

Model Reference Support for Custom Code

Select the new SupportModelReferenceSimTargetCustomCode model parameter to have SIM target Accelerator code generation include Stateflow and Embedded MATLAB custom code for a referenced model. The default setting for this parameter is off.

Embedded MATLAB Function Blocks

New Ability to Use Global Data

Embedded MATLAB Function blocks are now able to use global data within a Simulink model and across multiple models.

This feature provides these benefits:

For more information, see Using Global Data with the MATLAB Function Block in the Simulink documentation.

Support for Logical Indexing

Embedded MATLAB Function blocks now support logical indexing when variable sizing is enabled. Embedded MATLAB supports variable-size data by default for MEX and C/C++ code generation.

For more information about logical indexing, see Using Logicals in Array Indexing in the MATLAB documentation.

Support for Variable-Size Matrices in Buses

Embedded MATLAB Function blocks now support Simulink buses containing variable-size matrices as inputs and outputs.

Support for Tunable Structure Parameters

Embedded MATLAB Function blocks now support tunable structure parameters. See Working with Structure Parameters in MATLAB Function Blocks.

Check Box for 'Treat as atomic unit' Now Always Selected

In existing models, simulation and code generation for Embedded MATLAB Function blocks always behave as if the Treat as atomic unit check box in the Subsystem Parameters dialog box is selected. Starting in R2010a, this check box is always selected for consistency with existing behavior.

Simulink Data Management

New Function Finds Variables Used by Models and Blocks

The new Simulink.findVars function returns information about workspace variables and their usage. For example, you can use Simulink.findVars, sometimes in conjunction with other Simulink functions, to:

See Simulink.findVars and the other Simulink functions referenced on that page for more information.

MATLAB Structures as Tunable Structure Parameters

You can create a MATLAB structure that groups base workspace variables into a hierarchy, and dereference the structure fields to provide values in Simulink block parameter expressions. This technique reduces base workspace clutter and allows related workspace variables to be conveniently grouped. However, in previous releases you could not use a MATLAB structure as a masked subsystem or a model reference argument, and no value given by a MATLAB structure field could be tuned. These restrictions limited the usefulness of MATLAB structures for grouping variables used in block parameter expressions.

In R2010a, these restrictions no longer apply to MATLAB structures that contain only numeric data. You can use a numeric structure, or any substructure within it, as a masked subsystem or a model reference argument, thereby passing all values in the structure with a single argument. You can also control MATLAB structure tunability using the same techniques that control MATLAB variable tunability. In R2010a, all values in a given structure must be either tunable or nontunable. See Using Structure Parameters for more information.

Simulink.saveVars Documentation Added

The Simulink.saveVars function was added in R2009b but was incompletely documented. See New Function Exports Workspace Variables and Values for more information.

Custom Floating-Point Types No Longer Supported

Custom floating-point types, float(TotalBits, ExpBits), are no longer supported.

Compatibility Considerations.  If you have code that uses custom floating-point types, modify this code using one of these methods:

Data Store Logging

You can log the values of a local or global data store data variable for all the steps in a simulation. Data store logging is useful for:

To log a local data store that you create with a Data Store Memory block:

To log a data store defined by a Simulink.Signal object, from the MATLAB command line, set DataLogging (which is a property of the LoggingInfo property of Simulink.Signal) to 1.

For details, see Logging Data Stores. To see an example of logging a global data store, run the sldemo_mdlref_dsm demo.

Models with No States Now Return Empty Variables

Simulink creates empty variables for state logging (xout) or final state logging (xfinal), if both of these conditions apply:

Compatibility Considerations.  If you configure your model to return empty variables when it has no states, then a possible result is that Simulink creates more variables than it did in previous releases.

Using model variants, running different models in batch mode, tuning models, or reconfiguring models can produce unexpected results based on the state values. For example, if you simulate a model that produces a state value, and then run a model variant that produces no state, Simulink overwrites the state value with an empty variable. If your model depends on the first state value not being overwritten if no state is returned in a subsequent simulation (which was the case in previous releases), then you get unexpected results.

To File Block Enhancements

The To File block now supports:

Compatibility Considerations.  For data saved using MAT file versions prior to 7.3, the From File block can only load two-dimensional arrays consisting of one-dimensional, double, noncomplex samples. To load data of any other type, complexity, or dimension, use a Timeseries object and save the file using MAT file version 7.3 or later. For example, use 'save file_name -v7.3 timeseries_object':

save file_name -v7.3 timeseries_object

From File Block Enhancements

The From File block now supports:

Root Inport Support for Fixed-Point Data Contained in a Structure

You can now use a root (top-level) Inport block to supply fixed-point data that is contained in a structure.

In releases before R2010a, you had to use a Simulink.Timeseries object instead of a structure.

Simulink Signal Management

Enhanced Support for Proper Use of Bus Signals

To improve model reliability and robustness, avoid mixing Mux blocks and bus signals. To help you use Mux blocks and bus signals properly, R2010a adds these enhancements:

Compatibility Considerations.  In R2010a, if you load a model created in a prior release, you might get warning messages that you did not get before. To avoid getting Mux block-related warnings for existing models that you want to load in R2010a, use the slreplace_mux function to substitute Bus Creator blocks for any Mux blocks used to create buses signals.

Bus Initialization

In releases before R2010a:

In R2010a, you can create a MATLAB structure for an IC. You can:

Using IC structures helps you to:

For information about creating and using initial condition structures, see Specifying Initial Conditions for Bus Signals.

S-Functions for Working with Buses

The following S-functions provide a programmatic interface for working with buses:

S-function

Description

ssGetBusElementComplexSignal

Get the signal complexity for a bus element.

ssGetBusElementDataType

Get the data type identifier for a bus element.

ssGetBusElementDimensions

Get the dimensions of a bus element.

ssGetBusElementName

Get the name of a bus element.

ssGetBusElementNumDimensions

Get the number of dimensions for a bus element.

ssGetBusElementOffset

Get the offset from the start of the bus data type to a bus element.

ssGetNumBusElements

Get the number of elements in a bus signal.

ssGetSFcnParamName

Get the value of a block parameter for an S-function block.

ssIsDataTypeABus

Determine whether a data type identifier represents a bus signal.

ssRegisterTypeFromParameter

Register a data type that a parameter in the Simulink data type table specifies.

ssSetBusInputAsStruct

Specify whether to convert the input bus signal for an S-function from virtual to nonvirtual.

ssSetBusOutputAsStruct

Specify whether the output bus signal from an S-function must be virtual or nonvirtual.

ssSetBusOutputObjectName

Specify the name of the bus object that defines the structure and type of the output bus signal.

Command Line API for Accessing Information About Bus Signals

You can use two new signal property parameters to get information about the type and hierarchy of a signal programmatically:

See Model Parameters and View Information about Buses.

Signal Name Propagation for Bus Selector Block

The new SignalNameFromLabel port parameter supports signal name propagation for Bus Creator block input signals whenever you change the name of an input signal programmatically. You can set this parameter with the set_param command, specifying either a port or line handle and the signal name to propagate.

See Model Parameters.

Block Enhancements

New Square Root Block

You can use the new Sqrt block to perform square-root calculations. This block includes the following functions:

FunctionIcon
sqrt

signedSqrt

rSqrt

Compatibility Considerations.  The sqrt and 1/sqrt functions no longer appear in the Math Function block. For backward compatibility, models with a Math Function block that uses one of these two functions continue to work. However, consider running the slupdate function on your model. slupdate replaces any Math Function block that uses sqrt or 1/sqrt with an equivalent Sqrt block that ensures the same behavior.

New Second-Order Integrator Block

You can use the new Second-Order Integrator block to model second-order systems that have bounds on their states. This block is useful for modeling physical systems, for example, systems that use Newton's Second Law and have constraints on their motion.

Benefits of using this block include:

New Find Nonzero Elements Block

You can use the new Find block to locate all nonzero elements of an input signal. This block outputs the indices of nonzero elements in linear indexing or subscript form and provides these benefits:

When you use the block to...You can...

Convert logical indexing to linear indexing

Use the linear indices you get from processing a logical indexing signal as the input to a Selector or Assignment block

Extract subscripts of nonzero values

Use the subscript of matrices for 2-D or higher-dimensional signal arrays to aid with image processing

Represent sparse signals

Use indices and values as a compact representation of sparse signals

PauseFcn and ContinueFcn Callback Support for Blocks and Block Diagrams

The new PauseFcn and ContinueFcn callbacks detect clicking of the Pause and Continue buttons during simulation. You can set these callbacks using the set_param command or the Callbacks tab of the Model Properties dialog box. Both the PauseFcn and ContinueFcn callbacks support Normal and Accelerator simulation modes.

Gain Block Can Inherit Parameter Data Type from Gain Value

The Gain block now supports the Parameter data type setting of Inherit: Inherit from 'Gain'. This enhancement provides the benefit of inheriting the parameter data type directly from the Gain parameter. For example:

If you set Gain to...The parameter data type inherits...
2double
single(2)single
int8(2)int8

Direct Lookup Table (n-D) Block Enhancements

The Direct Lookup Table (n-D) block now supports:

Multiport Switch Block Allows Explicit Specification of Data Port Indices

The icon for the Multiport Switch block now shows the values of indices on data port labels. This enhancement helps you identify the data inputs without having to open the block dialog box:

Block Parameter SettingsBlock Icon

When you load existing models that contain the Multiport Switch block, the following parameter mapping occurs:

Block Parameter Settings of a Model from R2009b or EarlierBlock Parameter Settings When You Load the Model in R2010a

The following command-line parameter mapping applies:

Old Prompt on Block Dialog BoxNew Prompt on Block Dialog BoxOld Command-Line ParameterNew Command-Line Parameter
Number of inputsNumber of data portsInputsSame
Use zero-based indexingData port orderzeroidxDataPortOrder

The parameter mapping in R2010a ensures that you get the same block behavior as in previous releases.

Compatibility Considerations.  In R2010a, a warning appears at compile time when your model contains a Multiport Switch block with the following configuration:

During edit time, the block icon cannot show the mapping of each data port to an enumerated value. This configuration can also lead to unused ports during simulation and unused code during Real-Time Workshop code generation.

Run the slupdate function on your model to replace each Multiport Switch block of this configuration with a block that explicitly specifies data port indices. Otherwise, your model might not work in a future release.

In R2010a, the following Multiport Switch block configuration also produces a warning at compile time:

The warning alerts you to unused ports during simulation and unused code during Real-Time Workshop code generation.

Trigonometric Function Block Supports CORDIC Algorithm and Fixed-Point Data Types

When you select sin, cos, or sincos for the Trigonometric Function block, additional parameters are available.

New Block ParameterPurposeBenefit
Approximation method

Specify the type of approximation the block uses to compute output: None or CORDIC.

Enables you to use a faster method of computing block output for fixed-point and HDL applications.

Number of iterations

For the CORDIC algorithm, specify how many iterations to use for computing block output.

Enables you to adjust the precision of your block output.

This block now supports fixed-point data types when you select sin, cos, or sincos and set Approximation method to CORDIC.

Enhanced Block Support for Enumerated Data Types

The following Simulink blocks now support enumerated data types:

For more information, see Enumerations and Modeling in the Simulink User's Guide.

Lookup Table Dynamic Block Supports Direct Selection of Built-In Data Types for Outputs

In R2010a, you can select the following data types directly for the Output data type parameter of the Lookup Table Dynamic block:

Previously, you had to enter an expression for Output data type to specify a built-in data type.

Compare To Zero and Wrap To Zero Blocks Now Support Parameter Overflow Diagnostic

If the input data type to a Compare To Zero or Wrap To Zero block cannot represent zero, detection of this parameter overflow occurs. In the Diagnostics > Data Validity pane of the Configuration Parameters dialog box, set Parameters > Detect overflow to warning or error.

Data Type Duplicate Block Enhancement

The Data Type Duplicate block is now a built-in block. Previously, this block was a masked S-Function. The read-only BlockType parameter has changed from S-Function to DataTypeDuplicate.

Compatibility Considerations.  In R2010a, signal propagation might behave differently from previous releases. As a result, your model might not compile under these conditions:

If your model does not compile, set data types for signals that are not fully specified.

Lookup Table and Lookup Table (2-D) Blocks To Be Deprecated in a Future Release

In a future release, the Lookup Table and Lookup Table (2-D) blocks will no longer appear in the Simulink Library Browser. Consider replacing instances of those two blocks by using 1-D and 2-D versions of the Lookup Table (n-D) block. Among other enhancements, the Lookup Table (n-D) block supports the following features that the other two blocks do not:

To upgrade your model:

StepDescriptionReason
1

Run the Simulink Model Advisor check for Check model, local libraries, and referenced models for known upgrade issues.

Identify blocks that do not have compatible settings with the Lookup Table (n-D) block.

2

For each block that does not have compatible settings with the Lookup Table (n-D) block:

  • Decide how to address each warning.

  • Adjust block parameters as needed.

Modify each Lookup Table or Lookup Table (2-D) block to make them compatible.

3

Repeat steps 1 and 2 until you are satisfied with the results of the Model Advisor check.

Ensure that block replacement works for the entire model.

4

Run the slupdate function on your model.

Perform block replacement with the Lookup Table (n-D) block.

Compatibility Considerations.  The Model Advisor check groups all Lookup Table and Lookup Table (2-D) blocks into three categories:

Blocks with Compatible Settings

When a block has compatible parameter settings with the Lookup Table (n-D) block, automatic block replacement can occur without backward incompatibilities.

Lookup Method in the Lookup Table or Lookup Table (2-D) BlockParameter Settings in the Lookup Table (n-D) Block After Block Replacement
InterpolationExtrapolation
Interpolation-ExtrapolationLinearLinear
Interpolation-Use End ValuesLinearNone-Clip
Use Input BelowNone-FlatNot applicable

Depending on breakpoint characteristics, the Lookup Table (n-D) block uses one of two index search methods.

Breakpoint Characteristics in the Lookup Table or Lookup Table (2-D) BlockIndex Search Method in the Lookup Table (n-D) Block After Block Replacement
Not evenly spacedBinary search
Evenly spaced and tunableA prompt appears, asking you to select Binary search or Evenly spaced points.
Evenly spaced and nontunable

The Lookup Table (n-D) block also adopts other parameter settings from the Lookup Table or Lookup Table (2-D) block. For parameters that exist only in the Lookup Table (n-D) block, the following default settings apply after block replacement:

Lookup Table (n-D) Block ParameterDefault Setting After Block Replacement
Breakpoint data typeInherit: Same as corresponding input
Action for out-of-range inputNone

Blocks with Incompatible Settings

When a block has incompatible parameter settings with the Lookup Table (n-D) block, the Model Advisor shows a warning and a recommended action, if applicable.

Incompatibility WarningRecommended ActionWhat Happens for Automatic Block Replacement

The Lookup Method is Use Input Nearest or Use Input Above. The Lookup Table (n-D) block does not support these lookup methods.

Change the lookup method to one of the following:

  • Interpolation - Extrapolation

  • Interpolation - Use End Values

  • Use Input Below

The Lookup Method changes to Interpolation - Use End Values.

In the Lookup Table (n-D) block, this setting corresponds to:

  • Interpolation set to Linear

  • Extrapolation set to None-Clip

You also see a message that explains possible numerical differences.

The Lookup Method is Interpolation - Extrapolation, but the input and output are not the same floating-point type. The Lookup Table (n-D) block supports linear extrapolation only when all inputs and outputs are the same floating-point type.

Change the extrapolation method or the port data types of the block.

The block uses small fixed-point word lengths, so that interpolation uses only one rounding operation. The Lookup Table (n-D) block uses two rounding operations for interpolation.

None

You see a message that explains possible numerical differences.

Blocks with Repeated Breakpoints

When a block has repeated breakpoints, the Model Advisor recommends that you change the breakpoint data and rerun the check. You cannot perform automatic block replacement for blocks with repeated breakpoints.

Elementary Math Block Now Obsolete

The Elementary Math block is now obsolete. You can replace any instance of this obsolete block in your model by using one of these blocks in the Math Operations library:

Compatibility Considerations.  If you open a model that contains an Elementary Math block, a warning message appears. This message suggests running slupdate on your model to replace each instance of the obsolete block with an appropriate substitute.

If you try to start simulation or generate code for a model that contains this obsolete block, an error message appears.

DocBlock Block RTF File Compression

In R2010a, when you add or modify a DocBlock block that uses Microsoft® RTF format and you save the model, Simulink compresses the RTF file. The saved RTF files with images are much smaller than in previous releases.

Compatibility Considerations.  In R2010a, if you use slupdate or save a model that includes a DocBlock block that uses RTF format, you cannot run the model in an earlier version of Simulink.

To run a model that has a compressed RTF file in an earlier version of Simulink, use Save As to save the model in the format of the earlier release.

Simulink Extras PID Controller Blocks Deprecated

In R2010a, the PID Controller (with Approximate Derivative) and PID Controller blocks of the Simulink Extras library no longer appear in the Simulink Library Browser. For models created using R2009b or earlier, consider using the slupdate function to replace these blocks with the new PID Controller block of the Simulink/Continuous or Simulink/Discrete library. Among other enhancements, the new PID Controller block supports:

For more information, see the PID Controller and PID Controller (2 DOF) block reference pages.

Compatibility Considerations.  For backward compatibility, simulation and code generation of models that contain the deprecated PID Controller (with Approximate Derivative) or PID Controller block continue to work.

User Interface Enhancements

Model Explorer Column Views

The Model Explorer now supports column views, which specify sets of property columns to display in the Contents pane. The Model Explorer displays only the properties that are defined for the current column view. The Model Explorer does not add new properties dynamically as you add objects to the Contents pane. Using a defined subset of properties to display streamlines the task of exploring and editing model object properties and increases the density of the data displayed.

Model Explorer provides several standard column views with common property sets. You can:

See The Model Explorer: Controlling Contents Using Views.

Compatibility Considerations.  Column views replace the Customize Contents option provided in previous releases.

In R2010a, the Model Explorer provides a different interface for performing some of the tasks that you previously performed using View menu items. The following table summarizes differences between R2009b and R2010a.

R2009b View Menu ItemR2010a Model Explorer Interface Change
Dialog View Replaced by Show Dialog Pane
Customize ContentsReplaced by Column View > Show Details
Show PropertiesEliminated; select Column View > Show Details to specify properties to display
Mark Nonexistent PropertiesReplaced by Show Nonexistent Properties as'-'
Library BrowserEliminated (you can access the Library Browser from the Simulink Editor View menu)
List View OptionsReplaced by Row Filter

Model Explorer Display of Masked Subsystems and Linked Library Subsystems

The Model Explorer now contains global options for specifying whether the Model Explorer displays the contents of library links and masked subsystems. These options also control whether the Model Hierarchy pane displays linked or masked subsystems. See Displaying Masked Subsystemsand Displaying Linked Library Subsystems.

Compatibility Considerations.  In R2010a, when you select a masked subsystem node in the Model Hierarchy pane, the Contents pane displays the objects of the subsystem, reflecting the global setting to display masked subsystems. In prior releases, if you selected a masked subsystem node, you needed to right-click the node and select Look Under Mask to view the subsystem objects in the Contents pane.

In R2010a, the search results reflect the Show Library Links and Show Masked Subsystems settings. In previous releases, you specified the Look Inside Masked Subsystems and Look Inside Linked Subsystems options as part of the search options. R2010a does not include those search options.

Model Explorer Object Count

The top-right section of the Contents pane displays a count of objects found for the currently selected nodes in the Model Hierarchy pane. The count indicates the number of objects displayed in the Contents pane, compared to the total number of objects in the currently selected nodes. The number of displayed objects is less than the total number of objects in scope when you filter some objects by using View > Row Filter options. See Object Count.

Model Explorer Search Option for Variable Usage

You can use the new for Variable Usage search type to search for blocks that use a variable that is defined in the base or model workspaces. See Search Bar Controls.

Model Explorer Display of Signal Logging and Storage Class Properties

The Model Explorer Contents pane displays the following additional properties for signal lines:

Displaying these properties in the Contents pane enables batch editing. Prior to R2010a, you could edit these properties only in the Signal Properties dialog box.

Model Explorer Column Insertion Options

In R2010a, right-clicking on a column heading in the Contents pane provides two new column insertion options:

See Adding Property Columns.

Diagnostics for Data Store Memory Blocks

The Model Advisor 'By Task' folder now contains a Data Store Memory Blocks subfolder. This subfolder contains checks relating to Data Store Memory blocks that examine your model for:

New Command-Line Option for RSim Targets

A new –h command-line option allows you to print a summary of the available options for RSim executable targets.

Simulink.SimulationOutput.get Method for Obtaining Simulation Results

The Simulink.SimulationOutput class now has a get method. After simulating your model, you can use this method to access simulation results from the Simulink.SimulationOutput object.

Simulink.SimState.ModelSimState Class has New snapshotTime Property

The Simulink.SimState.ModelSimState class has a new snapshotTime property. You can use this property to access the exact time at which Simulink took a "snapshot" of the simulation state (SimState) of your model.

Simulink.ConfigSet.saveAs to Save Configuration Sets

The saveAs method is added to the Simulink.ConfigSet class to allow you to easily save the settings of configuration sets as MATLAB functions or scripts. Using the MATLAB function or script, you can share and archive model configuration sets. You can also compare the settings in different configuration sets by comparing the MATLAB functions or scripts of the configuration sets.

For details, see Save a Configuration Set in the Simulink User's Guide.

S-Functions

Building C MEX-Files from Ada and an Example Ada Wrapper

In an R2008b release note, MathWorks announced that support for Ada S-functions in Simulink would be removed in a future release and a migration strategy would be forthcoming.

In this release, the addition of Technical Note 1821 facilitates your incorporating Ada code into Simulink without using Ada S-function support. This note, "Developing and Building Ada S-Functions for Simulink", is available at Technical Note 1821 and demonstrates:

New S-Function API Checks for Branched Function-Calls

A new S-function API, ssGetCallSystemNumFcnCallDestinations, allows you to determine the number of function-call blocks that your S-function calls. Based on this returned number, you can then deduce whether or not your S-function calls a branched function-call.

You can call this SimStruct function from mdlSetWorkWidths or later in your S-function.

New C MEX S-Function API and M-File S-Function Flag for Compliance with For Each Subsystem

To allow a C MEX S-function to reside inside of a For Each Subsystem block, you must call the new ssSupportsMultipleExecInstances API and set the flag to true in the mdlSetWorkWidths method.

As for M-file S-functions, you must set the new flag block.SupportsMultipleExecInstances to true in the Setup section.

Legacy Code Tool Enhanced to Support Enumerated Data Types and Structured Tunable Parameters

The Legacy Code Tool has been enhanced to support

For more information about data types that the Legacy Code Tool supports, see Supported Data Types. For more information about the Legacy Code Tool, see

Compatibility Considerations.  For enumerated data type support:

You cannot use tunable structured parameters with Legacy Code Tool in a release prior to R2010a.

Documentation Improvements

Modeling Guidelines for High-Integrity Systems

MathWorks intends the Modeling Guidelines for High-Integrity Systems document to be for engineers developing models and generating code for high-integrity systems using Model-Based Design with MathWorks products. This document describes creating Simulink models that are complete, unambiguous, statistically deterministic, robust, and verifiable. The document focus is on model settings, block usage, and block parameters that impact simulation behavior or code generated by the Real-Time Workshop Embedded Coder product.

These guidelines do not assume that you use a particular safety or certification standard. The guidelines reference some safety standards where applicable, including DO-178B, IEC 61508, and MISRA C®.

You can use the Model Advisor to support adhering to these guidelines. Each guideline lists the checks that are applicable to that guideline.

For more information, see Modeling Guidelines for High-Integrity Systems in the Simulink documentation.

MathWorks Automotive Advisory Board Control Algorithm Modeling Guidelines Using MATLAB, Simulink, and Stateflow Included in Help

MathWorks Automotive Advisory Board (MAAB) involves major automotive original equipment manufacturers (OEMs) and suppliers in the process of evolving MathWorks controls, simulation, and code generation products, including the Simulink, Stateflow, and Real-Time Workshop products. An important result of the MAAB has been the "MathWorks Automotive Advisory Board Control Algorithm Modeling Guidelines Using MATLAB, Simulink, and Stateflow." Help for the Simulink product now includes these guidelines. The MAAB guidelines link to relevant Model Advisor MAAB check help and MAAB check help links to relevant MAAB guidelines.

For more information, see MathWorks Automotive Advisory Board Control Algorithm Modeling Guidelines Using MATLAB, Simulink, and Stateflow in the Simulink documentation.

  


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