Этот пример показывает вам, как использовать Simulink® Report Generator™, чтобы настроить отчет Описания Разработки системы для модели. Версия по умолчанию отчета предоставляет информацию о разработке системы, представленной моделью Simulink. Можно адаптировать отчет удовлетворить потребности.
Этот пример показывает вам, как настроить отчет под названием Описание Разработки системы. Продукт Simulink Report Generator автоматически создает версию по умолчанию этого отчета из модели Simulink, что вы выбираете. Однако можно сгенерировать настроенную версию этого отчета - например, чтобы придерживаться стандартов документации организации.
Этот пример принимает, что вы завершили предыдущую индивидуальную настройку, описанную в "Настройке Отчета Описания Разработки системы: Часть III". В предыдущем примере вы настроили Описание Разработки системы путем добавления новых компонентов в шаблон отчета. Этот пример вводит вас еще нескольким компонентам. В частности, вы добавите компоненты, которые неоднократно моделируют модель, каждый раз с помощью новых сигналов, которые производят различные результаты симуляции. Вы получите все результаты нескольких выполнений симуляции для включения в отчет.
Можно настроить Описание Разработки системы для модели Simulink в качестве примера, sldemo_autotrans
, который представляет автомобильную ходовую часть. Чтобы открыть модель в качестве примера, запустите следующую команду:
open_system('sldemo_autotrans')
Из меню Tools модели Simulink выберите Report Generator.
Графический интерфейс пользователя Report Explorer открывается.
В Report Explorer, открытом пользовательский шаблон, который вы создали в предыдущем примере, "Настроив Отчет Описания Разработки системы: Часть III".
Для вашего удобства обеспечивается версия пользовательского шаблона. Чтобы открыть шаблон в Report Explorer, запустите следующую команду:
setedit(fullfile(matlabroot, 'toolbox', 'rptgenext', 'rptgenextdemos', 'sdd', 'html', 'sdd_images', 'sdd_customize_part_iv', 'sdd_custom_simresults.rpt'))
ManeuversGUI
в моделиВ модели Simulink sldemo_autotrans
дважды кликните блок Signal Builder ManeuversGUI
. Этот блок производит два сигнала, представляющие дроссель и историю тормоза, который другие блоки в образцовом процессе вычислить скорость автомобиля и механизм. В диалоговом окне Signal Builder четыре различных группы сигнала присутствуют, каждый представляющий различный ведущий маневр. В диалоговом окне кликните по вкладке, чтобы активировать сигналы, сопоставленные конкретной группой. Моделируйте модель. Каждая группа производит различные результаты симуляции.
В предыдущем примере, "Настраивая Отчет Описания Разработки системы: Часть III", вы настроили Описание Разработки системы путем добавления новой главы с результатами, которые отображает блок Scope. Этот пример показывает вам, как получить и включать результаты симуляции, сопоставленные с каждой из групп сигнала в блоке ManeuversGUI
.
Количество групп сигнала в блоке Signal Builder определяет, сколько выполнений симуляции необходимо, чтобы получить каждый набор результатов. MATLAB и функции Simulink позволяют вам вычислить этот номер автоматически. Во время отчета процесс генерации использует компонент Evaluate MATLAB Expression
, чтобы вызвать те команды, которые вычисляют количество групп сигнала.
В панели иерархии Report Explorer выберите компонент Model Loop
, который вы добавили в предыдущем примере, чтобы сохранить результаты симуляции. Из списка компонентов в центральной панели выберите компонент Evaluate MATLAB Expression
. В правой панели нажмите компонент Add к текущей кнопке отчета.
Report Explorer вставляет компонент Evaluate MATLAB Expression
как первый элемент компонента Model Loop
. В иерархии выберите новый компонент Eval
; в панели свойств Report Explorer задайте ее Выражение, чтобы оценить в свойстве базового рабочего пространства можно следующим образом:
[t, y, labels, groups] = signalbuilder([gcs '/ManeuversGUI']); numGroups = length(groups);
Очистите Вставку выражение MATLAB во флажке отчета так, чтобы команды не появлялись в вашем отчете.
Компонент Evaluate MATLAB Expression
, который вы добавили на предыдущем шаге, вычисляет переменную numGroups
, которая указывает, что количество симуляции запускается необходимый, чтобы получить каждый набор результатов. Можно использовать эту переменную в сочетании с компонентом For Loop
, чтобы повторить задачи итеративно во время процесса генерации отчета. В этом случае задачи, которые будут повторены, включают симуляцию модели и взятие снимка состояния блока Scope.
Добавьте компонент For Loop
в главу, которая содержит ваши результаты симуляции. В панели иерархии Report Explorer выберите компонент Evaluate MATLAB Expression
, который вы добавили ранее. Из списка компонентов в центральной панели выберите компонент For Loop
. В правой панели нажмите компонент Add к текущей кнопке отчета.
Report Explorer вставляет новый компонент For Loop
после компонента Eval
в главе. Поскольку компонент For Loop
выполняет только свои дочерние компоненты итеративно, необходимо отрегулировать иерархическое положение компонентов в этой главе. Используйте кнопки стрелки на панели инструментов Report Explorer, чтобы переместить Paragraph
, Model Simulation
и компоненты Scope Snapshot
в иерархии так, чтобы они были дочерними элементами компонента For Loop
. Иерархия компонентов для этой главы должна появиться можно следующим образом:
В иерархии выберите компонент For Loop
; в панели свойств Report Explorer задайте свойство End компонента как %<numGroups>
. (Обозначение %<...>
позволяет вам сослаться на значение переменной из основного рабочего пространства MATLAB.) Кроме того, измените свойство Имени переменной от значения по умолчанию, RPTGEN_LOOP
, к i
.
Ранее вы добавляли компонент Evaluate MATLAB Expression
в главу, чтобы определить количество групп сигнала в блоке ManeuversGUI
. Вставьте другой компонент Evaluate MATLAB Expression
, чтобы вызвать функцию Simulink, которая изменяет активную группу сигнала в блоке ManeuversGUI
.
В панели иерархии Report Explorer выберите компонент For Loop
. Из списка компонентов в центральной панели выберите компонент Evaluate MATLAB Expression
. В правой панели нажмите компонент Add к текущей кнопке отчета.
Report Explorer вставляет новый компонент Evaluate MATLAB Expression
как первый дочерний элемент компонента For Loop
в главе. В иерархии выберите новый компонент Eval
; в панели свойств Report Explorer задайте Выражение компонента, чтобы оценить в свойстве базового рабочего пространства можно следующим образом:
signalbuilder([gcs '/ManeuversGUI'], 'activegroup', i)
Очистите Вставку выражение MATLAB во флажке отчета так, чтобы команда не появлялась в вашем отчете. Кроме того, очистите окно Команды отображения вывод во флажке отчета так, чтобы дополнительный, ненужный текст не появлялся в вашем отчете.
Текст абзаца, который вы добавили в предыдущем примере, не предоставляет значимое описание истории дросселя/тормоза что образцовое использование, чтобы вычислить результаты симуляции. Можно включать лучшее описание в отчет. В блоке ManeuversGUI
сошлитесь на метки группы сигнала.
В иерархии Report Explorer выберите компонент Paragraph
. Замените его Текст абзаца на следующее:
Simulation Run %<i>: %<groups{i}>
Синтаксис %<...>
позволяет вам сослаться на значение переменной из основного рабочего пространства MATLAB. Переменная i
представляет итератор, сопоставленный с компонентом For Loop
. Кроме того, мы ссылаемся и индексируем в переменную groups
, которую генерирует первый компонент Evaluate MATLAB Expression
.
На панели инструментов Report Explorer нажмите кнопку Report. Когда отчет завершен, приложение, сопоставленное с заданным форматом отчета, отображает индивидуально настраиваемое Описание Разработки системы. Последняя глава содержит несколько результатов симуляции от различных групп сигнала в блоке ManeuversGUI
.
Из меню Report Explorer File выберите Save As. Задайте местоположение и имя файла для вашего шаблона пользовательского отчета. Путем сохранения пользовательского шаблона можно получить доступ и снова использовать его. Например, можно применить пользовательский шаблон к другим моделям Simulink, чтобы создать отчеты, которые имеют ту же структуру и формат.
Чтобы узнать больше о свойствах компонентов, которые вы используете в этом фрагменте примера, обратитесь к Выполнять страницам с описанием Выражения и Цикла for MATLAB в документации MATLAB Report Generator. Для получения дополнительной информации о блоке Signal Builder, смотрите его страницу с описанием в документации Simulink.