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

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

Настройка файлов примера и открытие проекта

1. Запустите следующие команды, чтобы создать и открыть рабочую копию «sldemo_slproject_airframe» примера.

sldemo_slproject_airframe;
Building with 'MinGW64 Compiler (C)'.
MEX completed successfully.

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

Выбор пользовательской задачи

2. Нажмите кнопку Custom Task в разделе Tools на вкладке project toolstrip.

Вы задаете пользовательскую задачу с функцией MATLAB ®. Пример проекта Airframe содержит пример пользовательских задач в папке custom_tasks.

3. В меню «Custom Task» перечислены доступные пользовательские задачи.

Чтобы просмотреть, отредактировать и создать пользовательские задачи, щелкните Пользовательские задачи > Управление Пользовательскими задачами в разделе Сервис на вкладке панели инструментов Project.

4. Выберите пользовательскую задачу 'Analyze Файлы'.

Имя функции выбранной пользовательской задачи появится в поле редактирования «Custom task». Пример analyzeModelFiles добавляет метку из категории «Metrics» к каждому файлу модели в проекте. Метки этой категории имеют числовые данные. Пользовательская задача будет подсчитывать количество блоков в каждой модели и присоединять это количество к метке.

Выберите файлы для включения в пользовательскую задачу

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

Выполнение пользовательской задачи

6. Нажмите кнопку Run Task в правом нижнем углу диалогового окна Custom Task.

Результаты для выбранного файла также отображаются на панели Результаты в нижней части диалогового окна. Это может быть полезно, когда возвращенные результаты являются длинными или содержат HTML разметки.

В следующем примере показано диалоговое окно после запуска пользовательской задачи на некоторых моделях. Можно настроить столбцы для отображения с помощью значка «cog» Кнопка Действия в верхней части.

Изменение существующей пользовательской задачи

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

7. Запустите следующий код MATLAB, чтобы создать категорию Metrics и метку Block Count в проекте.

project = currentProject;
category = createCategory(project, 'Metrics', 'double');

8. Дважды кликните analyzeModelFiles.m (или щелкните правой кнопкой мыши и выберите Open), чтобы отредактировать его в редакторе MATLAB.

9. Сразу после команды sprintf добавить следующие линии:

[~, compileStats] = sldiagnostics(name, 'CompileStats');
addLabel(projectFile, 'Metrics', 'CPU Compile Time', sum([compileStats.Statistics.CPUTime]));

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

Если вы перезапускаете пользовательскую задачу, она добавляет метку CPU Compile Time к каждому файлу модели, который может быть скомпилирован, и присоединяет данные к метке, показывающей общее время для всех фаз компиляции для модели. Модели, которые не могут быть скомпилированы, показывают «Failed to analyze file» в Пользовательском отчете о задачах, и детали отображаются как предупреждение в командном окне. Исследуйте пользовательскую задачу analyzeModelFiles.m, чтобы увидеть, как обрабатывать ошибки.

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

Создание новой пользовательской задачи

Создайте новую пользовательскую задачу путем создания новой функции MATLAB. Пользовательские задачи должны:

  • Быть сохраненным на пути MATLAB.

  • Примите один входной параметр: полный путь к файлу.

  • Возвращает один выходной аргумент.

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

10. Нажмите «Добавить» и выберите элемент меню «Добавить используя новый скрипт».

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

11. Укажите имя файла и сохраните файл в папке custom _ tasks проекта.

Редактор MATLAB открывает файл, предварительно заполненный простой пример пользовательской задачи.

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

Дополнительная информация

Управление проектами