Проверка зависимостей файла и модели

Зачем проверять зависимости файла и модели?

Каждый Simulink® для успешной работы модели требуется набор файлов. Эти файлы могут включать ссылки на модели, файлы данных, S-функции и другие файлы, без которых модель не может запускаться. Эти необходимые файлы называются model dependencies. Анализатор Зависимостей позволяет вам анализировать модель, чтобы определить зависимости ее модели.

Точно так же Simscape™ файлы и пользовательские библиотеки также зависят от определенных файлов, чтобы создать их успешно, или чтобы правильно визуализировать и выполнить в MATLAB®. Эти файлы могут включать все файлы компонентов для создания библиотеки, файлы области, пользовательские файлы изображений для блоков или библиотек и так далее.

Инструменты анализа зависимостей для файлов Simscape состоят из следующих опций командной строки:

  • simscape.dependency.file - Возвращает набор существующих файлов зависимостей полного пути и отсутствующих файлов для одного файла Simscape для определенного типа зависимости.

  • simscape.dependency.lib - Возвращает набор существующих файлов зависимостей полного пути и отсутствующих файлов для пользовательского пакета библиотеки Simscape. Можно опционально задать тип зависимости и имя файла модели библиотеки.

  • simscape.dependency.model - Верните набор связанных с Simscape файлов зависимостей и отсутствующих файлов для заданной модели, содержащей блоки Simscape и Simulink.

Анализатор Зависимостей также включает зависимости для блоков Simscape, присутствующих в модели. Для получения дополнительной информации об анализаторе зависимостей смотрите Анализ зависимостей модели.

Проверка зависимостей защищенных файлов

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

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

Проверка зависимостей файла Simscape

Чтобы проверить зависимости для одного файла Simscape, используйте функцию simscape.dependency.file.

Для примера рассмотрим следующую директории структуру:

- +MySimscapeLibrary 
|-- +MechanicalElements 
| |-- lib.m 
| |-- lib.jpg 
| |-- spring.ssc 
| |-- spring.jpg 
| |-- ...

Пакет верхнего уровня, +MySimscapeLibrary, находится в директории по пути MATLAB.

Чтобы проверить зависимости для файла spring.sscвведите в командной строке MATLAB следующее:

[a, b] = simscape.dependency.file('MySimscapeLibrary.MechanicalElements.spring') 

Эта команда возвращает два массива ячеек строк: array a, содержащие полные имена путей к существующим файлам зависимостей (таким как spring.jpg) и b массива, содержащего имена отсутствующих файлов. Если ни один из файлов не пропал, выполните команду array b пуст.

Для получения дополнительной информации смотрите simscape.dependency.file страница с описанием функции.

Проверка библиотечных зависимостей

Чтобы проверить зависимости для пакета библиотеки Simscape, используйте функцию simscape.dependency.lib.

Например, чтобы вернуть все файлы зависимостей для пакета верхнего уровня +MySimscapeLibraryизмените рабочую директорию на папку, содержащую этот пакет, и введите в командной строке MATLAB следующее:

[a, b] = simscape.dependency.lib('MySimscapeLibrary') 

Если эта команда запускается из рабочей директории внутри пакета, можно опустить имя библиотеки, поскольку это единственный аргумент, и ввести:

[a, b] = simscape.dependency.lib

Эта команда возвращает два массива ячеек строк: array a, содержащие полные имена путей всех существующих файлов зависимостей и массивов b, содержащего имена отсутствующих файлов. Если ни один из файлов не пропал, выполните команду array b пуст.

Чтобы определить, какие файлы необходимы для совместного использования пакета библиотеки, введите:

[a, b] = simscape.dependency.lib('MySimscapeLibrary',simscape.DependencyType.Simulink) 

В этом случае массивы a и b содержит все файлы, необходимые для создания библиотеки, запуска моделей, созданных из ее блоков, и их правильной визуализации.

Проверка зависимостей модели

Чтобы выполнить полную проверку зависимостей, откройте модель. На вкладке Modeling панели инструментов Simulink Toolstrip, в разделе Design, нажмите Dependency Analyzer. Для получения дополнительной информации смотрите Анализ зависимостей модели.

Чтобы проверить зависимости только от блоков и файлов Simscape, используйте функцию simscape.dependency.model. Для примера откройте модель dc_motor и тип:

[a b c d] = simscape.dependency.model('dc_motor') 

Эта команда возвращает два массива ячеек строк и два списка структур. Массивы a содержит полные пути имена всех существующих файлов зависимостей. Массивы b содержит имена отсутствующих файлов. Списки структур c и d укажите типы ссылок для существующих и отсутствующих файлов ссылок, соответственно. Каждая структура включает поле 'names' как список имен файлов, вызывающих ссылку, и поля 'type' в качестве типа ссылки для каждого файла. Используются два типа ссылок: 'Simscape component' указывает ссылку из блока модели. 'Simscape' указывает ссылку из файла.

Если ни один из файлов не пропал, выполните команду array b и перечислите d пусты.