Создайте отчет Simulink Report Generator в интерактивном режиме

Этот пример показывает, как использовать Report Explorer, чтобы разработать файл настройки отчета и сгенерировать отчет, который делает следующее:

  • Открывает модель Simulink® для уравнения Ван дер Поля, названного моделью vdp.

  • Устанавливает параметр Gain для блока Му к пяти различным значениям.

  • Моделирует модель каждый раз, когда параметр Gain устанавливается.

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

Вы не должны знать, что MATLAB® или программное обеспечение Simulink создают и запускают этот отчет в качестве примера. Однако знание этих продуктов поможет вам понять код MATLAB и симуляцию модели, которая выполняется.

Чтобы создать этот отчет, вы выполняете эти основные задачи:

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

Примечание

Для другого набора постепенных примеров для создания и генерации отчета, смотрите Введение в пример Отчетов Описания Разработки системы.

Задайте опции отчета в файле настройки

Создать и сконфигурировать файл настройки отчета:

  1. Запустите сеанс программного обеспечения Simulink.

  2. Откройте Report Explorer. От Панели инструментов MATLAB, во вкладке Apps, в разделе Database Connectivity and Reporting, нажимают Report Generator.

  3. Выберите File> New, чтобы создать файл настройки отчета.

  4. Сохраните файл настройки отчета.

    В панели Свойств:

    1. Задайте, где сохранить файл настройки отчета. Чтобы сохранить его в текущей рабочей папке, выберите Present Working Directory из списка выбора Directory.

    2. Задайте формат отчета. В списке выбора File format выберите Acrobat (PDF).

      Совет

      В ваших отчетах, если вы хотите включать гиперссылки в системные снимки состояния, формат файла Direct PDF (from template) использования.

    3. Введите описание для отчета. В текстовом поле Report description замените существующее содержимое на следующий текст.

      Совет

      Скопируйте и вставьте этот код из документации HTML в Report Explorer.

      Simulink Dynamic Report
      
      This report opens up a model, sets a block parameter 
      several times, simulates the model, and collects the
      results. Results that fall within a specified range are 
      displayed in a table after the test is complete.
      
      The report is configured to test the vdp model only.
      By selecting the Eval String component immediately 
      below the Report component, you can modify
      * model
      * block
      * parameter
      * tested values
  5. Нажмите File> Save As, чтобы сохранить файл настройки отчета как simulink_tutorial.rpt.

    Панель Схемы на левых отображениях новое имя файла.

Чтобы создать содержимое для отчета, смотрите, Добавляет Содержимое Отчета с Компонентами.

Добавьте содержимое отчета с компонентами

Сообщите о компонентах

Сообщите, что components задает что информацию включать в отчет. Компоненты являются автономными, модульный MATLAB возражает, что управляют процессом генерации отчета и вставляют элементы, такие как таблицы, списки и фигуры, в файл настройки отчета. Используйте компоненты, чтобы настроить внешний вид и вывод отчетов.

Для получения дополнительной информации смотрите Компоненты Отчета.

Следующие данные показывают демонстрационную страницу из отчета, который вы создаете в этом примере, и какие компоненты вы используете, чтобы произвести этот вывод.

Примечание

Не деактивируйте компоненты отчета, которые вы добавляете в файл настройки отчета.

Добавьте код MATLAB

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Первый компонент, который добавит, является компонентом Evaluate MATLAB Expression, который оценивает команды MATLAB в рабочей области. Код в этом компоненте присваивает начальные значения переменным, используемым в этом примере.

  1. В панели Схемы слева, выберите simulink_tutorial.rpt.

  2. В панели Библиотеки в середине, под категорией MATLAB, выбирают Evaluate MATLAB Expression.

  3. В панели Свойств справа, кликните по значку рядом с Add component to current report, чтобы вставить компонент в отчет.

    Примечание

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

    В панели Схемы слева, компонент Evaluate MATLAB Expression появляется под simulink_tutorial, сообщает файл настройки. Программное обеспечение Simulink Report Generator™ сокращает имя компонента до Eval.

    Значок в левом верхнем углу значка компонента Eval указывает, что этот компонент не может иметь дочерних компонентов. По умолчанию любые компоненты, которые вы добавляете, в то время как компонент Eval выбран, являются одноуровневыми элементами этого компонента.

    Опции для компонента Evaluate MATLAB Expression появляются в панели Свойств справа.

  4. Очистите Insert MATLAB expression in report и флажки Display command window output in report, таким образом, вы не включаете код MATLAB или вывод в этом отчете.

  5. Добавьте код MATLAB в текстовое поле Expression to evaluate in the base workspace, чтобы задать следующие значения:

    • Имя модели

    • Имя блока

    • Параметры блоков

    • Значения параметров

    • Другие начальные значения, требуемые для обработки vdp модели

    Замените существующий текст на следующий код MATLAB.

    %The name of the model
    %that will be changed
    expModel='vdp';
    
    %The name of the block in the model
    %that will be changed
    expBlock='vdp/Mu';
    
    %The name of the block parameter
    %that will be changed
    expParam='Gain';
    
    %The values that will be set
    %during experimentation
    expValue=[-1 0 .5 1 2];
    
    %expValue can be either a vector
    %or a cell array
    
    testMin=2.1;
    testMax=3;
    
    %---- do not change code below line ---
    
    try
       open_system(expModel);
    end
    
    expOkValues=cell(0,2);

    Примечание

    Когда вы изменяете поле в панели Свойств справа, полевой фоновый цвет изменений (значением по умолчанию является кремовый цвет), указывая, что существуют остающиеся без применения изменения в том поле. Как только вы выполняете операции на другом компоненте, программное обеспечение Simulink Report Generator применяет изменения, и цвет фона становится белым снова.

  6. Установите флажок Evaluate this expression if there is an error.

  7. В поле под флажком замените существующий текст на следующий текст:

    disp(['Error during eval: ', evalException.message])
    Окно Report Explorer теперь смотрит можно следующим образом.

    Совет

    Чтобы запустить команды, которые вы задали в своем выражении MATLAB, нажмите кнопку Eval Now. Эта кнопка расположена в верхнем правом углу Report Explorer. Это - простой способ гарантировать, что ваши команды правильны и не вызовут, сообщают о проблемах генерации.

  8. Нажмите File> Save, чтобы сохранить файл настройки отчета.

Для получения информации об условиях ошибки из-за неправильного обращения смотрите Обработку ошибок для кода MATLAB (MATLAB Report Generator).

Добавьте титульный лист

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Создайте пользовательский титульный лист для своего отчета с помощью компонента Title Page.

  1. В панели Схемы слева, выберите компонент Eval.

  2. В панели Библиотеки в середине, под категорией Formatting, нажимают Title Page.

  3. Кликните по значку рядом с Add component to current report.

    Компонент Title Page появляется в панели Схемы.

    Примечание

    Чтобы использовать компонент Title Page, у вас должен быть компонент Chapter в вашем отчете. Вы еще не добавили компонент Chapter, таким образом, панель Свойств отображает сообщение, указывающее, что главы требуются для компонента Title Page появиться правильно. Поскольку позже в этом примере вы добавляете компоненты Chapter в этот отчет, можно проигнорировать то сообщение.

  4. В Свойствах разделяют на области справа:

    1. В текстовом поле Title, введите:

      Dynamic Simulink Report
    2. В текстовом поле Subtitle, введите:

      Using Simulink Report Generator to Document Changes
    3. В разделе Options выберите Custom Author из списка выбора.

    4. Введите свое имя в текстовом поле.

    5. Установите флажок Include report creation date.

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

  5. Сохраните файл настройки отчета.

Откройте модель Simulink

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Следующий оператор в компоненте Evaluate MATLAB Expression, в котором вы создали, Добавляет, что код MATLAB пытается открыть модель vdp:

try
   open_system(expModel);
end

Совет

Выберите компонент Eval в панели Схемы слева, чтобы посмотреть на этот код снова.

Чтобы видеть, была ли модель vdp успешно открыта, протестируйте результат команды open_system с помощью компонента Logical If.

  1. В панели Схемы слева, выберите компонент Title Page.

  2. В панели Библиотеки в середине, под категорией Logical and Flow Control, выбирают Logical If. Эти проверки компонента, чтобы видеть, является ли данное условие TRUE или FALSE; в этом случае, если модель, открытая успешно.

  3. В панели Свойств справа, кликните по значку рядом с Add component to current report. Компонент Logical If появляется как if в панели Схемы.

    Эти компоненты являются дочерними компонентами отчета и одноуровневыми элементами друг друга. Компоненты могут иметь родительский элемент, дочерний элемент и одноуровневые отношения.

    Этот компонент может иметь дочерние компоненты. Еще добавьте Логический Затем и Логический, Компоненты объясняют, как добавить два дочерних компонента в компонент if.

  4. В панели Свойств справа, в текстовом поле Test expression, заменяют текст по умолчанию, true, со следующим текстом:

    strcmp(bdroot(gcs),expModel)
    Функция strcmp сравнивает имя открытой модели Simulink и значение expModel, который был установлен в 'vdp'. Это тестирует, чтобы видеть если vdp модель, открытая успешно. strcmp возвращает 1 (true), если две строки соответствуют, и 0 (false) если нет.

  5. Сохраните файл настройки отчета.

    Имя компонента if в панели Схемы изменяется, чтобы включать выражение, которое вы добавили.

Еще добавьте логический затем и логический компоненты

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Компонент if strcmp(bdroot(gcs), expModel) имеет два возможных результата. Добавьте два дочерних компонента в файл настройки отчета, чтобы обработать эти случаи.

  1. В панели Схемы слева, выберите компонент if.

  2. В панели Библиотеки в середине, под категорией Logical and Flow Control, дважды кликают Logical Then.

  3. В панели Схемы слева, выберите компонент if снова.

  4. В панели Библиотеки в середине, под категорией Logical and Flow Control, дважды кликают Logical Else.

    Оба элемента добавляются как дочерние компоненты к, если компонент, как показано в Схеме разделяет на области.

  5. Еще чтобы переместиться компонент под компонентом then, еще выберите компонент и кликните по стрелке down на панели инструментов однажды. Панель Схемы на левых взглядах можно следующим образом.

  6. Сохраните файл настройки отчета.

Ошибка, если модель не может быть открыта

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Если компонент if strcmp(bdroot(gcs), expModel) перестал работать (модель vdp не может открыться), компонент else выполняется. Отобразите сообщение об ошибке в отчете с помощью компонента Chapter/Subsection.

  1. В панели Схемы слева, выберите компонент else.

  2. В панели Библиотеки в середине, под категорией Formatting, дважды кликают Chapter/Subsection, чтобы добавить его как дочерний элемент компонента else. Этот компонент отображает сообщение об ошибке, если ошибка происходит при открытии модели vdp.

    Примечание

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

  3. В панели Свойств справа, выберите Custom из списка выбора Title, и затем введите следующий текст в текстовом поле:

    Load Model Failed.

    Сохраните файл отчета.

    Панель Схемы смотрит можно следующим образом.

  4. В панели Схемы слева, выберите компонент Chapter.

  5. В панели Библиотеки в середине, под Formatting, дважды кликают Paragraph.

  6. В панели Свойств справа, введите следующий текст в текстовом поле Paragraph Text, чтобы отобразить следующее сообщение об ошибке:

    Error: Model %<expModel> could not be opened.
    %<expModel> выражения указывает, что значение переменной expModel рабочей области вставляется в текст, как в следующем примере.
    Error: Model vdp could not be opened.

  7. В панели Схемы слева, выберите Chapter.

  8. Сохраните файл настройки отчета.

    Панель Схемы смотрит можно следующим образом.

Создайте тело отчета

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Создание тела отчета включает подготовку компонентов и кода для динамического выполнения компонентов отчета. В этом примере вы выполняете следующие задачи:

Каждое действие требует отдельного компонента под компонентом then. Для получения информации о тогдашнем компоненте в этом отчете смотрите Еще, Добавляют Логический Затем и Логический Компоненты.

Процесс с образцовым компонентом цикла

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report.

Отчет изменяет параметр Gain для блока Му в модели vdp несколько раз. Эта задача требует компонента Model Loop.

  1. В панели Схемы слева, выберите компонент then.

  2. В панели Библиотеки в середине прокрутите вниз к категории Simulink, и затем дважды кликните Model Loop. Это добавляется как дочерний элемент компонента then.

    Свойства разделяют на области на правильных взглядах можно следующим образом.

  3. В Свойствах разделяют на области справа:

    1. Установите флажок Active, чтобы обработать модель vdp.

    2. В списке выбора Traverse model выберите Selected system(s) only, чтобы пересечь только модель vdp.

    3. Выберите Model root из списка выбора Starting system(s).

    4. В нижней части панели Свойств слева, установите флажок Create section for each object in loop, чтобы создать главу или раздел для каждой модели. Когда вы устанавливаете этот флажок, имя компонента в Схеме разделяют на области на левых изменениях в Model Loop Chapter.

    5. Установите флажок Display the object type in the section title, чтобы включать тип объекта (в этот пример, модель) на имя заголовка.

    6. Снимите флажок Create link anchor for each object in loop.

  4. Сохраните файл настройки отчета.

Добавьте абзац для каждой модели

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

В каждом Model Loop Chapter добавьте объяснение с помощью компонента Paragraph.

  1. В панели Схемы слева, выберите компонент Model Loop Chapter.

  2. В панели Библиотеки в середине, прокрутке до категории Formatting, и затем дважды кликают Paragraph. Компонент Paragraph добавляется как дочерний элемент компонента Model Loop Chapter.

  3. В панели Свойств справа, в текстовом поле Paragraph Text, вводят следующий текст:

    This report demonstrates Simulink Report Generator's ability
    to experiment with Simulink systems and auto-document
    the results. In this report, you load the model %<expModel>
    and simulate it %<length> times. This report modifies the
    %<expBlock> block's "%<expParam>" value, setting it to the 
    values %<expValue>. Each iteration of the test includes 
    a set of scope snapsnots in the report.
    Когда этот отчет сгенерирован, имена переменных, которым предшествуют знаки процента (%), и заключил в угловые скобки (<>), заменяются значениями тех переменных в рабочем пространстве MATLAB.

  4. Сохраните файл настройки отчета.

Вставьте снимок состояния модели

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

В каждом компоненте Model Loop Chapter включайте снимок состояния текущей модели с помощью компонента System Snapshot.

  1. В панели Схемы слева, выберите компонент Model Loop Chapter.

  2. В панели Библиотеки в середине прокрутите вниз к категории Simulink, и затем дважды кликните компонент System Snapshot.

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

  3. В Свойствах разделяют на области справа:

    1. Выберите Zoom из списка выбора Scaling.

    2. Введите 70 как значение %.

  4. В панели Схемы слева, выберите компонент System Snapshot.

  5. Кликните по стрелке down на панели инструментов однажды, чтобы переместить его под компонентом Paragraph.

  6. Сохраните файл настройки отчета.

Добавьте цикл для обработки модели

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Создайте цикл, чтобы обработать времена модели %length с помощью компонента For Loop.

  1. В панели Схемы слева, выберите компонент System Snapshot.

  2. В панели Библиотеки в середине, под категорией Logical and Flow Control, дважды кликают For Loop. Компонент For Loop добавляется как одноуровневый элемент компонента System Snapshot.

  3. В Свойствах разделяют на области справа:

    1. В текстовом поле End замените существующий текст на следующий текст:

      length(expValue)
      expValue является массивом значений параметров Gain, присвоенных в компоненте Eval с командой expValue=[-1 0 0.5 1 2];. Выражение length(expValue) оценивает к 5 в этом примере.

    2. В текстовом поле Variable name замените существующий текст на имя переменной for loop. Введите следующий текст:

      expIteration
      Имя компонента For в Схеме разделяет на области на левых изменениях, чтобы отразить переменную цикла и значение завершения.

  4. Сохраните файл настройки отчета.

Значение параметров блоков от выражения MATLAB

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Для каждой итерации заставьте значение от массива expValue использовать в качестве значения параметров Gain. Эта задача требует компонента Evaluate MATLAB Expression.

  1. В панели Схемы слева, выберите компонент for.

  2. В панели Библиотеки в середине, под категорией MATLAB, дважды кликают Evaluate MATLAB Expression. В панели Схемы имя компонента сокращено к Eval.

  3. На Свойствах разделяют на области справа:

    1. Снимите флажки Insert MATLAB expression in report и Display command window output in report.

    2. Введите следующий текст в текстовом поле Expression to evaluate in the base workspace:

      %Evaluate this string in the base workspace
      
      if iscell(expValue)
         Iteration_Value=expValue{expIteration};
      else
        Iteration_Value=...
           num2str(expValue(expIteration));
      end
      Переменная Iteration_Value представляет обозначенный элемент массива.

    3. Снимите флажок Evaluate this expression if there is an error.

  4. Сохраните файл настройки отчета.

Создайте раздел для каждой итерации

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Создайте отдельный участок для каждой итерации цикла, который включает данные с помощью компонента Chapter/Subsection.

  1. В панели Схемы слева, под компонентом for, выбирают компонент Eval.

  2. В панели Библиотеки в середине, под категорией Formatting, дважды кликают Chapter/Subsection, чтобы добавить его как одноуровневый элемент. Этот компонент автоматически добавляется как Section 1, потому что это в компоненте Chapter (компонент Model Loop Chapter).

  3. В Свойствах разделяют на области справа:

    1. В списке выбора Title выберите Custom.

    2. В текстовом поле введите следующий заголовок:

      Processing the vdp model

    Это указывает, что заголовок раздела прибывает из первого дочернего компонента. Не изменяйте никакие другие свойства.

  4. Сохраните файл настройки отчета.

Вставьте значение блока

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Вставьте значение Gain, которое используется для каждой симуляции.

  1. В панели Схемы слева, выберите компонент Section 1.

  2. В панели Библиотеки в середине, под категорией MATLAB, дважды кликают Insert Variable.

  3. В Свойствах разделяют на области справа:

    1. В текстовом поле Variable name введите Iteration_Value.

    2. В списке выбора Display as выберите Paragraph.

    Свойства разделяют на области на правильных взглядах можно следующим образом.

  4. Сохраните файл настройки отчета.

Установите значение параметров

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Для каждой итерации, установленной параметр Gain на значение, которое вы извлекли от массива expValue.

  1. В панели Схемы слева, выберите компонент Variable.

  2. В панели Библиотеки в середине, под категорией MATLAB, дважды кликают Evaluate MATLAB Expression. Этот компонент добавляется как одноуровневый элемент компонента Variable.

  3. В панели Свойств справа, снимите флажки Insert MATLAB expression in report и Display command window output in report.

  4. В текстовом поле Expression to evaluate in the base workspace замените существующий текст на следующий текст.

    set_param(expBlock,expParam,Iteration_Value);
    okSetValue=(1);
    Наборы команд set_param значение параметра Gain для Му блокируются в модели vdp к значению Iteration_Value.

  5. Убедитесь, что вы выбираете Evaluate this expression if there is an error. Введите следующий текст в текстовое поле:

    okSetValue=logical(0);
    Если команда set_param работает, okSetValue установлен в 1. Если ошибка происходит, okSetValue установлен в 0. Следующий компонент затем сообщает об ошибке и отключает обработку.

  6. Сохраните файл настройки отчета.

    Панель Схемы на левых взглядах можно следующим образом.

Контрольное число Используя логическое, если компонент

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Проверяйте значение okSetValue с помощью компонента Logical If. Если значением является 0, симуляция не может продолжить, потому что параметр Gain не мог быть установлен.

  1. В панели Схемы слева, выберите компонент Eval для команды set_param.

  2. В панели Библиотеки в середине, под категорией Logical and Flow Control, дважды кликают Logical If. Компонент добавляется как одноуровневый элемент Eval.

  3. В панели Свойств справа, в текстовом поле Test expression, true замены с okSetValue.

okSetValue может быть 1 (true) или 0 (false), поэтому вставить два компонента — Logical Then и Logical Else — чтобы обработать те условия:

  1. В панели Схемы слева, выберите компонент if (okSetValue).

  2. Вставить Logical Then и Logical Else в правильном порядке:

    1. В панели Библиотеки в середине дважды кликните компонент Logical Else.

    2. Выберите компонент if (okSetValue) снова.

    3. Дважды кликните компонент Logical Then. Панель Схемы на левых взглядах можно следующим образом.

  3. В панели Схемы справа, выберите компонент else.

  4. В панели Библиотеки в середине дважды кликните Paragraph.

    Если okSetValue = 0, значение параметров Gain не установлено, и отчет отображает ошибку.

  5. В Свойствах разделяют на области справа:

    1. Выберите Custom title из списка выбора Title Options.

    2. Введите Error в текстовое поле рядом со списком выбора.

    3. Введите следующий текст в текстовое поле Paragraph Text:

      Could not set %<expBlock> "%<expParam>" to value 
      %<Iteration_Value>.

  6. Сохраните отчет.

Моделируйте модель Используя компонент симуляции модели

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Теперь, когда модель открыта, и параметр Gain устанавливается, используйте компонент Model Simulation, чтобы моделировать vdp модель.

  1. В панели Схемы слева, выберите компонент then под компонентом if (okSetValue).

  2. В панели Библиотеки, под категорией Simulink, дважды кликают Model Simulation. В панели Схемы слева, этот компонент переименован в Simulate model.

  3. В Свойствах разделяют на области справа:

    1. Снимите флажок Use model's workspace I/O variable names.

    2. В текстовом поле Time введите dynamicT.

    3. В текстовом поле States введите dynamicX.

    4. В текстовом поле Output введите dynamicY.

    Свойства разделяют на области на правильных взглядах можно следующим образом.

  4. В панели Схемы слева, выберите компонент Simulate model.

  5. В Библиотеке разделяют на области в середине:

    1. Прокрутите вниз к категории Simulink Blocks.

    2. Дважды кликните Scope Snapshot, чтобы добавить его как одноуровневый элемент компонента Simulink Model.

    Этот компонент получает осциллограф для каждой итерации.

  6. В Свойствах разделяют на области справа:

    1. В списке выбора Paper orientation выберите Portrait.

    2. Для Image size введите [5 4].

    3. В списке выбора Scaling выберите Zoom.

    4. Введите 75 для значения %.

  7. Сохраните файл настройки отчета.

  8. Чтобы протестировать, чтобы видеть, находится ли данные сигнала в пределах заданной области значений, добавьте другой компонент Logical If:

    1. В панели Схемы слева, выберите компонент Scope Snapshot.

    2. В Библиотеке разделяют на области в середине, прокрутке до категории Logical and Flow Control.

    3. Дважды кликните компонент Logical If.

  9. Чтобы протестировать данные сигнала, замените true в текстовом поле Test expression со следующим в панели Свойств справа:

    max(dynamicX(:,2))>testMin & max(dynamicX(:,2))

  10. Сохраните отчет.

    Панель Схемы смотрит можно следующим образом:

  11. Если это условие верно, данные сигнала находится в пределах желаемой области значений. Добавьте компонент Paragraph, чтобы распечатать информацию о данных сигнала в отчете.

    1. В панели Схемы слева, выберите компонент if, который вы только добавили.

    2. В панели Библиотеки в середине, под категорией Formatting, дважды кликают Paragraph так, чтобы это стало дочерним элементом компонента if.

    3. В Свойствах разделяют на области справа:

      1. Из списка выбора Title Options выберите Custom title.

      2. Введите Success в текстовом поле.

      3. Введите следующий текст в текстовом поле Paragraph text.

        The conditioned signal has a maximum value
        of %<max(dynamicX(:,2))>, which lies in the
        desired range of greater than %<testMin> and
        less than %<testMax>.

  12. Чтобы сохранить значения успеха, чтобы вставить в таблицу в конце итераций, используйте компонент Evaluate MATLAB Expression.

    1. В панели Схемы слева, выберите компонент Paragraph.

    2. В панели Библиотеки в середине, под категорией MATLAB, дважды кликают Evaluate MATLAB Expression.

      Происходит непреднамеренный результат: новый компонент является дочерним элементом компонента Paragraph.

    3. Чтобы сделать новый компонент одноуровневым элементом компонента Paragraph, в панели Схемы слева, выбирают компонент Eval, и затем Нажатие кнопки стрелка влево на панели инструментов. Компонент Eval становится одноуровневым элементом компонента Paragraph.

  13. В Свойствах разделяют на области справа, для компонента Eval:

    1. Снимите флажки Insert MATLAB expression in report и Display command window output in report.

    2. В текстовом поле Expression to evaluate in the base workspace введите следующее, чтобы сохранить желаемые значения сигналов в массиве expOkValues:

      expOkValues=[expOkValues;...
           {Iteration_Value,max(dynamicX(:,2))}];

    3. Убедитесь, что вы выбираете Evaluate this expression if there is an error. Вставьте следующий текст в текстовое поле:

      disp(['Error during eval: ', evalException.message])

  14. Сохраните файл настройки отчета.

Создайте аналитический раздел после испытания

Примечание

Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Создают Отчет Simulink Report Generator В интерактивном режиме.

Чтобы видеть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет для модели vdp.

Теперь, когда вы собрали все требуемые значения, создайте аналитический раздел после испытания путем составления таблицы и вставки его в отчет в конце этой главы.

  1. В панели Схемы слева, выберите компонент Model Loop Chapter.

  2. В панели Библиотеки в середине, под категорией Formatting, дважды кликают Chapter/Subsection.

    Новый раздел появляется в начале главы.

    Кликните по стрелке down три раза так перемещения Section 1 в конец компонента Model Loop Chapter.

  3. В Свойствах разделяют на области справа:

    1. Выберите Custom в списке выбора Title.

    2. Введите Post-Test Analysis в текстовое поле.

  4. В панели Схемы слева, выберите новый компонент Section 1.

  5. В панели Библиотеки в середине, под категорией Formatting, дважды кликают Paragraph. Не изменяйте его свойства.

  6. Чтобы проверять, существуют ли какие-либо значения сигналов в желаемой области значений, проверяйте массив expOkValues с компонентом Logical If. Если expOkValues пуст, в желаемой области значений нет никаких значений сигналов. Сообщите о результате этой проверки.

    1. В панели Схемы слева, выберите компонент Paragraph и добавьте дочерний компонент Logical If.

    2. В панели Свойств справа, введите выражение, чтобы оценить в текстовом поле Test expression:

      ~isempty(expOkValues)
      Это выражение оценивает к 0 (false), если expOkValues пуст; в противном случае это оценивает к 1 (true).

    3. В панели Схемы слева, выберите компонент if (~isempty(expOkValue)) и добавьте компонент Logical Else как дочерний элемент.

    4. Выберите компонент if(~isempty(expOkValue)) снова и добавьте компонент Logical Then как дочерний элемент.

      Эти два компонента являются одноуровневыми элементами в панели Схемы слева.

  7. Сохраните файл настройки отчета.

  8. Теперь, вставьте компоненты отчета, чтобы обработать случай, где expOkValues пуст; то есть, где никакие значения сигналов не находятся в пределах обозначенной области значений.

    1. В панели Схемы слева, выберите компонент else.

    2. В панели Библиотеки в середине дважды кликните компонент Text, чтобы добавить его как дочерний элемент компонента else.

    3. В панели Свойств справа, в текстовом поле Text to include in report, вводят следующее:

      None of the selected iteration values had 
      a maximum signal value between %<testMin> and %<testMax>.

  9. Теперь обработайте случай, где expOkValues не пуст, и вы хотите вставить таблицу приемлемых значений сигналов.

    1. В панели Схемы слева, выберите компонент then.

    2. Добавьте компонент Text как дочерний элемент к компоненту then.

    3. В панели Свойств справа, в текстовом поле Text to include in report, вводят следующий текст.

      %<size(expOkValues, 1)> values for %<expBlock> were 
      found that resulted in a maximum signal value greater
      than %<testMin> but less than %<testMax>. The following
      table shows those values and their resulting signal maximum.

    4. В панели Схемы слева, выберите компонент Text под компонентом then компонента if (~isempty(expOkValues)).

  10. Чтобы создать массив для использования при форматировании таблицы, используйте компонент Evaluate MATLAB Expression.

    1. В панели Библиотеки в середине дважды кликните Evaluate MATLAB Expression.

    2. В Свойствах разделяют на области справа:

      1. Снимите флажки Insert MATLAB expression in report и Display command window output in report.

      2. Следующий компонент отчета использует строки Mu Value и Signal Maximum как табличные значения заголовка. Добавьте строки в переднюю сторону массива ячеек expOkValues путем введения следующего текста в текстовое поле Expression to evaluate in the base workspace:

        expOkValues=[{'Mu Value','Signal Maximum'} expOkValues];

      3. Убедитесь, что вы устанавливаете флажок Evaluate this expression if there is an error. Введите следующий текст в текстовое поле:

        disp(['Error during eval: ', evalExpression.message])

  11. В панели Схемы слева, выберите компонент Eval.

  12. В панели Библиотеки в середине, под категорией Formatting, дважды кликают компонент Table, таким образом, это становится одноуровневым элементом компонентов Eval и Text.

  13. В Свойствах разделяют на области справа:

    1. В текстовом поле Workspace variable name введите expOkValues. Программное обеспечение Simulink Report Generator использует содержимое expOkValues, чтобы создать таблицу.

    2. В текстовом поле Table title введите Valid Iteration Values.

  14. Сохраните файл настройки отчета.

    Панель Схемы на левых взглядах можно следующим образом.

Сгенерируйте отчет

Чтобы сгенерировать отчет, кликните по значку Отчета на панели инструментов. Следующее происходит:

  1. Окно List сообщения появляется, отображая информационные и сообщения об ошибке, когда отчет обрабатывается. Задайте уровень детализации, который вы хотели бы, чтобы окно List сообщения отобразило, в то время как отчет генерируется. Опции колеблются от 0 (наименьшее количество детали) к 6 (большая часть детали). Кликните по списку выбора, расположенному под заголовком панель окна List сообщения, чтобы выбрать опцию.

    Message level 3 (Important messages) используется для остатка от этого примера.

  2. Модель vdp появляется. Вы видите каждый раз, когда это моделируется.

  3. Окно scope появляется. График осциллографа изменяет каждый раз изменения значения параметров.

  4. Каждый компонент отчета подсвечен, как это выполняется в панели Схемы слева в окне Report Explorer.

Когда отчет завершен, Читатель Adobe® Acrobat® открывает ваш отчет в формате PDF.