Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
slref.pdf
Скачиваний:
39
Добавлен:
26.03.2015
Размер:
16.01 Mб
Скачать

10 Model Advisor Checks

Check for proper bus usage

Identify Mux blocks used as a bus creator and bus signal that Simulink treats as a vector.

Description

Models should not contain bus signals that Simulink software implicitly converts to vectors. Instead, either insert a Bus to Vector conversion block between the bus signal and the block input port that it feeds, or use the

Simulink.BlockDiagram.addBusToVector command.

Results and Recommended Actions

 

Condition

Recommended Action

 

 

Model uses Mux blocks

Replace Mux blocks with Bus Creator blocks.

 

 

to create bus signals.

 

 

 

Model is not configured

In the Configuration Parameters dialog box, on

 

 

to identify Mux blocks

the Diagnostics > Connectivity pane, set Mux

 

 

used as bus creators.

blocks used to create bus signals to error.

 

 

Bus signals are implicitly

Use Simulink.BlockDiagram.addBusToVector

 

 

converted to vectors.

or insert a Bus to Vector block.

 

 

Model is not configured

In the Configuration Parameters dialog box, on

 

 

to identify bus signals

the Diagnostics > Connectivity pane, set Bus

 

 

Simulink treats as

signal treated as vector to error.

 

 

vectors.

 

 

Action Results

Clicking Modify causes one of the following:

Mux blocks are replaced by Bus Creator blocks.

Bus to Vector blocks are inserted at the inports of blocks that implicitly convert bus signals to vectors.

10-32

Simulink® Checks

Tips

The Bus to Vector conversion block resides in the Simulink/Signal Attributes library.

Run this check before running Check consistency of initialization parameters for Outport and Merge blocks.

The “Non-bus signals treated as bus signals” diagnostic detects when Simulink implicitly converts a non-bus signal to a bus signal to support connecting the signal to a Bus Assignment or Bus Selector block.

This diagnostic is in the Configuration Parameters dialog box, on the

Diagnostics> Connectivity pane.

Using a Mux block to create a virtual bus does not support strong type checking and increases the likelihood of run-time errors. In new applications, do not use Mux blocks to create bus signals. Consider upgrading existing applications to that use of Mux blocks.

-Simulink generates a warning when you load a model created in a release prior to R2010a, if that model contains a Mux block to create a bus signal. For new models, Simulink generates an error.

See Also

“Avoid Mux/Bus Mixtures”

Bus to Vector block

“Mux blocks used to create bus signals”

“Bus signal treated as vector”

“Check consistency of initialization parameters for Outport and Merge blocks” on page 10-37

Simulink.BlockDiagram.addBusToVector

10-33

10 Model Advisor Checks

Check for potentially delayed function-call subsystem return values

Identify function-call return values that might be delayed because Simulink software inserted an implicit Signal Conversion block.

Description

So that signals reside in contiguous memory, Simulink software can automatically insert an implicit Signal Conversion block in front of function-call initiator block input ports. This can result in a one-step delay in returning signal values from calling function-call subsystems. The delay can be avoided by ensuring the signal originates from a signal block within the function-call system. Or, if the delay is acceptable, insert a Unit Delay block in front of the affected input ports.

Results and Recommended Actions

 

Condition

Recommended Action

 

 

The listed block input ports could have an

Decide if a one-step delay

 

 

implicit Signal Conversion block.

in returning signal values

 

 

 

is acceptable for the listed

 

 

 

signals.

 

 

 

If the delay is not

 

 

 

acceptable, rework

 

 

 

your model so that the

 

 

 

input signal originates

 

 

 

from within the calling

 

 

 

subsystem.

 

 

 

If the delay is acceptable,

 

 

 

insert a Unit Delay block

 

 

 

in front of each listed input

 

 

 

port.

 

See Also

Signal Conversion block

Unit Delay block

10-34

Simulink® Checks

Identify block output signals with continuous sample time and non-floating point data type

Find continuous sample time, non-floating-point output signals.

Description

Non-floating-point signals might not represent continuous variables without loss of information.

Results and Recommended Actions

 

Condition

Recommended Action

 

 

Signals with continuous sample times have

On the identified signals,

 

 

a non-floating-point data type.

either change the sample

 

 

 

time to be discrete or

 

 

 

fixed-in-minor-step ([0 1]).

 

See Also

“What Is Sample Time?”.

10-35

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]