How to connect bus signal with different data size using multiport switch?

3 views (last 30 days)
Hi,
I have two subsystems, and I want to minimized the data size for the signal that is been transfered in between the subsystems. The following figure shows the ideal case. When Constant1 = 1, the first signal with size {1} is transmitted; when Constant1 = 2, the second signal with size {2} is transmitted; Unfortunately, there will be error pop-up regarding to data size mistmatching in this model, which is attached. How could I solve this error or is there other approach to minized this data size. Noted that the constant value should be constant during the simulation.
Regards,
Andy

Accepted Answer

Mark McBroom
Mark McBroom on 4 Jan 2021
I made a number of changes to your model, most importably was to remove mux blocks. Mux blocks should not be used. Use Vector/Matrix concat blocks to create vectors/matrices, use Bus Creater blocks to create buses.

More Answers (1)

Mark McBroom
Mark McBroom on 1 Jan 2021
On the Multi-port switch block, on the Signal Attirbutes tab, check the box "Allow different data input sizes".
  1 Comment
And Meng
And Meng on 4 Jan 2021
Thank you for your reply, but if using this approach the bus selector cannot accurately capture the virtual bus signal. Would there be other approach to deal with this data size? I have also attached the model for your reference.

Sign in to comment.

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!