Version 5.0 (R13) Real-Time Workshop® Software

This table summarizes what's new in V5.0 (R13):

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.Fixed bugsNo

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

Compiler Support Enhancements

Expanded Support for Borland® C Compilers

The Real-Time Workshop® product supports Version 5.6 of the Borland® C compiler.

In addition, V5.0 (R13) reinstates support for Borland Version 5.2 "out-of-the-box" for all targets, except when Real-Time Workshop generates importing S-functions. In such instances, designate the build directory where the S-function may be found via the make_rtw parameter USER_INCLUDES. For example, suppose you had generated S-function target code for model modelA.mdl in build directory D:\modelA_sfcn_rtw and were using that S-function in model modelB.mdl. In modelB.mdl, the Make command field of your Target configuration category should define USER_INCLUDES as follows:

make_rtw "USER_INCLUDES=-ID:\modelA_sfcn_rtw"

Lcc Now Links Libraries in Directory sys/lcc/lib

Template makefiles have been updated to include linking against sys/lcc/lib.

Model Configuration Features and Enhancements

Diagnostics Pane Items Classified into Logical Groups

To make selecting diagnostics easier, the Diagnostics entries on the Simulation Parameters dialog box have been reorganized according to functionality, and alphabetically within each group, as shown in the next figure.

Comments Not Generated for Reduced Blocks When "Show eliminated statements" Is Off

The Show eliminated statements option (in the Real-Time Workshop General code generation options category) is now off by default. As long as it remains off, the Real-Time Workshop software no longer generates comments referring to blocks that have been removed from the model via block reduction optimization.

Compatibility Considerations.   If you want the Real-Time Workshop software to generate comments for blocks that are removed due for block reduction optimization, select the Show eliminated statements option.

New General Code Appearance Options

A new section has been added to the Real-Time Workshop pane of the Simulation Parameters dialog box, named General code appearance options. The new section groups four new code formatting options to two existing options. The General code appearance appear as shown in the next figure.

The four new options are

Option Description
Maximum identifier lengthAllows you to limit the number of characters in function, type definition, and variable names. The default is 31 characters, but the Real-Time Workshop software imposes no upper limit.
Include data type acronym in identifierPrepends acronyms such as i32 (for long integers) to signal and work vector identifiers to make code more readable. The default is not to include data type acronyms in identifiers.
Include system hierarchy number in identifiersAdds prefixes s#_, where # is a unique integer subsystem index, to identifiers declared in that subsystem. This enhances traceability of code, for example via the hilite_system<`S#'> command. The default is not to include a system hierarchy index in identifiers.
Prefix model name to global identifiers Prefixes subsystem function names with the name of the model (model_). The model name is also prefixed to the names of functions and data structures at the model level, when appropriate to the code format. This is useful when you need to compile and link code from two or more models into a single executable, as it avoids potential name clashes. This option is on by default.
Generate scalar inline parameters as:

Controls the code style for inlined parameters. You can set this option to literals or macros. When constant parameters are inlined and declared not tunable, the following code generation options are available:

  • Vector parameters were formerly stored as constant parameters in rtP vectors. Now they are declared as constant vectors of appropriate type, independent of rtP.

  • Scalar parameters were formerly inlined as literals. In addition to this approach, users now have the option to have scalar parameters expressed as #define macro definitions.

The default is to generate scalar inline parameters as literals.

Note: S-functions can mark a run-time parameter as being constant to guarantee that it never ends up in the rtP data structure. Use ssSetConstRunTimeParamInfo in the S-function to register a constant runtime parameter.

Generate commentsAn existing global option moved from the General code generation options (cont) category to this one. As in the prior release, by default Generate comments is on.

Identifier Construction for Generated Code Has Been Simplified

The methods the Real-Time Workshop software uses to construct identifiers for variables and functions have been enhanced to make identifiers more understandable and more customizable. As a result of these enhancements

GUI Control over Behavior of Assertion Blocks in Generated Code

The Advanced pane of the Simulation Parameters dialog box provides a new Model Verification block control popup menu you can use to specify whether model verification blocks such as Assert, Check Static Gap, and related range check blocks will be enabled, not enabled, or default to their local settings. This popup menu has the same effect on Real-Time Workshop generated code as it does on simulation behavior, and also may be customized.

For Assertion blocks that are not disabled, the generated code for a model includes one of the following statements at appropriate locations, depending on the block's input signal type (Boolean, real, or integer, respectively).

utAssert(input_signal);
utAssert(input_signal != 0.0);
utAssert(input_signal != 0);

By default utAssert is a non-option in generated code. For assertions to abort execution you must enable them by including a parameter in the make_rtw command. Specify the Make command field on the Target configuration category pane as follows:

make_rtw OPTS='-DDOASSERTS'

If you want triggered assertions to not abort execution and instead to print out the assertion statement, use the following make_rtw variant:

make_rtw OPTS='-DDOASSERTS -DPRINT_ASSERTS'

Finally, when running a model in accelerator mode, Simulink® calls back to itself to execute assertion blocks instead of using generated code. Thus a user-defined callback is still called when assertions fail.

GUI Control Over TLC %assert Directive Evaluation

Prior versions required you to specify the -da Target Language Compiler command switch for TLC %assert directives to be evaluated. Now you can more conveniently trigger %assert code by selecting the Enable TLC Assertions check box on the TLC debugging section of the Real-Time Workshop dialog. The default state is for asserts not to be evaluated. You can also control assertion handling from the MATLAB® command window. To set or unset assertion handling, use the following command. The option is off by default.

set_param(model, 'TLCAssertion', 'on|off')

To see the current setting, use the command

get_param(model, 'TLCAssertion')

Code Generation Infrastructure Enhancements

Code for Nonvirtual Subsystems Is Now Reusable

The Real-Time Workshop software V5.0 (R13) introduces the ability to reuse code generated for nonvirtual subsystems. In prior releases, the Real-Time Workshop software generated a separate block of code for each nonvirtual subsystem. In some circumstances — for example, when you use a library block multiple times in the same fashion — it is now possible to generate a single shared function for the block and call that function multiple times. Consolidating code in this fashion can significantly improve the size and efficiency of generated code.

To implement code reuse, the Real-Time Workshop build process must pass in appropriate data elements (as function arguments) for each caller of a reused subsystem. Code generated by the Real-Time Workshop software V5.0 (R13) enables such arguments for functions generated for nonvirtual subsystems.

You enable code reuse through the Subsystem parameters dialog when both Treat as atomic unit and Reusable function from the RTW system code pull-down menu are selected, as illustrated in the next figure.

Reusable code will also be generated, when feasible, when you set RTW system code to Auto. Then, if only one instance of the subsystem exists, it will be inlined; otherwise a reusable function will be generated if other characteristics of the model allow this.

Certain conditions may make it impossible to reuse code, causing the Real-Time Workshop build process to revert to another RTW system code option even though you specify Reusable function or Auto. When you specify Reusable function and reuse is not possible, the result is a function without arguments. When you specify Auto and reuse is not possible, the Real-Time Workshop build process inlines the subsystem's code (or in special cases, creates a function without arguments). Diagnostics are available in the HTML code generation report (if enabled, see Generate HTML Report Option Available for Additional Targets) to help identify the reasons why reuse is not occurring in particular instances. In addition to providing these exception diagnostics, the HTML report's Subsystems section also maps each noninlined subsystem in the model to functions or reused functions in the generated code.

Requirements for Generating Reusable Code from Stateflow® Charts.   To generate reusable code from a Stateflow® chart, or from a subsystem containing a Stateflow chart, all of the following conditions must be met:

See Nonvirtual Subsystem Code Generation in the Real Time Workshop documentation for more details.

Compatibility Considerations.   The Real-Time Workshop software V5.0 (R13) alters aspects of generated code to support code reuse for nonvirtual subsystems. As explained above, you have the ability to select or override this feature, as well as to specify function and file names from the graphical user interface.

Packaging of Generated Code Files Simplified

The packaging of generated code into.c and.h files has been simplified. The following table summarizes the structure of source code generated by the Real-Time Workshop software. All code modules described are written to the build directory.

File

Description

model.c

Contains entry points for all code implementing the model algorithm (MdlStart, MdlOutputs, MdlUpdate, MdlInitializeSizes, MdlInitializeSampleTimes). Also contains model registration code.

model_private.h

Contains local defines and local data that are required by the model and subsystems. This file is included by subsystem.c files in the model. You do not need to include model_private.h when interfacing handwritten code to a model.

model.h

Defines model data structures and a public interface to the model entry points and data structures. Also provides an interface to the real-time model data structure (model_rtM) via access macros. model.h is included by subsystem.c files in the model.

If you are interfacing your handwritten code to generated code for one or more models, you should include model.h for each model to which you want to interface.

model_data.c (conditional)

model_data.c is conditionally generated. It contains the declarations for the parameters data structure and the constant block I/O data structure. If these data structures are not used in the model, model_data.c is not generated. Note that these structures are declared extern in model.h.

model_types.h

Provides forward declarations for the real-time model data structure and the parameters data structure. These may be needed by function declarations of reusable functions. model_types.h is included by all subsystem.h files in the model.

rtmodel.h

Contains #include directives required by static main program modules such as grt_main.c and grt_malloc_main.c. Since these modules are not created at code generation time, they include rt_model.h to access model-specific data structures and entry points. If you create your own main program module, take care to include rtmodel.h.

model_pt.c (optional)

Provides data structures that enable a running program to access model parameters without use of external mode.

model_bio.c (optional)

Provides data structures that enable your code to access block outputs.

Compatibility Considerations.   If you have interfaced handwritten code to code generated by previous releases of the Real-Time Workshop software, you might need to remove dependencies on header files that are no longer generated. Use #includemodel.h directives, and remove #include directives that refer to any of the following:

Old FilenameNew Filenames
model_common.hmodel_types.h and model_private.h
model_export.hmodel.h
model_prm.hmodel_data.c
model_reg.hmodel.c

Different Required Files for S-Function Deployment

In previous releases, the files required for deploying an S-function block that you generated using the S-function target were the following:

Beginning in the Real-Time Workshop software V5.0 (R13) , due to the packaging improvements described in Packaging of Generated Code Files Simplified, different files are required for deploying your S-function block. For details, see Required Files for S-Function Deployment.

Compatibility Considerations.   To deploy your S-function blocks for inclusion in models created in R13 or a later release, you should regenerate the S-function blocks using the same release that created the models, and deploy the S-function blocks using the files described in Required Files for S-Function Deployment.

Most Targets Use rtModel Instead of Root SimStruct

The GRT, GRT-Malloc, ERT, and Tornado targets now use the rtModel data structure to store information about the root model.

Compatibility Considerations.   In prior releases, the information about the root models was stored in the data structure SimStruct. Since the SimStruct data structure was also used by noninlined S-functions, it contained a number of S-function fields that were not needed to represent root model information. The new rtModel structure is lightweight and eliminates the unused fields in representing the root model. Fields in the rtModel capture model-wide information pertaining to timing, solvers, logging, model data (such as block I/O and DWork parameters), and so on. To generate code for the ERT target, the rtModel data structure is further pruned to contain only those fields that are relevant to the model under consideration.

If you have previously customized GRT, GRT-Malloc, or Tornado targets, upgrade each customized target to use the rtModel instead of SimStruct.

To upgrade a target to use the rtModel instead of the SimStruct:

In addition to the changes to the main C files, change the target TLC file and the template make files.

Hook Files Required for Communicating Target-specific Word Characteristics

You must now supply a target hook file (M-file) to specify target hardware characteristics, such as word sizes and overflow behavior.

Compatibility Considerations.   To communicate details about target hardware characteristics, you must now supply an M-file named target_rtw_info_hook.m. Each system target file needs to implement a hook file. For GRT (grt.tlc), for example, you must name the file grt_rtw_info_hook.m, and the file needs to be on the MATLAB path. If the hook file is not provided, the Real-Time Workshop software uses default values based on the host's characteristics, which may not be appropriate. For an example, see toolbox/rtw/rtwdemos/example_rtw_info_hook.m. In addition, note that the TLC directive %assign DSP = 1 no longer has any effect. You need to provide a hook file instead.

Code Generation Unified for Real-Time Workshop® and Stateflow® Products

The Real-Time Workshop build process now generates code for models that include Stateflow charts in a single set of output files.

Compatibility Considerations.   In earlier releases, the Real-Time Workshop build process wrote code generated from Stateflow charts to source code files distinct from the source code files (such as model.c, model.h, etc.) generated from the rest of a model.

Now, by default, the Stateflow software no longer generates any separate files from the Real-Time Workshop software. In addition, Stateflow generated code is seamlessly integrated with other generated code. For example, all Stateflow initialization code is now inlined.

You can override the default and instruct the Real-Time Workshop build process to generate separate functions, within separate code files, for a Stateflow chart. To do this, use the RTW system code options in the Block parameters dialog of the Stateflow chart (see Nonvirtual Subsystem Code Generation in the Real-Time Workshop documentation). You can control the names of the functions and the code files generated.

Conditional Input Branch Execution Optimization

This release introduces an optimization called conditional input branch execution, which speeds simulation and execution of code generated from the model.

Compatibility Considerations.   Previously, when simulating models containing Switch or Multiport Switch blocks, Simulink executed all blocks required to compute all inputs to each switch at each time step. In this release, Simulink, by default, executes only the blocks required to compute the control input and the data input selected by the control input at each time step. Likewise, standalone applications generated from the model by the Real-Time Workshop software execute only the code needed to compute the control input and the selected data input. To explore this feature, see the demo rtwdemo_condinput .

Block Enhancements

New Rate Transition Block

In previous releases, Zero-Order Hold and Unit Delay blocks were required to handle problems of data integrity and deterministic data transfer between blocks having different sample rates.

The new Rate Transition block lets you handle sample rate transitions in multirate applications with greater ease and flexibility than the Zero-Order Hold and Unit Delay blocks.

The Rate Transition block handles both types of rate transitions (fast to slow, and slow to fast). When inserted between two blocks of differing sample rates, the Rate Transition block detects the two rates and automatically configures its input and output sample rates for the appropriate type of transition.

For more information on the use of the Rate Transition block with the Real-Time Workshop product, see Sample Rate Transitions in the Real-Time Workshop documentation. For a detailed description of the new block, see Rate Transition in the Simulink reference documentation.

S-Function API Extended to Permit Users to Define DWork Properties

The S-Function API has been extended to permit specification of an Real-Time Workshop identifier, storage class, and type qualifier for each DWork that an S-Function creates. The extensions consist of the following macros:

ssGetDWorkRTWIdentifier(S,idx)
ssSetDWorkRTWIdentifier(S,idx,val)
ssGetDWorkRTWStorageClass(S,idx)
ssSetDWorkRTWStorageClass(S,idx,val)
ssGetDWorkRTWTypeQualifier(S,idx)
ssSetDWorkRTWTypeQualifier(S,idx,val)

As is the case with data store memory or discrete block states, the Real-Time Workshop identifier may resolve against a Simulink.Signal object. An example has been added to sfundemos, in the miscellaneous category.

Lookup Table Blocks Use New Run-Time Library for Smaller Code

Lookup Table (2-D), Lookup Table (3-D), PreLook-Up Using Index Search, and Interpolation using PreLook-Up blocks now generate code that targets one of the many new specific, optimized lookup table operations in the Real-Time Workshop runtime library. This results in dramatically smaller code size. The library lookup functions themselves incorporate more enhancements to the actual lookup algorithms for speed improvements for most option settings, especially for linear interpolations.

Relay Block Now Supports Frame-Based Processing

Relay blocks can now handle frame-based input signals. Each row in a frame-based input signal is a separate set of samples in frames and each column represents a different signal channel. The block parameters should be scalars or row vectors whose length is equal to the number of signal channels. The block does not allow continuous frame-based input signals.

Transport Delay and Variable Transport Delay Improvements

Code generation for models containing the Transport Delay and Variable Transport Delay is now require less space.

Storage Classes for Data Store Memory Blocks

You can now control how Data Store Memory blocks in your model are stored and represented in the generated code, by assigning storage classes and type qualifiers. You do this in almost exactly the same way you assign storage classes and type qualifiers for block states. You can also associate a Data Store Memory block with a signal object, and control code generation for the block through the signal object.

See Storage Classes for Data Store Memory Blocks in the Real-Time Workshop documentation for more information.

Rapid Simulation Target Enhancement

Executables generated for the Rapid Simulation (RSim) target are now able to use any Simulink solver, including variable-step solvers. To use this feature, the target system must be able to check out a Simulink license when running the generated RSim executable.

For details, see Licensing Protocols for Simulink® Solvers in RSim Executables.

Compatibility Considerations

You can maintain backwards compatibility (that is, fixed-step solvers only, with no need to check out a Simulink license) by selecting Use RTW fixed step solver from the Solver Selection popup menu on the Rapid Simulation code generation options dialog. The default solver option is Auto, which will use the Simulink solver module only when the model requires it.

External Mode Enhancements

Simulink® Data Object Enhancements

Simulink data objects include several new string properties that you can exploit for customizing code generation. These properties are

Simulink.Data.Description
Simulink.Data.DocUnits
RTWInfo.Alias

In this release, the Simulink engine and Target Language Compiler do not use these properties. The properties are included in the model.rtw file and are reserved for future use. RTWInfo.Alias defines the identifier to be used in place of the parent data object (parameter, signal, or state) in the code. The engine checks that the alias is uniquely used by only that object.

model.rtw Changes

In this release, a number of changes have been made to model.rtw.

Compatibility Considerations

If your applications depend on parsing model.rtw files using customized TLC scripts, read "model.rtw Changes Between Real-Time Workshop 5.0 and 4.1" in Appendix A of the Target Language Compiler documentation, which describes the structure and contents of compiled models.

Generate HTML Report Option Available for Additional Targets

In earlier releases, the Generate HTML report option was available only for the Real-Time Workshop Embedded Coder product. In the current release, the report is available for all targets (except the S-Function target and Rapid Simulation target).

The Generate HTML report option is located in the General code generation options category of the Real-Time Workshop page of the Simulation Parameters dialog box, as shown in the next figure.

The option is on by default. An abbreviated report is generated if you do not have the Real-Time Workshop Embedded Coder product installed.

Efficiency of Code Generated for GRT and GRT-Malloc Targets Improved

Substantial changes have been made to the GRT and GRT-Malloc targets to improve the efficiency of generated code.

Compatibility Considerations

If you have customized either type of target, you should make changes to your modified files to ensure that your target works properly with V5.0 (R13) of the Real-Time Workshop software.

You should begin with the versions of the target files included in this release, and introduce all of your existing customizations to them. If you are unable to follow this upgrade path, then perform all steps outlined in Most Targets Use rtModel Instead of Root SimStruct and Logging Code Moved to the Real-Time Workshop® Library.

Logging Code Moved to the Real-Time Workshop® Library

All the support functions used for logging data have been moved from rtwlog.c to the Real-Time Workshop library.

Compatibility Considerations

If you have customized a GRT or GRT-Malloc Target, make the following changes to ensure compatibility with the new logging functions:

Custom Code Blocks Moved from Simulink® Library

The Custom Code blocks have been moved to a new library, named custcode.mdl (type custcode to access them).

Compatibility Considerations

Because custom code blocks are linked to this new library, backward compatibility is assured.

Target Language Compiler Changes

Compatibility Considerations

S-function TLC files should no longer use the BlockInstanceData function. All data used by a block should be declared using data type work vectors (DWork).

Documentation Enhancements

Fixed Bugs

ImportedExtern and ImportedExternPointer Storage Class Data No Longer Initialized

The Real-Time Workshop build process now reverts to its previous behavior of not initializing data whose storage class is ImportedExtern or ImportedExternPointer. Such initialization is the external code's responsibility.

External Mode Properly Handles Systems with no Uploadable Blocks

Connecting to systems with no blocks that can be uploaded in external mode used to fail and cause Simulink to act as though a simulation was running when none was. The only way to exit the model was to exit MATLAB. Connecting to these systems now will display a warning in the MATLAB command window and then run normally.

Nondefault Ports Now Usable for External Mode on Tornado Platform

In the prior release, a bug prevented the use of any but the default port to connect to a Tornado (VxWorks) target via external mode. The problem has been fixed and that configuration now works as documented.

Initialize Block Outputs Even If No Block Output Has Storage Class Auto

Previously, block outputs were initialized only if at least one block output had storage class auto. Now even if there are no auto Block I/O entries, exported globals and custom signals are initialized.

Code Is Generated Without Errors for Single Precision Data Type Block Outputs

In cases where a reused block outputs entry is the first single-precision data type block output in the full list of block outputs in the model, the Real-Time Workshop software now operates without reporting errors. See the Simulink Release Notes for related single-precision block enhancements.

Duplicate #include Statements No Longer Generated

The Real-Time Workshop build process now creates a unique list of C header files before emitting #include statements in the model.h file (formerly placed in model_common.h). For backwards compatibility, the old text buffering method for includes is still available for use, but can cause multiple includes in the generated code. You should update your custom code formats to use the (S)LibAddToCommonIncludes() functions instead of LibCacheIncludes(), which has been deprecated.

Custom Storage Classes Ignored When Unlicensed for the Real-Time Workshop® Embedded Coder™ Product

If a user loads a model that uses custom storage classes, and the user is not licensed for the Real-Time Workshop Embedded Coder product, the custom storage class is ignored (storage class reverts to auto) and a warning is produced. Previously, this situation would have generated an error.

Erroneous Sample Time Warning Messages No Longer Issued

Erroneous warnings regarding sample times not being in the sample time table for models that contain a variable sample time block and a fixed step solver are no longer issued during model compilation.

Discrete Integrator Block with Rolled Reset No Longer Errors Out

Simulink® Accelerator™ and Real-Time Workshop products used to error out if they had a Discrete Integrator block configured in 'ForwardEuler', non-level external reset, and the reset signal was a 'rolled' signal (having a width greater than 5). This has been fixed.

Rate Limiter Block Code Generation Limitation Removed

The Simulink Accelerator software now generates code for variable-step solver models that contain a rate limiter block inside an atomic subsystem.

Multiport Switch with Expression Folding Limitation Removed

Simulink Accelerator and Real-Time Workshop products no longer generate a Fatal Error for Multiport Switch when expression folding is enabled.

Pulse Generator Code Generation Failures Rectified

Several problems with code generation for the pulse generator block have been eliminated:

The first two problems also affected the Simulink Accelerator software.

Stateflow® I/O with ImportedExternPointer Storage Class Now Handled Correctly

Stateflow input pointers for signals of ImportedExternPointer storage class are now correctly initialized, and no longer error out for charts producing output signals that are nonscalar and of ImportedExternPointer storage class.

Parameters for S-Function Target Lookup Blocks May Now Be Made Tunable

The S-Function target code will now compile for models having lookup and Lookup Table (2-D) blocks when parameters for those blocks are tunable.

PreLookup Index Search Block Now Handles Discontiguous Wide Input

The PreLookup Index Search block formerly only generated code for signals from the first roll region of discontiguous wide inputs, such as from a Max block. This has been fixed.

SimViewingDevice Subsystem No Longer Fails to Generate Code

Code generation no longer aborts for atomic subsystems configured with SimViewingDevice=on.

Accelerator Now Works with GCC Compiler on UNIX®

The previous version of the Accelerator did not work when the user selected the gcc compiler with mex -setup. The Accelerator now supports using the gcc compiler on UNIX® systems.

Expression Folding Behavior for Action Subsystems Stabilized

When a model contains an action subsystem (that is, a for loop or while iterator subsystem) and expression folding is enabled, invalid or inefficient code sometimes was generated for the model. This problem has been fixed.

Dirty Flag No Longer Set During Code Generation

In previous releases, a model would be marked as dirty during the code generation process and the status would be restored when the process was finished. With this release the model's dirty status does not change during code generation.

Subsystem Filenames Now Completely Checked for Illegal Characters

In previous releases, it was possible to specify a subsystem filename that contained illegal (non-alphanumeric) characters, if the name was long enough and the invalid characters were toward the end of the string. In this release this bug has been fixed, and the entire character string is now validated.

Sine Wave and Pulse Generator Blocks No Longer Needlessly Use Absolute Time

Previously, code generated for the Sine Wave and Pulse Generator blocks accessed absolute time when the blocks were configured as sample based. This access is not necessary and its overhead has been removed from the generated code.

Generated Code for Action Subsystems Now Correctly Guards Execution of Fixed in Minor Time Step Blocks

All blocks contained in an action subsystem must have the same rate unless some are continuous and some are fixed in minor step ("zoh continuous"). If there are both continuous and fixed in minor step blocks then the generated code needs to guard the code for the fixed in minor time step blocks to protect it from being executed in minor time steps.

These guards were not being generated causing some models to have wrong answers and consistency failures. This problem has been fixed and the guards are now generated.

This is also a fix for the Simulink Accelerator software.

Report Error when Code Generation Requested for Models with Algebraic Loops

The Real-Time Workshop software does not support models containing algebraic loops. V4.1 (R12.1) contained a bug that enabled some models having algebraic loops to generate code which could compute incorrect answers. The models affected were those containing no algebraic loops in their root level but having algebraic loops in one or more subsystems. This bug has been fixed, and now building these models will always cause an error to be reported.

Limitations for HP and IBM® Platforms

The V4.0 (R12) Real-Time Workshop platform limitation for the HP and IBM® platforms still applies to V5.0 (R13). On the HP and IBM platforms, the Real-Time Workshop software opens the V3.0 (R11) Tunable Parameters dialog box in place of the Model Parameter Configuration dialog box. Although they differ in appearance, both dialogs present the same information and support the same functionality.

  


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