When creating a Simulink library, how to flag a subsystem as a block and not a sublibrary?

736 views Asked by At

I am developing a Simulink library that includes several custom subsystem blocks. When I open the library in the Simulink Library Browser, then each subsystem is displayed as a sublibrary. As a concrete example, see the screenshot below. The Hybrid Equations Toolbox has a sublibrary called "Cyber Pysical Systems" and, within, are several subsystems "ADC", "FSM", etc. I want these to be displayed only as blocks within "Cyber Physical Systems" and not as sublibraries themselves. Users shouldn't, for example, see the "flow map f" block in the Library Browser (nor any of the other blocks inside "ADC"). How do I do this? We need the solution to be compatible from R2014b onwards.

enter image description here

2

There are 2 answers

0
Paul Wintz On

I've found that the following process causes the subsystem not to be shown as a sublibrary in the Library Browser.

  1. Select the subsystem, right-click and select Mask > Edit Mask (Ctrl+M)
  2. Open the Parameters & Dialogs tab
  3. Click one of the controls in the left column to add a control to the dialog.
  4. Click "Apply"
  5. Delete the added control.
  6. Click "OK" to close.
  7. Save the library.
  8. Open the Library Browser and refresh.

This doesn't seem like "correct" behavior, but it solves my problem.

0
Bossel On

For me this happens because the subsystem contains a block that is not fully connected(meaning it has an open signal not connected to anything). Removing these blocks or terminating the open signals(terminator block) works in this case.