How to enable variable output signal size?

1 view (last 30 days)
Leonardus Yudha Septian Sutanto
Commented: Jan Houska on 16 Apr 2021
Hello everyone,
I am trying to simulate a radar sensor for a collision detection. Here I am using LinePickSensor with 5 lines.
The two plates move back and forth along the middle line following sine functions.
From the block VR Source, I need to get pickedPoint as output.
The pickedPoint output has a dimension of 5x3 at the beginning, since all of the lines are in contact with the bigger plate. However, once the plate has moved too far away from the cylinder, the 4 inclined lines lose contact with the plate and only the middle line penetrates the bodies. Therefore, the output signal dimension changes into 1x3 and there is an error report:
An error occurred while running the simulation and the simulation was terminated
Caused by:
  • Error reported by S-function 'vrsfunc' in 'LinePickSensor_test/VR Source': Signal dimension 1 of output port 2 has changed from 5 to 1. Please consider enabling variable output signal size.
How to enable variable output signal size? Is it possible to set the values into 0 if there is no output?

Answers (1)

Jan Houska
Jan Houska on 13 Apr 2021
Hi Leonardus,
there is a checkbox labeled Allow variable-size output signals in the VR Source block dialog. This must be selected (enabled) if your signal changes its size during simulation, as is the case with the LinePickSensor. Please verify if you have this checkbox selected.
Good Luck, Jan
  2 Comments
Jan Houska
Jan Houska on 16 Apr 2021
Hi Yudha,
not all blocks support variable-size signals, you must use a block that does. Please see https://www.mathworks.com/help/simulink/ug/variable-size-signal-basics.html for more information.
Good Luck, Jan

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!