Соедините словарь данных с пользовательскими библиотеками

Когда вы создаете библиотеку пользовательского блока, вы можете задать объекты данных — такие как шина и перечисляемые типы — чтобы использоваться в интерфейсах блока. Можно сделать эти типы данных доступными для пользователей библиотеки путем хранения их в Simulink® словарь данных, который присоединен к библиотеке. Пользователи библиотеки автоматически получают доступ к типам данных, содержавшимся в словаре, когда они перетаскивают блок из библиотеки в их модель.

Библиотечные блоки автора с типами данных, заданными в присоединенном словаре данных

Задавать данные и типы для ваших библиотечных блоков в словаре данных:

  1. Создайте новый словарь данных или откройте существующий словарь. Чтобы создать новый словарь, в Model Explorer, выбирают File> New> Data Dictionary. Чтобы открыть существующий словарь, выберите File> Open и просмотрите свой словарь.

  2. Добавьте, что данные и типы, такие как шина возражают к словарю данных.

    View of Model Explorer. On the left, a data dictionary node is expanded in the Model Hierarchy pane. On the right, the Contents pane displays the two bus objects contained in the Design Data section of the dictionary.

  3. Сохраните словарь данных.

Можно присоединить словарь данных к библиотеке при помощи пользовательского интерфейса или программно при помощи set_param функция.

Присоединить словарь данных при помощи пользовательского интерфейса:

  1. Разблокируйте свою библиотеку (см. Блокировку и Разблокируйте Библиотеки).

  2. В Редакторе Simulink, на вкладке Modeling, нажимают Library Properties.

  3. В диалоговом окне Library Properties, на вкладке External Data, нажимают Browse, чтобы определить местоположение и открыть ваш словарь данных.

  4. Нажмите OK, чтобы присоединить словарь.

Присоединить словарь данных при помощи set_param функция, используйте эту команду.

set_param('myLib','DataDictionary','myLibData.sldd');

После того, как вы присоединили словарь и сохраненный, ваша библиотека, словарь и его содержимое появляются в Model Explorer как внешний источник данных для библиотеки.

View of Model Explorer. On the left, the library node is expanded in the Model Hierarchy pane. Under the library node, the External Data node is expanded to show the attached data dictionary. On the right, the Contents pane displays the two bus objects contained in the Design Data section of the dictionary.

Когда вы разрабатываете блоки для своей библиотеки, можно выбрать типы, содержавшиеся в словаре библиотеки из списка Data type.

On the left, the model canvas displays the contents of a subsystem library block. The Out block is selected. On the right, a block parameters dialog box displays the dictionary data types in the drop-down menu for Data type.

Используйте блоки из библиотеки с присоединенным словарем данных

Когда вы перетаскиваете блок из библиотеки в вашу модель, модель автоматически получает доступ к объектам данных, содержавшимся в словаре, присоединенном к той библиотеке. Чтобы видеть словарь в Model Explorer, в Редакторе Simulink, кликают по значку данных модели в левом нижнем углу, затем нажимают External Data. Словарь появляется как внешний источник данных к вашей модели под узлом From Libraries.

View of Model Explorer. On the left, a model node is expanded in the Model Hierarchy pane. Under the model node, the External Data node is expanded. Under the External Data node, the From Libraries node is expanded to show the attached data dictionary. On the right, the Contents pane displays the two bus objects contained in the Design Data section of the dictionary.

Объекты данных, заданные в библиотеке, теперь доступны для модели для симуляции и генерации кода без потребности принести те объекты данных или в базовое рабочее пространство или в другой словарь данных.

On the left, the model canvas displays a library block used in a model. The Out block is selected. On the right, a block parameters dialog box displays the dictionary data types in the drop-down menu for Data type.

Когда вы обновляете или сохраняете свою модель, если номер модели дольше содержит блок из библиотеки, словарь библиотеки более не доступен для вашей модели, и словарь удален из узла From Libraries.

Факторы при использовании словаря библиотеки

Существует несколько факторов при авторской разработке или пользовании библиотекой с соединенным словарем данных.

  • В большинстве случаев вы зададите шину или перечисляемые типы в словаре библиотеки, но авторы библиотеки могут совместно использовать любой тип объекта с пользователями библиотеки путем добавления объектов в словарь.

  • Элементы в словаре библиотеки являются глобальной по масштабу переменной, и разрешение символа происходит, как будто словарь библиотеки непосредственно соединяется с моделью.

  • Если связь библиотеки разорвана, данные, сопоставленные с библиотекой, более не доступны. Чтобы возвратить доступ к данным, необходимо вручную соединить модель со словарем библиотеки. Если ссылка на словарь библиотеки восстанавливается, доступ к данным также восстанавливается.

  • В иерархии модели модель должна прямо или косвенно сослаться на словарь библиотеки, чтобы использовать объекты данных, которые содержит словарь.

  • Simulink хранит информацию о зависимостях словаря библиотеки в папке пользовательской настройки. Эта информация является персистентной через MATLAB® сеансы. Если вы переместили библиотеку в другую папку или машину, или если вы внесли изменения в иерархию библиотеки, можно использовать Simulink.LibraryDictionary.refresh функция, чтобы выполнить анализ зависимостей и обновить ваши сохраненные зависимости. Этот анализ зависимостей может быть дорогим, поэтому вызвать функцию обновления, только если у вас есть недостающая зависимость. Чтобы очистить предыдущий анализ зависимостей, используйте Simulink.LibraryDictionary.clear функция.

  • Когда вы перетаскиваете блок из библиотеки в вашу модель, модель получает доступ к словарю данных, присоединенному к той библиотеке. Однако, если блок от подбиблиотеки, доступ только к словарю данных, присоединенному к той подбиблиотеке. В этом случае, чтобы предоставить модели доступ и к словарям библиотеки и к подбиблиотеки, когда это использует блок, автор библиотеки должен содержать подбиблиотечный блок в новой подсистеме.

  • Если вы храните свою библиотеку под корневой папкой MATLAB, можно присоединить словарь к библиотеке, но модель не имеет автоматического доступа к словарю, когда вы добавляете блок из библиотеки.

  • Simulink не поддерживает неиспользуемые переменные открытия для соединенного библиотекой словаря данных.

Смотрите также

| |

Похожие темы