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

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit:

Using merge block with bus signal inputs.

Asked by Benjamin Wang on 16 Nov 2012

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?




Benjamin Wang


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.


Benjamin Wang on 19 Nov 2012

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.

Kaustubha Govind on 19 Nov 2012

Great! Thanks for posting your solution.

Kaustubha Govind

Contact us