Using merge block with bus signal inputs.

66 vues (au cours des 30 derniers jours)
Benjamin Wang
Benjamin Wang le 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?
Thanks!
Ben

Réponse acceptée

Kaustubha Govind
Kaustubha Govind le 16 Nov 2012
The Merge block does support bus signals. Look for the section called Bus Support in the documentation.
  2 commentaires
Benjamin Wang
Benjamin Wang le 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
Kaustubha Govind le 19 Nov 2012
Great! Thanks for posting your solution.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by