How can I link a data dictionary to a Simulink block library?
9 views (last 30 days)
Niraj Gadakari on 29 Dec 2017
Currently, it is not possible for libraries to have dictionaries linked to them, dictionary related items will be hidden from the menus if it is a library. Only Model blocks (Referenced Models) can have sldd links or references.
riccardo on 13 Dec 2020
Edited: riccardo on 13 Dec 2020
It's an old one, but as I had to tackle a similar issue, I thought this might be useful to others.
You cannot link a library block "as is" to a data dictionary.
As your library block will be used in a model, anyway, there are some workarounds possible, like making use of callbacks to add the relevant Data Dictionary entries to the "host" model via Data Dictionary API utilities, which is what one is generally interested in. In this way, when you copy across or initialise or delete the library block, the callback will handle the Data Dictionary entries for the host model.
E.G : https://www.mathworks.com/matlabcentral/answers/218186-how-can-i-link-a-data-dictionary-to-a-simulink-block-library
If you want to build a library to perform library-based code-generation, as described in https://www.mathworks.com/help/ecoder/ug/library-based-code-generation-for-subsystems-shared-across-models.html ,
you can equip the exported interface model with the desired data dictionary. Once the library is built, it is sufficient to make sure that the host model is also equipped with the correct Data Dictionary - you shouldn't need any callback.