Error using SimulinkRe​alTime.tar​get/getsig​nal

5 views (last 30 days)
I have already seen the answer to a similar question without success.
I'm using Simulink Real-Time and am trying to use the getsignal command to find the current value of a signal in the model. I have successfully used this for a number of other signals with no problems but a few of the recently added signals report the error "Error using SimulinkRealTime.target/getsignal Invalid Signal".
I have tried the following
  • Adding a unit gain block and reading the output of that signal
  • Making the signal a "Test Point"
  • Using the Data Inspector and logging the signals (they appear in the Data Inspector but not with getsignal)
When I show the signals for the target using
tg = slrt;
tg.ShowSignals = 'on';
The signals that I am looking for do not appear in the list.
What can I do to force the signals to be visible to the host PC?
  2 Comments
Jon Lobo
Jon Lobo on 11 Dec 2020
Hi Scott,
Which release are you in? Can you tell me more about the signal in question? Is it a virtual/non-virtual bus, scalar, enumerated etc?
-Jon
Scott
Scott on 14 Dec 2020
HI Jon, It was R2019b as indicated. I found the solution, see below. Unexpected data type conversion meaning that it was too large to become a valid signal.

Sign in to comment.

Accepted Answer

Scott
Scott on 14 Dec 2020
Found the solution.
The signal was a scalar value from a CAN Read block which was of type uint32. The normal advice to get signals to be visible is to use a Gain block with a value of 1 and this approach had worked for other signals. However in this scenario Simulink was converting the data type from uint32 to a large fixed point value (128 bits) after the Gain block.
Checking all the data types and converting the value back to a double before the unity gain block and the subsequent scaling and offset made the signal visible using getsignal.
Any data type that takes up more than 64 bits, apparently won't be visible.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!