В этом примере показано, как применить пользовательскую задачу к набору файлов, управляемых проектом. Пример пользовательской задачи анализирует модели 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. Чтобы создать новую пользовательскую задачу, отредактируйте содержимое примера функции пользовательской задачи и сохраните.