exponenta event banner

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

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

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

Чтобы определить данные и типы для блоков библиотеки в словаре данных, выполните следующие действия.

  1. Создайте новый словарь данных или откройте существующий словарь. Чтобы создать новый словарь, в обозревателе моделей выберите «Файл» > «Создать» > «Словарь данных». Чтобы открыть существующий словарь, выберите Файл > Открыть и найдите словарь.

  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 на вкладке «Моделирование» выберите «Свойства библиотеки».

  3. В диалоговом окне «Свойства библиотеки» на вкладке «Внешние данные» нажмите кнопку «Обзор», чтобы найти и открыть словарь данных.

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

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

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

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

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.

При разработке блоков для библиотеки можно выбрать типы, содержащиеся в словаре библиотеки, из списка Тип данных.

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.

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

При перетаскивании блока из библиотеки в модель модель автоматически получает доступ к объектам данных, содержащимся в словаре, присоединенном к этой библиотеке. Чтобы просмотреть словарь в обозревателе моделей, в редакторе Simulink выберите значок данных модели в левом нижнем углу, а затем выберите Внешние данные. Словарь отображается в модели как внешний источник данных в узле «Из библиотек».

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.

При обновлении или сохранении модели, если модель больше не содержит блока из библиотеки, словарь библиотеки становится недоступным для модели, и словарь удаляется из узла «Из библиотек».

Рекомендации по использованию словаря библиотеки

При разработке или использовании библиотеки со связанным словарем данных необходимо учитывать несколько факторов.

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

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

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

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

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

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

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

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

См. также

| |

Связанные темы