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

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

Подготовка файлов в качестве примера и вводного проекта

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

Simulink.ModelManagement.Project.projectDemo('airframe');
rebuild_s_functions('no_progress_dialog');
Building with 'gcc'.
MEX completed successfully.

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

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

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

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

3. "Пользовательская Задача" списки меню доступные пользовательские задачи.

Чтобы просмотреть, отредактируйте, и создайте пользовательские задачи, нажмите Custom Tasks> Manage Custom Tasks в разделе Tools вкладки панели инструментов Проекта.

4. Выберите 'Analyze Model Files' пользовательская задача.

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

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

5. В диалоговом окне Custom Task проверьте, что все файлы модели установили флажки во Включать столбце.

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

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

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

Следующий пример показывает диалоговое окно после выполнения пользовательской задачи на некоторых моделях. Можно настроить столбцы, чтобы показать с кнопкой Actions значка "винтика" в правом верхнем.

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

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

7. Запустите следующий код MATLAB, чтобы создать Метрическую категорию и метку 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 в каждый файл модели, который может быть скомпилирован и присоединяет данные к метке, показывающей общее время для всех фаз компиляции для модели. Модели, которые не могут быть скомпилированы, показывают "Отказавший, чтобы анализировать файл" в Пользовательском Отчете Задачи и отображении деталей как предупреждение в командном окне. Исследуйте пользовательскую задачу analyzeModelFiles.m, чтобы видеть, как обработать ошибки.

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

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

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

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

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

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

Чтобы создать пользовательские задачи, нажмите Custom Tasks> Manage Custom Tasks в разделе Tools вкладки панели инструментов проекта. В диалоговом окне Manage Custom Tasks нажмите Add, чтобы открыть новый файл с инструкциями, которые ведут вас, чтобы создать пользовательскую задачу с правильной функциональной подписью.

10. Нажмите "Add" и выберите пункт меню "Add Using New Script".

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

11. Обеспечьте имя файла и сохраните файл в 'custom_tasks' папке в рамках проекта.

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

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

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

Проектная документация