Linked Blocks
When you add a masked library block or a Subsystem block from a library to a Simulink® model, a referenced instance of the library block is created. Such referenced instance of a library block is called a linked block and contains link or path to the parent library block. The link or path allows the linked block to update when the library block is updated.
To optimize the performance, the child blocks (and the parameters) of a linked block are not saved with the Simulink model. When such a model is loaded and viewed, the child blocks are referenced from the parent library. If you change the parameter value of a child block of such a linked block, the changed information is saved as linked data in the model.
To locate the parent library block of a linked block, right-click the block and select Library Link > Go To Library Link (Ctrl + L). This option is available only for the blocks that are linked and not for the Simulink built-in blocks. To prevent unintentional disabling of library links and prevent accidental changes to your library blocks, use the locked links option on the library. For more information, see Lock Links to Blocks in a Library.
Note
The tooltip for a linked block shows the name of the referenced library block.
When you edit a library block (either in Simulink Editor or at the command line), Simulink updates the changes in the linked blocks. The outdated links are updated when you:
Simulate or update the model.
Use the
find_system
command.On the Modeling tab, select Update Model > Refresh Blocks (or press Ctrl+K).
Load the model or library (only the visible links are updated).
Use
get_param
to query the link status of the block (see Control Linked Blocks Programmatically).You can use the
LinkStatus
parameter or theStaticLinkStatus
parameter to query the link status.LinkStatus
: First updates the linked block and then returns the link status.StaticLinkStatus
: Returns the link status without updating the linked block.
Selective usage of
StaticLinkStatus
overLinkStatus
can result in better Simulink performance. For more information onStaticLinkStatus
andLinkStatus
, see Control Linked Blocks Programmatically.
Rules for Linked Blocks
You can change the values of a linked block parameter (including the existing mask) in the mask dialog box.
To allow the library block initialization code to change the values of a linked block parameter, select the Allow library block to modify its contents check box in the Initialization pane of the library block.
It is not recommended to set callback parameters for a linked block.
If the reference library block of a linked block is a subsystem, you can make nonstructural changes such as changing the parameter value of the linked subsystem. To make structural changes to a linked block, disable the link of the linked block from its library block (See Disable or Break Links to Library Blocks).
During model compilation, Simulink may open some libraries implicitly to fully instantiate or load the model. However, to optimize memory usage, Simulink closes these libraries after the compilation. You must open the libraries explicitly instead of depending on the implicit opening by Simulink, to ensure the libraries do not close after the compilation.
Linked Block Terminology
Terminology | Definition |
---|---|
Parent library block | Library block from which the linked blocks are referenced. |
Linked block | Reference instance of a library block that contains links or path to its parent library block. |
Locked links | Prevents unintentional modification of a linked block. For more information, see Lock Links to Blocks in a Library. |
Disabled links | Library links that are temporarily disconnected from their parent library block. For more information, see Disable or Break Links to Library Blocks. |
Restore links | Restores the disabled link of a linked block to their parent library block. For more information, see Restore Disabled Links. |
Break links | Permanently breaks the link of a linked block from its parent library block. For more information, see Disable or Break Links to Library Blocks. |
Self-modifiable links | Linked block with the ability to have structural changes in a linked Subsystem block. For more information, see Self-Modifiable Linked Subsystems. |
Parameterized links | Created when the parameter values of a linked subsystem block are modified. For more information, see Parameterized Links and Self-Modifiable Linked Subsystems. |
Forwarding Tables | Maps the old library block path to new library block path. For more information, see Maintain Compatibility of Library Blocks Using Forwarding Tables. |
Transformation function | Corrects the mismatch of parameters in the
|