Используйте компоненты Report Explorer Simulink в отчете API отчета

RptFile генератор отчетов позволяет вам использовать компоненты Simulink® Report Explorer в Отчете основанная на API программа отчета. Этот генератор отчетов полезен, если ваша программа отчета должна сгенерировать содержимое, для которого существует компонент Report Explorer, но для которого никакой генератор отчетов API Отчета не доступен. Например, Report Explorer включает компонент под названием Блочное количество, которое генерирует количество каждого типа блока, который содержит модель. Никакой эквивалентный генератор отчетов API Отчета не существует.

В этом примере показано, как использовать RptFile генератор отчетов, чтобы включать количество типов блоков, используемых в f14 Модель Simulink. Эта информация получена из Блочного компонента количества Report Explorer и представлена в таблицах в сгенерированном отчете API Отчета.

Создайте файл настройки Report Explorer

Создайте файл настройки Report Explorer, который включает Блочный компонент количества. Для получения информации о создании файла настройки отчета смотрите Setup Отчета.

  1. Введите report открыть Report Explorer.

  2. В панели справа, нажмите Create and edit a Report file. Сохраните файл как mysetupfile.rpt.

  3. От папки Simulink в средней панели добавьте компонент Цикла Модели в свой отчет. Установите Model name на Current block diagram.

  4. От папки Simulink в средней панели добавьте Системный компонент Цикла как дочерний элемент Цикла Модели. Установите эти опции:

    • Loop on SystemsSelect systems automatically

    • Include subsystems in Simulink functions — выбранный

    • Sort SystemsBy system depth

  5. От папки Simulink в средней панели добавьте, что Тип блока считает компонент как дочерний элемент Системного Цикла. Установите эти опции:

    • Table title — Блочное количество

    • Show block names in title — выбранный

    • Sort tableAlphabetically by block type

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

mysetupfile.rpt иерархия

Создайте программу генератора отчетов

Эти шаги описывают, как создать программу Генератора отчетов, которая включает RptFile генератор отчетов для mysetupfile.rpt Файл настройки Report Explorer.

Примечание

Полная программа перечислена после шагов.

  1. Чтобы избавить от необходимости использовать полностью определенные имена отчета, средство поиска и служебные функции, импортируют API-функции. Например, вместо того, чтобы использовать mlreportgen.report.TitlePage, можно использовать TitlePage.

    import slreportgen.report.*
    import slreportgen.finder.*
    import mlreportgen.report.*
    import mlreportgen.utils.*
    

  2. Загрузите f14 модель.

    model = "f14";
    load_system(model);
    

  3. Создайте объект отчета, чтобы содержать содержимое отчета. Используйте Simulink, сообщает конструктор (slreportgen.report.Report) чтобы создать объект отчета, необходимо полностью определить имя конструктора, чтобы различать, оно из MATLAB сообщает о конструкторе (mlreportgen.report.Report). Задайте имя отчета как "My Report" и выход вводит как PDF.

    rpt = slreportgen.report.Report("MyReport","pdf");
    

  4. Добавьте титульный лист и оглавление к отчету.

    titlepg = TitlePage();
    titlepg.Title = "f14 Model Block Types ";
    titlepg.Author = "MathWorks";
    add(rpt,titlepg);
    
    toc = TableOfContents;
    add(rpt,toc);
    

  5. Найдите все системы в модели.

    sysdiag_finder = SystemDiagramFinder(model);
    found_diags = find(sysdiag_finder);
    
  6. Используйте цикл for, чтобы создать отдельную главу для каждой системы и включать системный снимок состояния с однострочным заголовком.

    Создайте RptFile генератор отчетов на основе mysetupfile.rpt. Генератор отчетов генерирует таблицу блочных счетов для существующей системы. Добавьте RptFile генератор отчетов к главе и добавляет главу в отчет.

    for sysdiag = found_diags
        chap = Chapter(sysdiag.Path);
    
        snapshot = Diagram(sysdiag.Path);
        oneline = makeSingleLineText(sysdiag.Name);
        snapshot.Snapshot.Caption = strcat...
          ("System Diagram: ",oneline);
        add(chap,snapshot); 
    
        rptFile = RptFile("mysetupfile.rpt");
        rptFile.Model = model;
        rptFile.System = sysdiag.Path;
    
        add(chap,rptFile);
        add(rpt,chap);
    end

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

  7. Закройте и просмотрите отчет.

    close(rpt);
    rptview(rpt);
    

Полная программа

import slreportgen.report.*
import slreportgen.finder.*
import mlreportgen.report.*
import mlreportgen.utils.*

model = "f14";
load_system(model);

rpt = slreportgen.report.Report("MyReport","pdf");

titlepg = TitlePage();
titlepg.Title = "f14 Model Block Types ";
titlepg.Author = "MathWorks";
add(rpt,titlepg);

toc = TableOfContents;
add(rpt,toc);

sysdiag_finder = SystemDiagramFinder(model);
found_diags = find(sysdiag_finder);
for sysdiag = found_diags
    chap = Chapter(sysdiag.Path);

    snapshot = Diagram(sysdiag.Path);
    oneline = makeSingleLineText(sysdiag.Name);
    snapshot.Snapshot.Caption = strcat...
      ("System Diagram: ",oneline);
    add(chap,snapshot); 

    rptFile = RptFile("mysetupfile.rpt");
    rptFile.Model = model;
    rptFile.System = sysdiag.Path;
    add(chap,rptFile);

    add(rpt,chap);
end

close(rpt);
rptview(rpt);