Этот пример показывает вам, как использовать 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
, дважды кликните ManeuversGUI
Блок Signal Builder. Этот блок производит два сигнала, представляющие дроссель и историю тормоза, который другие блоки в процессе модели вычислить скорость транспортного средства и механизм. В диалоговом окне 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.