Main Content

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 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.

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 Block Programmatically).

    You can use the LinkStatus parameter or the StaticLinkStatus 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 over LinkStatus can result in better Simulink performance. For more information on StaticLinkStatus and 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

TerminologyDefinition

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 InstanceData of the new and old library links to ensure that the library links continue to work. For more information, see Maintain Compatibility of Library Blocks Using Forwarding Tables.

See Also

Related Topics