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

Откройте модель. В этом примере используется модель с блоками ввода и вывода верхнего уровня и подсистемой с входами и выходами. Входные сигналы верхнего уровня хранятся в переменной, mappedIO, который создается при открытии модели.
model = "slreportgen_demo_SystemIO";
open_system(model);Импортируйте пакеты API Report Generator, чтобы не использовать длинные, полные имена классов.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.*
Создайте и откройте объект отчета Simulink. Чтобы создать отчет Microsoft ® Word, HTML или однофайловый 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 по умолчанию содержит сведения о входных и выходных портах подсистемы. Для входных и выходных данных модели репортер содержит сведения о блоках ввода и вывода. Если система является моделью, установите 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);