Сообщите о системных вводах и выводах

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

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

Открытая модель

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

model = "slreportgen_demo_SystemIO";
open_system(model);

Сообщите о Setup

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

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

Создайте и откройте объект отчета Simulink. Чтобы создать Word Microsoft®, 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);   

Создайте раздел "Inputs and Outputs" и SystemIO генератор отчетов.

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

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

    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);