Troubleshoot Signals for Streaming or File Logging
There are signals selected for streaming or connected to File Log blocks in my model that generate an error that starts with:
Cannot stream signal
What This Issue Means
This error message for signals selected for streaming or connected to File Log blocks could indicate that the signal has one or more of these issues:
The signal is not available in application.
The signal does not use globally accessible memory in application.
The signal connects to a Send/MessageSend block.
The signal has inherited sample time.
The signal is discontiguous.
Try These Workarounds
The workarounds for these issues vary. Try these.
Workaround for Signal Not Available
Make sure that these signal types are not being monitored, traced, or logged by name in the real-time application:
Virtual or bus signals (including signals from bus creator blocks and virtual blocks)
Signals that Simulink optimizes away
Signals of complex or multiword data types
Blocks without alphanumeric names
Workaround for Signal Not Global Available or Discontiguous
To resolve, try inserting a Signal Copy block (a Signal Conversion block in Signal Copy mode) into the signals that you want to stream. Log the copied signal output instead. If you use a Dashboard block, connect it to the output signal of the Signal Copy block.
Workaround for Signal Connected to Message Block
To resolve, try streaming or file logging the input signal to the Send/MessageSend block. The output of the block (a message) cannot be streamed or logged.
Workaround for Signal Has Inherited Sample Time
To resolve, change the signal sample time from inherited to a value. Signals with inherited sample time cannot be streamed or logged.