This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Blocks for Which Sample Time Is Not Recommended

Some blocks do not enable you to set the Sample Time parameter by default. However, you can see and set the Sample Time parameter for these blocks in an existing model if the sample time is set to a value other than the default of -1 (inherited sample time). The Sample Time parameter is not available on certain blocks because specifying a sample time that is not -1 on blocks such as the Gain, Sum, and n-D Lookup Table causes sample rate transition to be implicitly mixed with block algorithms. This mixing can often lead to ambiguity and confusion in Simulink® models.

In most modeling applications, you specify rates for a model on the boundary of your system instead of on a block within the subsystem. You specify the system rate from incoming signals or the rate of sampling the output. You can also decide rates for events you are modeling that enter the subsystem as trigger, function-call, or enable/disable signals. Some global variables (such as Data Store Memory blocks) might need additional sample time specification. If you want to change rate within a system, use a Rate Transition block, which is designed specifically to model rate transitions.

In a future release, you might not be able see or set this parameter on blocks where it is not appropriate.

Best Practice to Model Sample Times

Use these approaches instead of setting the Sample Time parameter in the blocks where it is not appropriate:

  • Adjust your model by specifying Sample Time only in the blocks listed in Appropriate Blocks for the Sample Time Parameter, and set Sample Time to -1 for all other blocks. To change the sample time for multiple blocks simultaneously, use Model Explorer. For more information, see Editing Object Properties.

  • Use the Rate Transition block to model rate transitions in your model.

  • Use the Signal Specification block to specify sample time in models that don’t have source blocks, such as algebraic loops.

  • Specify the simulation rate independently from the block sample times, using the Model Parameter dialog box.

Once you have completed these changes, verify whether your model gives the same outputs as before.

Appropriate Blocks for the Sample Time Parameter

Specify sample time on the boundary of a model or subsystem, or in blocks designed to model rate transitions. Examples include:

  • Blocks in the Sources library

  • Blocks in the Sinks library

  • Trigger ports (if Trigger type is set to function-call) and Enable ports

  • Data Store Read and Data Store Write blocks, as the Data Store Memory block they link to might be outside the boundary of the subsystem

  • Rate Transition block

  • Signal Specification block

  • Blocks in the Discrete library

  • Message Receive block

  • Function Caller block

Specify Sample Time in Blocks Where Hidden

You can specify sample time in the blocks that do not display the parameter on the block dialog box. If you specify value other than -1 in these blocks, no error occurs when you simulate the model. However, a message appears on the block dialog box advising to set this parameter to -1 (inherited sample time). If you promote the sample time block parameter to a mask, this parameter is always visible on the mask dialog box.

To change the sample time in this case, use the set_param command. For example, select a block in the Simulink Editor and, at the command prompt, enter:

set_param(gcb,'SampleTime','2');

See Also

| | |