MATLAB Answers


Using merge block with bus signal inputs.

Hi, guys

I am really confused with the 'If/else -> Action -> Merge' pattern in Simulink, especially when working with Bus Signals.

Say, I created a bus with two members, 'a' and 'b', both are scalars with initial value of 0. I want to repeatedly increase 'a' by 1 when it is less than 5, and otherwise do nothing.

I know I could have merged the member 'a' rather than the whole bus signal. It's just an over-simplified version of my real work, which does lots of stuff in the 'If Action Subsystem'.

I was gonna upload a .mdl file to demonstrate my question more clear. Then I found that there is no way to do that here. So, for short, my question is: how to merge bus signals?




Log in to comment.


1 Answer

Answer by Kaustubha Govind on 16 Nov 2012
 Accepted Answer

The Merge block does support bus signals. Look for the section called Bus Support in the documentation.


Thank you Kaustubha. Sorry, I'm late.

I knew that the Merge block supports bus signals. But I couldn't make it work in a straight forward way. Then I found out that I had to put a 'Signal Conversion' block in each 'If Action Subsystem', with its 'Output' parameter setting to 'Bus Copy'. Now my model works fine.

Great! Thanks for posting your solution.

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!