How to create a bus communication with System Composer ?

63 views (last 30 days)
Hello,
I'm beginner with System Composer and I am trying to create a bus communication between 2 slaves and 1 master. The connector elements only allow a port-to-port connection. I don't find how to represent the 2 slaves/1 master architecture with the model.
Is there a solution for this ? or an workaround if there is no solution ?
Thanks in advance

Answers (2)

Josh Kahn
Josh Kahn on 7 Sep 2021
Hi Frédéric,
To go from one output to many inputs, you can branch the signal by right-clicking the connector and dragging to the next port.
To go from many outputs to one input, you must first use an interface adapter:
Hope this helps!
Josh
  2 Comments
Andrea
Andrea on 7 Dec 2023
Hi,
thanks for your answer. I am trying now to go from many inputs to one output (so the contrary to the interface adapter), and I cannot find a block that does this. What would be the solution?
With interface adapter I have created a bus that contains several messages. And now I want to be able to use this bus to select specific messages. Kind of what would be the equivalent to bus selector in simulink.
Thank you!
Josh Kahn
Josh Kahn on 7 Dec 2023
Architecture Ports (the ones on the system bounding box) support dot notation for element selection. You can take advantage of this inside the components themselves to further decompose a signal, or you can also use a component as a many-to-many router.
See my answer here for an example:
Hope this helps,
Josh

Sign in to comment.


Yongjian Feng
Yongjian Feng on 5 Jul 2021
Edited: Yongjian Feng on 5 Jul 2021
Yes, it is doable. First create the bus from the source to the first destination.
Then hold down the control key of your keyboard and then click on any point of the bus. Now you can drag to the second destination.
  3 Comments
Yongjian Feng
Yongjian Feng on 6 Jul 2021
There are complex cases to handle if changing direction or bidirection are supported.
Please accept the answer if it works.
Thanks,
Yongjian
Stefan
Stefan on 22 Feb 2023
Is this:
"Then hold down the control key of your keyboard and then click on any point of the bus. Now you can drag to the second destination."
Possible by using commands?
I have a script, where components with ports are generated. And while its possible to connect to ports from components with the same name once, it fails to connect a output port again to another, second input port.

Sign in to comment.

Categories

Find more on System Composer in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!