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 a 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, use the locked links option on the library. For more information, see Lock Links to Blocks in a Library.
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.
On the Modeling tab, select Update Model > Refresh Blocks (or press Ctrl+K).
Load the model or library (only the visible links are updated).
get_paramto query the link status of the block (see Control Linked Block Programmatically).
You can use the
LinkStatusparameter or the
StaticLinkStatusparameter 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
LinkStatuscan result in better Simulink performance. For more information on
LinkStatus, see Control Linked Block 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).
Linked Block Terminology
Parent library block
Library block from which the linked blocks are referenced.
Reference instance of a library block that contains links or path to its parent library block.
Prevents unintentional modification of a linked block. For more information, see Lock Links to Blocks in a Library.
Library links that are temporarily disconnected from their parent library block. For more information, see Disable or Break Links to Library Blocks.
Restores the disabled link of a linked block to their parent library block. For more information, see Restore Disabled 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.
Linked block with the ability to have structural changes in a linked Subsystem block. For more information, see Self-Modifiable Linked Subsystems.
Created when the parameter values of a linked subsystem block are modified. For more information, see Parameterized Links and Self-Modifiable Linked Subsystems.
Maps the old library block path to new library block path. For more information, see Maintain Compatibility of Library Blocks Using Forwarding Tables.
Corrects the mismatch of parameters in the