Анализируйте зависимости моделей

Что такое зависимости моделей?

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

Требования анализа зависимостейИнструменты, чтобы выбрать
Найдите требуемые файлы для целого проекта.Используйте анализ зависимостей из Проекта. Смотрите Анализ зависимостей.
Выполните анализ зависимостей определенной модели с управлением большего количества опций.

Используйте явные инструменты из своей модели. Смотрите Генерируют Декларации.

Сгенерируйте декларацию, если вы хотите:

  • Анализируйте модель, которая не находится в проекте.

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

  • Создайте отчет идентифицировать, где зависимости возникают.

  • Управляйте осциллографом анализа зависимостей.

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

  • Просмотрите файлы, требуемые вашей моделью в файле манифеста.

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

  • Группируйте модель с ее необходимыми файлами в zip-файл, чтобы отправить другому пользователю Simulink.

  • Сравните более старые и более новые декларации для той же модели.

  • Сохраните определенную версию модели и ее необходимых файлов в системе управления версиями.

Можно также просмотреть библиотеки и модели, на которые ссылается модель в графическом формате с помощью Средства просмотра Зависимости моделей. Смотрите Средство просмотра Зависимости моделей.

Сгенерируйте декларации

Генерация декларации выполняет анализ зависимостей и сохраняет список зависимостей моделей к файлу манифеста. Необходимо сгенерировать декларацию перед использованием любого из других Инструментов Декларации Simulink.

Примечание

Зависимости моделей, идентифицированные в декларации, зависят от опций Analysis Scope, которые вы задаете. Например, выполнение анализа, не выбор Find Library Links не может найти весь Simulink blocksets, которого требует ваша модель, потому что они часто включаются в модель как ссылки библиотеки. См. Явные Аналитические Опции Осциллографа.

Сгенерировать декларацию:

  1. На вкладке Modeling выберите Compare> Manifest> Generate Manifest.

    Диалоговое окно Generate Model Manifest появляется.

  2. Нажмите OK, чтобы сгенерировать декларацию и отчет с помощью настроек по умолчанию.

    Кроме того, можно сначала изменить следующие настройки:

    • Установите флажки Analysis scope, чтобы задать тип зависимостей, которые вы хотите обнаружить (см. Явные Аналитические Опции Осциллографа).

    • Управляйте, сообщить ли о местоположениях зависимости от файла путем выбора Report file dependency locations for:

      • User files only (значение по умолчанию) — только сообщите о местоположениях, где зависимости на пользовательские файлы. Используйте эту опцию, если вы хотите изучить взаимозависимости своего собственного кода и не заботитесь о местоположениях зависимостей от продуктов MathWorks®. Эта опция ускоряет создание отчета и оптимизировала отчет.

      • All files — сообщите обо всех местоположениях, где зависимости введены, включая все зависимости от Продуктов Mathworks. Это - самая медленная опция и самый многословный отчет. Используйте эту опцию, если необходимо проследить все зависимости, чтобы изучить, почему конкретный файл или тулбокс требуются моделью. Если необходимо анализировать много ссылок, может быть полезно отсортировать результаты путем нажатия на заголовки столбца отчета.

      • None — не сообщайте ни о каких местоположениях зависимости. Это - самая быстрая опция и самый оптимизированный отчет. Используйте эту опцию, если вы хотите обнаружить и группировать требуемые файлы и не запрашиваете всю информацию о ссылках на файл.

    • При желании измените Project Root Location. Если модель находится в проекте, можно выбрать Current project root folder. Другие опции флажка: Folder containing root model file (значение по умолчанию), Common root folder of required files или User-defined location — для этой опции, вводит путь в окно редактирования или обзор к местоположению.

    • При желании отредактируйте Manifest file name и местоположение, в котором можно сохранить файл.

    • Используйте флажок View HTML report on completion, чтобы задать, хотите ли вы сгенерировать отчет, когда вы генерируете декларацию. Можно отредактировать Report file name или оставить значение по умолчанию, mymodelname_manifest_report.html. Можно установить Report style на Plain HTML или HTML with Hyperlinks.

Когда вы нажимаете, OK Simulink генерирует файл манифеста, содержащий список зависимостей моделей. Если вы выбрали View HTML report on completion, Model Manifest Report появляется после того, как Simulink генерирует декларацию. Смотрите Использование Явный Отчет Модели для примера.

Декларация является XML-файлом с дополнительным .smf расположенный (по умолчанию) в той же папке как сама модель.

Явные аналитические опции осциллографа

Инструменты Декларации Simulink позволяют вам задавать осциллограф анализа при генерации декларации. Зависимости, идентифицированные анализом, зависят от осциллографа, который вы задаете.

Совет

Можно выбрать аналитические опции, которые выполняют Обновление Модели. Если сбои Обновления Модели вы видите сообщение об ошибке. Или очистите те аналитические опции, чтобы сгенерировать декларацию без Обновления Модели или попробовать ручное Обновление Модели, чтобы узнать больше о проблеме. Например, ваша сила модели требует переменных, которые не присутствуют в рабочей области (например, если параметры блоков задают переменную, которую вы забыли загружать вручную).

Следующая таблица описывает Аналитические опции Осциллографа.

Опция флажкаОписание
Find orphaned base workspace data (performs a Model Update)Поиски переменных базового рабочего пространства, которых требует модель, которые не заданы ни в каком файле в этой Декларации.
Find enumeration definition files (performs a Model Update)Поиски файлов определения перечисления. Включите эту опцию, чтобы обнаружить перечисленные типы данных, используемые в качестве части определения объекта шины.
Find and analyze model referencesПоиски Model блокируются в модели и идентифицируют любые модели, на которые ссылаются, как зависимости.
Find and analyze subsystem referencesПоиски подсистемы блокируются в модели и идентифицируют любые подсистемы, на которые ссылаются, как зависимости.
Find and analyze linked librariesПоиски ссылок на библиотечные блоки в модели, и идентифицируют любые ссылки библиотеки как зависимости.
Allow models with unsaved changes to be analyzedУстановите этот флажок, только если вы хотите позволить анализ несохраненных изменений.
Find requirements documents

Поиски документов требований соединили использование Requirements Management Interface. Обратите внимание на то, что ссылки требований, созданные с программным обеспечением IBM® Rational® DOORS®, не включены в декларации. Для получения дополнительной информации смотрите, Находят Документы Требований в Проекте.

Нажмите кнопку >> на праве показать следующие усовершенствованные аналитические варианты.

Find S-functions

Поиски S-Function блокируются в модели и идентифицируют S-файлы-функции (код MATLAB® и C) как зависимости. Смотрите элемент исходного кода в Особых случаях.
Analyze model and block callbacks (including Interpreted MATLAB Function blocks)Поиски зависимостей от файла, введенных кодом в блоках Interpreted MATLAB Function, блокируйте коллбэки и коллбэки модели. Для большего количества детали о том, как коллбэки анализируются, смотрите Анализ кода.
Find files required for code generationПоиски зависимостей от файла, введенных пользовательским кодом Simulink Coder™ и шаблонами Embedded Coder®. Если у вас нет продукта генерации кода, эта проверка прочь по умолчанию и производит предупреждение, если вы выбираете ее.
Это включает анализ всех конфигураций модели (не только Активный набор) и STF_make_rtw_hook функции, и определяют местоположение системных конечных файлов и Заменяющих файлов определения Библиотеки Кода (.m или .mat). См. также Необходимые Тулбоксы и элемент исходного кода в Особых случаях.
Find data files (e.g. in “From File” blocks)Поиски явным образом файлов справочных данных, таких как те в From File блокируется и идентифицирует те файлы как зависимости. Смотрите Особые случаи.
Analyze Stateflow chartsПоиски зависимостей от файла ввели при помощи синтаксиса, такого как ml.mymean(myvariable) в моделях то использование Stateflow®.
Analyze code in MATLAB Functions blocksПоиски MATLAB Function блокируются в модели и идентифицируют любые зависимости от файла (вне тулбоксов) введенный в коде. Зависимости от тулбокса, введенные блоком MATLAB Function, не обнаруживаются.
Analyze files in “user toolboxes”Поиски зависимостей от файла введены файлами в пользовательских тулбоксах. Смотрите Особые случаи.
Analyze MATLAB filesПоиски зависимостей от файла, введенных файлами MATLAB, называются из модели. Например, если эта опция выбрана, и у вас есть коллбэк к mycallback.m, затем файл, на который ссылаются, mycallback.m также анализируется для дальнейших зависимостей. Смотрите Анализ кода.
Store MATLAB code analysis warnings in manifestСохраняет любые предупреждения в декларации.

См. также Осциллограф Анализа зависимостей для получения дополнительной информации.

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

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

Чтобы программно проверять на зависимости от файла, используйте функциональный dependencies.fileDependencyAnalysis можно следующим образом.

[files, missing, depfile, manifestfile] = 
dependencies.fileDependencyAnalysis('modelname', 'manifestfile') 

Это возвращает следующее:

  • files — на массив ячеек из символьных векторов, содержащий полные пути всех существующих файлов, ссылается модель modelname.

  • missing — массив ячеек из символьных векторов, содержащий имена все файлы, на которые ссылается модель modelname, но не может быть найден.

  • depfile — возвращает полный путь пользовательских зависимостей (.smd) файл, если это существует, который хранит имена любых файлов вы вручную, добавил или исключил. Simulink использует .smd регистрируют, чтобы помнить ваши изменения в следующий раз, когда вы генерируете декларацию. См. Декларации Редактирования.

  • manifestfile — (дополнительный вход), задают имя файла манифеста, чтобы создать. Суффиксный .smf всегда добавляется к пользовательскому указанному имени.

    Если вы задаете дополнительный вход, manifestfile, затем команда создает файл манифеста с указанным именем и путем manifestfile. manifestfile может быть полный путь или только имя файла (в этом случае, файл создается в текущей папке).

Если вы пробуете этот анализ модели в качестве примера, он возвращает пустой список необходимых файлов, потому что стандартная установка MathWorks включает все файлы, требуемые для моделей в качестве примера.

Проверяйте зависимости от тулбокса

Чтобы проверять, какие тулбоксы требуются, используйте функциональный dependencies.toolboxDependencyAnalysis можно следующим образом:

[names,dirs] = dependencies.toolboxDependencyAnalysis(files_in)

files_in должен быть массивом ячеек из символьных векторов, содержащим .m или файлы модели на пути MATLAB. Имена модели Simulink (без расширения файла) также позволены.

Это возвращает следующее:

  • names — массив ячеек имен тулбокса требуется файлами в files_in.

  • dirs — массив ячеек папок тулбокса.

Примечание

Метод toolboxDependencyAnalysis ищет зависимости от тулбокса файлов в files_in но не анализирует последующих зависимостей.

Если вы хотите найти все обнаруживаемые зависимости от тулбокса своей модели и файлов, она зависит от:

  1. Вызовите fileDependencyAnalysis на вашей модели.

    Например:

    [files, missing, depfile, manifestfile] = dependencies.fileDependencyAnalysis('mymodel')
    files = 
        'C:\Work\manifest\foo.m'
        'C:\Work\manifest\mymodel'
    missing =
         []
    depfile =
         []
    manifestfile =
         []
    
  2. Вызовите toolboxDependencyAnalysis на files выход шага 1.

    Например:

    tbxes = dependencies.toolboxDependencyAnalysis(files)
    tbxes = 
    [1x24 char]    'MATLAB'    'Simulink Coder'    'Simulink'
    

    Чтобы просмотреть длинные названия продукта исследуют tbxes массив ячеек можно следующим образом:

    tbxes{:}
    
    ans =
    Image Processing Toolbox
    
    ans =
    MATLAB
    
    ans =
    Simulink Coder
    
    ans =
    
    Simulink

Для анализа зависимостей командной строки анализ использует настройки по умолчанию в аналитическом осциллографе, чтобы определить требуемые тулбоксы. Например, если у вас есть продукты генерации кода, затем проверка, Find files required for code generation включен по умолчанию, и о Simulink Coder всегда сообщают как требуется. Смотрите Необходимые Тулбоксы для большего количества примеров того, как ваши установленные продукты и аналитические настройки осциллографа могут влиять на требования тулбокса, о которых сообщают.

Отредактируйте декларации

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

Отредактировать список необходимых файлов в декларации:

  1. На вкладке Modeling выберите Compare> Manifest> Edit Manifest.

    В качестве альтернативы, если вы просматриваете явный отчет, можно нажать Edit в главном поле Actions, или можно нажать View and Edit Manifest в диалоговом окне Export Manifest.

    Диалоговое окно View и Edit Manifest появляется, показывая последнюю декларацию для текущей модели.

    Примечание

    Можно открыть различную декларацию путем нажатия на Browse для кнопки файла манифеста. Если вы не сгенерировали декларацию, выберите Generate Manifest, чтобы открыть диалоговое окно Generate Model Manifest (см., Генерируют Декларации).

  2. Исследуйте список Files to be exported на левой стороне диалогового окна. Этот список показывает файлы, идентифицированные как зависимости.

  3. Добавить файл в декларацию:

    1. Нажмите Add Files.

      Диалоговое окно Add Files to Manifest открывается.

    2. Выберите файл, который вы хотите добавить, затем нажать Open.

      Выбранный файл добавляется к списку Files to be exported.

  4. Удалить файл из декларации:

    1. Выберите файл, который вы хотите удалить из списка Files to be exported.

    2. Нажмите Exclude нажал кнопку файлов.

      Выбранный файл перемещен в список Excluded files.

      Примечание

      Если вы добавляете файл в декларацию и затем исключаете ее, тот файл удален из диалогового окна (она не добавляется к списку Excluded files). Только файлы, обнаруженные Инструментами Декларации Simulink, включены в Исключенный список файлов.

  5. При желании измените Project Root Location.

  6. Нажмите Save, чтобы сохранить ваши изменения в файле манифеста.

    Simulink сохраняет декларацию (.smf) файл, и создает пользователя зависимости (.smd) файл, который хранит имена любых файлов вы вручную, добавил или исключил. Simulink использует .smd регистрируют, чтобы помнить ваши изменения в следующий раз, когда вы генерируете декларацию, таким образом, вы не должны повторять ручное редактирование. Например, вы можете хотеть исключить исходный код или включать документ авторского права каждый раз, когда вы генерируете декларацию для экспорта в клиента. Пользовательские зависимости (.smd) файл имеет то же имя и папку как модель. По умолчанию, пользовательские зависимости (.smd) файл также включен в декларацию.

    Примечание

    Если пользовательские зависимости (.smd) файл только для чтения, предупреждение выведено, когда вы сохраняете декларацию.

  7. Чтобы просмотреть Явный Отчет Модели для обновленной декларации, нажмите Show Report.

    Обновленный Явный Отчет Модели появляется, перечисляя необходимые файлы и тулбоксы и детали ссылок на другие файлы. Смотрите Использование Явный Отчет Модели для примера.

  8. Когда вы будете закончены, редактируя декларацию, нажмите OK.

Сравните декларации

Можно сравнить две декларации, чтобы видеть, как список зависимостей моделей отличается между двумя моделями, или между двумя версиями той же модели. Можно также сравнить декларацию с папкой или zip-файл.

Сравнить декларации:

  1. От Браузера текущей папки щелкните правой кнопкой по файлу манифеста и выберите Compare Against> Choose.

    В качестве альтернативы из вашей модели, на вкладке Modeling, выбирают Compare> Manifest> Compare Manifests.

    Диалоговое окно Select Files или Folders for Comparison появляется.

  2. В диалоговом окне Select Files или Folders for Comparison выберите файлы, чтобы выдержать сравнение, и тип сравнения.

    1. Используйте выпадающие списки или обзор, чтобы выбрать файлы манифеста, чтобы выдержать сравнение.

    2. Выберите Comparison type. Для двух деклараций можно выбрать:

      • Simulink manifest comparison — Выберите для сравнения списка файлов манифеста, сообщающего о новых, удаленных, и измененных файлах. Отчет содержит ссылки, чтобы открыть файлы и сравнить файлы, которые отличаются. Можно использовать подобный файл List comparison для сравнения декларации к папке или zip-файла.

      • Simulink manifest comparison (printable) — Выберите для печатаемого Явного Отчета Различий Модели без ссылок. Отчет предоставляет подробную информацию о каждом файле манифеста и перечисляет различия между файлами.

  3. Просмотрите отчет в Инструменте Сравнения, сравнивающем имена файлов, даты и размеры, сохраненные в декларациях.

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

    Для получения дополнительной информации об Инструменте Сравнения смотрите, Сравнивают Файлы и Папки и Файлы Слияния (MATLAB) в документации управления данными и управления файлами MATLAB.

Экспортируйте файлы в декларации

Можно экспортировать копии файлов, перечисленных в декларации к zip-файлу. Экспорт файлов позволяет вам группировать модель со своими необходимыми файлами в один zip-файл, таким образом, можно легко отправить его другому пользователю или сохранить его в системе управления версиями.

Экспортировать вашу модель с ее необходимыми файлами:

  1. На вкладке Modeling выберите Compare> Manifest> Export Files in Manifest.

    В качестве альтернативы, если вы просматриваете явный отчет, можно нажать Export в главном поле Actions.

    Диалоговое окно Export Files in Manifest появляется, показывая последнюю декларацию для текущей модели.

    Примечание

    Можно экспортировать различную декларацию путем нажатия на Browse для кнопки файла манифеста. Если вы не сгенерировали декларацию, выберите Generate Manifest, чтобы открыть диалоговое окно Generate Model Manifest (см., Генерируют Декларации).

  2. Если вы хотите просмотреть или отредактировать декларацию прежде, чем экспортировать его, нажмите View and Edit Manifest, чтобы просмотреть или изменить список необходимых файлов. См. Декларации Редактирования. Когда вы закрываете диалоговое окно View и Edit Manifest, вы возвращаетесь к диалоговому окну Export Files in Manifest.

  3. Нажмите Validate, чтобы проверять декларацию. Валидация сообщает информацию о возможных проблемах, таких как недостающие файлы, предупреждения и осиротевшие данные о базовом рабочем пространстве.

  4. Введите имя zip-файла, в которое вы хотите экспортировать модель.

  5. Выберите Preserve folder hierarchy when exporting, если вы хотите сохранить структуру папок для своей экспортируемой модели и файлов. Затем выберите корневую папку, чтобы использовать в этой структуре (обычно то же самое как Project Root Location на диалоговом окне Generate Manifest).

    Примечание

    Необходимо выбрать Preserve folder hierarchy, если вы экспортируете модель, которая использует .m файл в классе MATLAB (чтобы обеспечить структуру папок класса), или если модель относится к файлам в других папках (чтобы гарантировать экспортируемые файлы обеспечивают те же относительные пути).

  6. Нажмите OK.

    Модель и ее зависимости от файла экспортируются в заданный zip-файл.

Осциллограф анализа зависимостей

Инструменты Декларации Simulink идентифицируют требуемые файлы и перечисляют их в XML-файле, названном manifest. Когда Simulink генерирует файл манифеста, он выполняет статический анализ на вашей модели, что означает, что модель не должна быть способна к выполнению “операции” схемы обновления (см. Симуляцию Схемы и Запуска Обновления). Единственное исключение к этому - когда вы выбираете аналитическую опцию Find orphaned base workspace data (performs a Model Update).

Можно задать тип зависимостей, которые вы хотите обнаружить, когда вы генерируете декларацию. См. Явные Аналитические Опции Осциллографа.

Для получения дополнительной информации о том, что анализирует инструмент, обратитесь к следующим разделам:

Аналитические ограничения

Анализ не может найти, что все файлы, требуемые вашей моделью (для примеров, видят Анализ кода).

Анализ не может сообщить об определенном blocksets или тулбоксах, требуемых моделью. Необходимо знать об этом ограничении при отправке модели другому пользователю. Blocksets, которые не вводят зависимость ни от каких файлов (таких как Fixed-Point Designer™) не могут быть обнаружены. Некоторые блоки SimEvents® не вводят обнаруживаемую зависимость от SimEvents.

Чтобы включать зависимости, которые не может обнаружить анализ, можно добавить дополнительные зависимости от файла в файл манифеста с помощью опции Содержимого Декларации Представления/Редактирования (см. Декларации Редактирования).

Анализ кода

Когда анализ зависимостей Simulink сталкивается с кодом MATLAB, например, в модели или коллбэке блока, или в .m S-функция файла, анализ пытается идентифицировать файлы, на которые это ссылается. Если те файлы содержат код MATLAB и аналитическую опцию осциллографа, Analyze MATLAB files выбран, файлы, на которые ссылаются, также анализируются. Эта функция похожа на matlab.codetools.requiredFilesAndProducts но с некоторыми улучшениями:

  • Векторы символов передали в вызовы evalevalc, и evalin анализируются.

  • Имена файлов передали loadfopenxlsreadimportdatadlmread, и imread идентифицированы.

Файлы, которые находятся в тулбоксах MathWorks, не анализируются.

Имена файлов передали load, и т.д., идентифицированы, только если они - векторы буквенного символа, например:

load('mydatafile')
load mydatafile
Если вы задаете имя файла как переменную и передачу, что к функции, файл является скрытой зависимостью. Следующий пример и что-либо более сложное, не идентифицируют зависимость, потому что имя файла в переменной:
str = 'mydatafile';
load(str);
Точно так же аргументы к eval, и т.д., анализируются, только если они - векторы буквенного символа.

Анализ зависимостей Simulink смотрит в MAT-файлах, чтобы найти, что имена переменных загружаются. Это позволяет им различать надежно имена переменных и имена функций в коллбэках блока.

Если модель зависит от файла для который оба .m и .p файлы существуют, затем декларация сообщает об обоих, и, если опция Analyze MATLAB files выбрана, .m файл анализируется.

Особые случаи

Следующий список содержит больше информации о конкретных случаях:

  • Если ваши модели - ссылки класс данных, созданный с помощью синтаксиса MATLAB, например, названного MyPackage.MyClass, все файлы в папке MyPackage и его подпапки добавляются к декларации.

    Предупреждение

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

  • Пользовательский тулбокс должен иметь правильно сконфигурированный Contents.m файл. Инструменты Декларации Simulink ищут пользовательские тулбоксы можно следующим образом:

    • Если у вас есть Contents.m файл в папке X, любой файл в подпапке X рассматривается частью вашего тулбокса.

    • Если у вас есть Contents.m файл в папке X/X, любой файл во всех подпапках “внешней” папки X рассматривается частью вашего тулбокса.

      Для получения дополнительной информации о формате Contents.m файл, смотрите ver.

  • Если ваши S-функции требуют файлов TLC, они обнаруживаются.

  • Если у вас есть Simscape™, ваши компоненты Simscape анализируются. См. также Необходимые Тулбоксы для других эффектов ваших установленных продуктов на декларациях.

  • Если вы создаете пользовательский интерфейс с помощью GUIDE и добавляете это в коллбэк модели, то анализ зависимостей обнаруживает .m и .fig зависимости от файла.

  • Если у вас есть зависимость от исходного кода, такого как .cH файлы, эти файлы не анализируются вообще, чтобы найти любые файлы, от которых они зависят. Например, последующий #include вызовы в .h файлы не обнаруживаются. Чтобы сделать такие файлы обнаруживаемыми, можно добавить их как зависимые файлы к разделу "заголовочного файла" панели Пользовательского кода раздела Simulink Coder диалогового окна Configuration Parameters (или задать их с rtwmakecfg). В качестве альтернативы, чтобы включать зависимости, которые не может обнаружить анализ, можно добавить дополнительные зависимости от файла в файл манифеста с помощью опции Содержимого Декларации Представления/Редактирования (см. Декларации Редактирования).

  • Различный blocksets и тулбоксы могут ввести зависимость от файла через их дополнительные исходные блоки. Если аналитическая опция осциллографа, Find data files (e.g. in “From File” blocks) выбран, анализ, обнаруживает зависимости от файла, введенные следующими блоками:

    ПродуктБлоки
    DSP System Toolbox™

    Блок From Wave File (Obsolete) (только операционная система Microsoft® Windows®)

    Блок From Multimedia File (только Windows)

    Computer Vision Toolbox™

    Блок Image From File

    Блок Read Binary File

    Simulink 3D Animation™Блок VR Sink

    Опция Find data files также обнаруживает зависимости, введенные путем установки "Рабочего пространства модели" для модели к любому MAT-File или MATLAB Code, и зависимости моделей заданы на Модели, Ссылающейся на панель диалогового окна Configuration Parameters.

Лучшые практики для анализа зависимостей

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

load mydatafile
load('my_other_data_file.mat')
Таким образом, Инструменты Декларации Simulink могут добавить их в декларацию. Для большего количества детали об анализе коллбэка см. примечания по анализу кода (см. Анализ кода).

В более общем плане гарантируйте, что модель создает или загружает любые переменные, которые она использует, или в коллбэках модели или в скриптах, названных от коллбэков модели. Это уменьшает возможность Инструментов Декларации Simulink, путающих имена переменных с именами функций при анализе коллбэков блока.

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

load C:\mymodel\mydata\mydatafile.mat 
Абсолютные пути могут стать недопустимыми, когда вы экспортируете модель в другую машину. При обращении к файлам в других папках сделайте это относительным путем, например:
load mydata\mydatafile.mat
Выберите Preserve folder hierarchy при экспорте, так, чтобы экспортируемые файлы были в тех же местоположениях друг относительно друга. Кроме того, выберите корневую папку так, чтобы все файлы, перечисленные в декларации, были в ней. В противном случае любые файлы вне корня копируются в новую папку под названием external под корнем и относительными путями к тем файлам становятся недопустимыми.

Если вы экспортируете модель, которая использует .m файл в классе MATLAB (в папке под названием @myclass, например), необходимо установить флажок Preserve folder hierarchy при экспорте, чтобы обеспечить структуру папок класса.

Всегда тестируйте экспортируемые zip-файлы путем извлечения содержимого к новому местоположению на компьютере и тестирования модели. Следует иметь в виду, что в некоторых случаях необходимые файлы могут быть на вашем пути, но не в zip-файле, если ваш путь содержит ссылки на папки кроме тулбоксов MathWorks.

Используйте явный отчет модели

Сообщите о разделах

Если вы выбрали View HTML report on completion в диалоговом окне Generate Model Manifest, Явный Отчет Модели появляется после того, как Simulink генерирует декларацию. Отчет показывает:

  • Аналитическая дата

  • Панель Actions — Обеспечивает ссылки, чтобы регенерировать, отредактировать, или сравнить декларацию и экспортировать файлы в декларации к zip-файлу.

  • Model Reference and Library Link Hierarchy — Ссылки можно щелкнуть, чтобы открыть модели.

  • Files used by this model — Необходимые файлы, с путями относительно projectroot.

    Можно отсортировать результаты путем нажатия на заголовки столбца отчета.

  • Toolboxes required by this model. Для получения дополнительной информации смотрите Необходимые Тулбоксы.

  • References in this model — Этот раздел предоставляет подробную информацию ссылок на другие файлы, таким образом, можно идентифицировать, где зависимости возникают. Вы управляете осциллографом этого раздела с опциями Report file dependency locations на диалоговом окне Generate Manifest. Можно принять решение включать ссылки на пользовательские файлы только, все файлы или никакие файлы. Смотрите Генерируют Декларации. Используйте этот раздел отчета проследить зависимости, чтобы изучить, почему конкретный файл или тулбокс требуются моделью. Если необходимо анализировать много ссылок, может быть полезно отсортировать результаты путем нажатия на заголовки столбца отчета.

  • Folders referenced by this model

  • Orphaned base workspace variables — Если вы выбрали аналитическую опцию Find orphaned base workspace data, этот раздел сообщает о любых переменных базового рабочего пространства, модель требует, чтобы не были заданы в файле в этой декларации.

  • Warnings generated while analyzing MATLAB code — Можно выбрать из этого раздела путем очистки аналитической опции Store MATLAB code analysis warnings in manifest.

  • Dependency analysis settings — Записывает детали аналитических опций осциллографа.

Смотрите примеры, показанные в Отчете Декларации Модели В качестве примера.

Необходимые тулбоксы

В отчете раздел “Toolboxes required by this model” перечисляет все продукты, требуемые моделью, которую может обнаружить анализ. Следует иметь в виду, что анализ не может сообщить об определенном blocksets или тулбоксах, требуемых моделью, например, blocksets, которые не вводят зависимость ни от каких файлов (таких как Fixed-Point Designer), не может быть обнаружен. Некоторые файлы MathWorks под тулбоксом / разделяемый могут сообщить только о требующем MATLAB вместо своего связанного тулбокса.

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

  • Если вы имеете продукты генерации кода и выбираете опцию осциллографа “Find files required for code generation”, то:

    • О программном обеспечении Simulink Coder всегда сообщают как требуется.

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

  • Если вы очищаете опцию Find library links, то анализ не может найти зависимость от, например, someBlockSet, и таким образом, ни о какой зависимости не сообщают относительно набора блока.

  • Если вы очищаете опцию Analyze MATLAB files, то анализ не может найти зависимость от fuzzy.m, и таким образом, ни о какой зависимости не сообщают относительно Fuzzy Logic Toolbox™.

Отчет декларации модели в качестве примера

Необходимо всегда проверять раздел Dependency analysis settings в Явный Отчет Модели видеть, что осциллограф аналитических настроек раньше генерировал его.

Следующее является фрагментами демонстрационного отчета.

Похожие темы