Simulink Known Software and Documentation Problems

This document describes important known software and documentation problems. Click on a problem area listed below for details.

Block positions are limited to less than 32768
Can not modify Simulink data class if it has already been instantiated.
Changing a Subsystem I/O Port Number Can Corrupt a Model
Deadzone Block Outputs Different Result in Simulation and Code Generation
Disabling debugging for Embedded MATLAB is model-wide.
Help ->Blocksets Submenu Sometimes Fails to Appear
N-D Lookup Table Block Does Incomplete Error Checking
PostSaveFcn Cannot Find Model on First Save
Saturation Block's Output for a NaN Input Differs on Different Platforms
Zero Sample Time Limitation on Discretizing Models in the S Domain

Block positions are limited to less than 32768

Block positions have been restricted to be less than 32768. You can probably only reach this limit by using ADD_BLOCK to automatically generate extremely large models. Workarounds include shrinking the size of your blocks, or rearranging the blocks to fit the available space.

Can not modify Simulink data class if it has already been instantiated.

The Simulink data class designer prevents users from modifying classes if they have already been instantiated during the current MATLAB session. Reason (should probably not be published): - When modifying classes we need to regenerate the P-code for the class. However, if the class has already been instantiated then we are unable to delete the old P-file. As a result, we prevent users from doing this.

Changing a Subsystem I/O Port Number Can Corrupt a Model

Changing the number of an input or output port number in a subsystem can cause an extra port to be added to the subsystem block in the parent system.

To fix the problem:

  1. Copy the contents of the subsystem to the clipboard.
  2. Delete the old subsystem block.
  3. Create a new subsystem block in its place.
  4. Copy the contents from the clipboard to the subsystem.
  5. Reconnect the subsystem.

Deadzone Block Outputs Different Result in Simulation and Code Generation

In simulation, the Deadzone block outputs NaN when input is NaN, whereas it outputs 0 in Real-Time Workshop code generation. This bug is planned to be fixed in a future release.

Disabling debugging for Embedded MATLAB is model-wide.

In R14, debugging support can be turned off for Embedded MATLAB blocks from the Stateflow Simulation field of the Configuration set in the Model Explorer. A limitation in this release is that debugging can only be disabled on a per-model basis, not a per-block basis. Disabling debugging can make some models run significantly faster.

Help ->Blocksets Submenu Sometimes Fails to Appear

The Blocksets submenu sometimes fails to appear when selected from the model window's Help menu. If this happens, click anywhere in the model window and then select "Blocksets" from the Help menu.

N-D Lookup Table Block Does Incomplete Error Checking

This release fails to report an error for an unsupported combination of settings for this block: you cannot set the interpolation method to be none-flat and the extrapolation method to be linear. This combination of settings causes a code generation failure.

PostSaveFcn Cannot Find Model on First Save

The first time you save a new model that has PostSaveFcn functions, the PostSaveFcn functions cannot find the model.

Saturation Block's Output for a NaN Input Differs on Different Platforms

On Linux, the Saturation block outputs NaN if its input is NaN; on Windows, the block outputs its lower limit if its input is NaN.

Zero Sample Time Limitation on Discretizing Models in the S Domain

When discretizing a model in the S domain, you cannot specify a sample time of 0 if the model contains a Transfer Function, State Space, or Zero Pole block. If you do specify a sample time of 0, MATLAB generates an error.