В этом примере показано, как создать отчет, который описывает все объекты шины, используемые моделью Simulink ®. Этот отчет создает главу для каждого объекта шины. Каждая глава содержит раздел для иерархии объектов шины, таблицу свойств объектов шины, таблицу свойств элементов шины и список блоков, которые используют шину.
Импортируйте пакеты Report API так, чтобы не использовать длинные, полные имена классов.
import mlreportgen.report.* import slreportgen.finder.* import slreportgen.report.*
Откройте модель, которая имеет объекты шины.
model = "sldemo_bus_arrays";
open_system(model);
Создайте и откройте объект отчета. Чтобы создать HTML-отчет Microsoft ® Word, HTML или один файл, измените значение "pdf"
в "docx"
, «html"
, или "html-file"
, соответственно.
rpt = slreportgen.report.Report(model + "_bus_object_report","pdf"); open(rpt);
Добавьте заголовка страницу и таблицу содержимого.
titlepage = TitlePage("Title", model + ": Bus Object Report","Author","John Doe"); add(rpt,titlepage); toc = TableOfContents(); add(rpt, toc);
Найдите все переменные, используемые в модели.
finder = ModelVariableFinder(model);
Циклически просмотрите результаты поиска переменных, чтобы найти объекты шины и сообщить о них. Используйте getVariableValue
метод для определения, какие переменные являются объектами шины. Используйте slreportgen.report.BusObject
репортер, чтобы сообщить об объектах автобуса.
while hasNext(finder) result = next(finder); if isa(getVariableValue(result),"Simulink.Bus") % Create a Bus object reporter busReporter = BusObject(result); % Create a Chapter chapter = Chapter(busReporter.Name); % Add bus to chapter add(chapter,busReporter) % Add chapter to the report add(rpt,chapter); end end
Закройте и просмотрите отчет.
close(rpt); rptview(rpt);
Чтобы увидеть более полный отчет по объектам шины, просмотрите asbhl20_bus_object_report.pdf
который доступен в этом примере. Вы должны иметь Aerospace Blockset™, чтобы открыть asbhl20
модель.
rptview asbhl20_bus_object_report.pdf
getVariableValue
| slreportgen.finder.ModelVariableFinder
| slreportgen.finder.ModelVariableResult
| slreportgen.report.BusObject
| slreportgen.report.ModelVariable