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

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

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

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

Откройте модель. Этот пример использует модель, которая имеет входные и выходные блоки верхнего уровня и подсистему с входами и выходами. Входные сигналы верхнего уровня сохраняются в переменной, mappedIO, который создается при открытии модели.

model = "slreportgen_demo_SystemIO";
open_system(model);

Setup отчетов

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

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

Создайте и откройте объект отчета Simulink. Чтобы создать HTML-отчет Microsoft ® Word, HTML или один файл, измените значение "pdf" в "docx", «html", или "html-file", соответственно.

rpt = slreportgen.report.Report(model + "_SystemIO_Report","pdf");
open(rpt);

Добавьте заголовка страницу и таблицу содержимого.

titlepage = TitlePage("Title",model + ": System I/O Report","Author","Jane Doe");
add(rpt,titlepage);
toc = TableOfContents();
add(rpt, toc);

Отчет о входах и выходах

Найдите и закольцовывайте все системы в модели.

finder = SystemDiagramFinder(model);
while hasNext(finder)
    system = next(finder);

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

    ch = Chapter("Title",sprintf("System %s",system.Name));
    add(ch,system);   

Создайте раздел «Входы и выходы» и SystemIO репортер.

    ioSect = Section("Inputs and Outputs");
    ioRptr = SystemIO(system);    

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

    if strcmp(system.Type,"Simulink.BlockDiagram")
        ioRptr.ShowDetails = false;
    end
    add(ioSect,ioRptr);
    add(ch,ioSect);

Создайте раздел, содержащий подробную информацию о каждом блоке в системе. Исходные и целевые блоки включены в SystemIO сводные таблицы ссылаются на соответствующие детали блоков в этом разделе.

    blkSect = Section("Blocks");
    blkFinder = BlockFinder(system);
    results = find(blkFinder);
    add(blkSect,results);
    add(ch,blkSect);

Добавить главу в отчет.

    add(rpt,ch);
end

Отчет о закрытии

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

close(rpt);
rptview(rpt);