How to create a component reference in the system composer from a simscape component
4 views (last 30 days)
Show older comments
Hello,
I have a Simscape Isothermal Fluid component that is an isolated component (it have its own test harness, test cases and requirements. You can see it is composed with simscape signals and simulink signals.
I would like to build a system composer, were this component is part of. But when I add a "reference component" on the system composer ad link to the compoenent, the physical lines does not come.
The only way I made it works is creating the sismcape compoenent inside the system composer, but this way I need to manage changes and so on inside the composer.
Any solution to create a simscape component that can be referenced inside the system composer and have the physical connections available?
0 Comments
Accepted Answer
Josh Kahn
on 20 Aug 2024
Edited: Josh Kahn
on 27 Aug 2024
When you right-click to create your Simulink behavior from System Composer, make sure you choose "Subsystem Reference". Simscape models do not support physical ports crossing the model reference boundaries but they can cross subsystem reference boundaries.
Simulink has two kinds of files - Model Reference and Subsystem Reference. These are treated slightly differently during simulation and code gen. The models are atomic units whereas the subsystems are meant to be pieces of a larger model. Root-level Simscape ports will only work in a referenced subsystem.
The HydraulicPump_Model you shared is a model reference with physical ports at the root level, this is not supported by the Simscape library. The good news is that you can convert the subsystem in that model to a subsystem reference and link your System Composer component directly to it.
Here are some screenshots I made using the model you shared:
1. Right-click your existing subsystem and convert it to a Referenced Subsystem:
2. Give it a name
3. In your architecture model, right click a component and choose Link to Model... then link it to your new subsystem reference.
4. All done!
0 Comments
More Answers (3)
Akshat Dalal
on 19 Aug 2024
Hello Flavio,
It is possible to create a simscape component that can be referencedn inside a System Composer application and have the physical connections available. One way to achieve this is to use the Simulink Subsystem Reference approach. This allows you to author Simulink or Simscape behaviors with physical ports and connections.
You can refer the following documentation for a more detailed explanation and other approaches: https://www.mathworks.com/help/releases/R2024a/systemcomposer/ug/implement-components-in-simulink.html
0 Comments
See Also
Categories
Find more on System Composer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!