slreportgen.report.BusObject class

Пакет: slreportgen.report

Шина Simulink возражает генератору отчетов

Описание

Создает генератор отчетов, который генерирует информацию о Simulink.Bus объект в отчете.

Примечание

Чтобы использовать шину возражают генератору отчетов в отчете, необходимо создать отчет с помощью slreportgen.report.Report класс или подкласс.

slreportgen.report.BusObject классом является handle класс.

Атрибуты класса

HandleCompatible
true

Для получения информации об атрибутах класса см. Атрибуты класса (MATLAB).

Создание

Описание

reporter = slreportgen.report.BusObject() создает пустой slreportgen.report.BusObject объект генератора отчетов. Настройте содержимое и форматирование информации, сообщенной для объекта шины при помощи свойств объектов генератора отчетов. Прежде чем вы добавите генератор отчетов в отчет, необходимо установить Свойство объекта генератора отчетов к slreportgen.report.ModelVariableResult или Simulink.VariableUsage объект, который задает Simulink.Bus объект. Добавление пустого генератора отчетов к отчету производит ошибку.

пример

reporter = slreportgen.report.BusObject(object) создает генератор отчетов для Simulink.Bus объект задан slreportgen.report.ModelVariableResult или Simulink.VariableUsage объект. Смотрите Свойство объекта.

reporter = slreportgen.report.BusObject(Name,Value) устанавливает свойства генератора отчетов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Свойства

развернуть все

Объект, который задает Simulink.Bus возразите, чтобы сообщить, заданный как slreportgen.finder.ModelVariableResult возразите или Simulink.VariableUsage объект.

Это свойство только для чтения содержит имя объекта шины сообщить, заданный как скаляр строки.

Соедините шиной свойства объектов, чтобы сообщить, заданный как массив строк или массив ячеек из символьных векторов. Свойства заданы ReportedBusProperties свойство далее отфильтровано PropertyFilterFcn свойство. Если ReportedBusProperties свойство пусто, генератор отчетов включает все свойства в отчет, кроме свойств, отфильтрованных PropertyFilterFcn свойство. Генератор отчетов исключает любое свойство объекта шины, которое не допустимо для объекта шины.

Соедините шиной свойства элемента сообщить, заданный как массив строк или массив ячеек из символьных векторов. Свойства заданы ReportedElementProperties свойство далее отфильтровано функцией или кодом, заданным в PropertyFilterFcn свойство. Если ReportedElementProperties свойство пусто, генератор отчетов включает все свойства в отчет, кроме свойств, отфильтрованных PropertyFilterFcn свойство. Генератор отчетов исключает любое свойство элемента шины, которое не допустимо для элемента шины.

Показать ли, что имя шины возражает в отчете, заданном как true или false.

Включать ли вложенный список, который представляет иерархию шины в отчете, заданном как true или false.

Показать ли таблицу свойств объектов шины в отчете, заданном как true или false.

Показать ли таблицу свойств элемента шины в отчете, заданном как true или false.

Показать ли список блоков, которые используют объект шины, заданный как true или false. Если ShowUsedBy свойство установлено в true, генератор отчетов включает список блоков, которые используют объект шины в отчете. Если ShowUsedBySnapshot свойство также установлено в true, генератор отчетов включает снимок состояния схемы для каждой родительской подсистемы, которая использует объект шины. Блоки, которые используют объект шины, подсвечены в снимке состояния.

Показать ли снимки состояния схемы родительских подсистем и подсветить блоки, которые используют объект шины, заданный как true или false. Если ShowUsedBySnapshot свойство установлено в true, отчет включает в себя снимок состояния для каждой родительской подсистемы, которая использует объект шины. Блоки, которые используют объект шины, подсвечены в снимке состояния. Если родительская подсистема имеет больше чем один блок, который использует объект шины, генератор отчетов показывает только один снимок состояния схемы, который подсвечивает блоки, которые используют объект шины.

Создать ли отдельный участок для каждого типа информации об объекте шины в отчете. Если CreateSections свойство установлено в true, генератор отчетов создает mlreportgen.report.Section с заголовком для каждого из этих типов информации:

  • иерархия

  • свойства

  • элементы

  • блоки, которые используют объект шины

Если CreateSections свойство установлено в false, генератор отчетов генерирует метки для таблиц и списков. Для таблицы генератор отчетов генерирует табличный заголовок. Для списка генератор отчетов генерирует текст, который предшествует списку.

Перечислите средство форматирования, которое форматирует сгенерированную иерархию шины, заданную как mlreportgen.dom.UnorderedList возразите или mlreportgen.dom.OrderedList объект. Чтобы настроить форматирование списка, измените свойства объекта списка или замените объект списка на индивидуально настраиваемый объект списка, который не содержит элементы списка.

Перечислите средство форматирования, которое форматирует сгенерированный список блоков, которые используют объект шины, заданный как mlreportgen.dom.UnorderedList возразите или mlreportgen.dom.OrderedList объект. Чтобы настроить форматирование списка, измените свойства объекта списка или замените объект списка на индивидуально настраиваемый объект списка, который не содержит элементы списка.

Табличный генератор отчетов раньше форматировал таблицу свойств объектов шины, заданных как mlreportgen.report.BaseTable объект. Чтобы настроить внешний вид таблицы, измените свойства табличного генератора отчетов по умолчанию или замените его на индивидуально настраиваемый табличный генератор отчетов. Если вы добавляете содержимое в Title свойство значения по умолчанию или настроенного табличного генератора отчетов, содержимое появляется перед табличным заголовком в сгенерированном отчете.

Табличный генератор отчетов раньше форматировал таблицу свойств элемента шины, заданных как mlreportgen.report.BaseTable объект. Чтобы настроить внешний вид таблицы, измените свойства табличного генератора отчетов по умолчанию или замените его на индивидуально настраиваемый табличный генератор отчетов. Если вы добавляете содержимое в Title свойство значения по умолчанию или настроенного табличного генератора отчетов, содержимое появляется перед табличным заголовком в сгенерированном отчете.

Отобразить ли свойства горизонтально в таблице свойств элемента, заданных как true или false.

Если HorizontalElementsTable свойство установлено в true, таблица имеет один столбец для каждого свойства. Например:

Если HorizontalElementsTable свойство установлено в false, свойство и ячейки значения в строке для элемента разделены в несколько строк. Например:

Генератор отчетов для форматирования разделов, когда CreateSections свойство установлено в true, заданный как mlreportgen.report.Section объект. Чтобы настроить внешний вид раздела, измените свойства генератора отчетов раздела по умолчанию или замените его на индивидуально настраиваемый генератор отчетов раздела.

Функция или выражение, чтобы отфильтровать свойства элемента шины или шины, о котором сообщают, из отчета. Задайте функцию как указатель на функцию. Задайте выражение как скаляр строки или вектор символов.

Если вы обеспечиваете указатель на функцию, присоединенная функция должна:

  • Возьмите эти аргументы:

    • variableName — Имя переменной модели, которая называет элемент шины или шины сообщаемым

    • variableObject — Элемент шины или шины, о котором сообщают

    • propertyName — Имя свойства элемента шины или шины, о котором сообщают

  • Возвратите true отфильтровать заданное свойство из отчета или false включать свойство в отчет.

Например, этот код предотвращает отображение HeaderFile и Description свойства шины возражают и Complexity свойство элемента шины:

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

rpt = slreportgen.report.Report('busrpt','pdf');

model = load_system('sldemo_bus_arrays');

modelVariableFinder = ModelVariableFinder(model);
results = find(modelVariableFinder);
for result = results
    if isa(getVariableValue(result),'Simulink.Bus')
        busRptr = slreportgen.report.BusObject(result);
        busRptr.PropertyFilterFcn = @busPropertyFilter;
        % Create a Chapter
        chapter = mlreportgen.report.Chapter(busRptr.Name);
        add(chapter, busRptr);   
        add(rpt,chapter)
    end
end
close(rpt);

close_system(model);
rptview(rpt);

function tf = busPropertyFilter(~, variableObject,propertyName)
if isa(variableObject, 'Simulink.Bus')
    tf = (propertyName == "HeaderFile") ||  ...
        (propertyName == "Description");
else
    % Filter Simulink.BusElement Complexity property
    tf = propertyName == "Complexity";
end
end

Если вы обеспечиваете скаляр строки или вектор символов, это должно содержать выражение. Выражение:

  • Может использовать переменные variableName, variableObject, и propertyName

  • Должен установить переменную isFiltered к true отфильтровать заданное свойство из отчета или false включать свойство в отчет

Например, этот код фильтрует HeaderFile свойство шины возражает из отчета:

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

rpt = slreportgen.report.Report('busrpt','pdf');

model = load_system('sldemo_bus_arrays');

modelVariableFinder = ModelVariableFinder(model);
results = find(modelVariableFinder);
for result = results
    if isa(getVariableValue(result),'Simulink.Bus')
        busRptr = slreportgen.report.BusObject(result);
        busRptr.PropertyFilterFcn = "isFiltered = " + ...
            "isa(variableObject, 'Simulink.Bus') && " + ...
            "propertyName == 'HeaderFile';";
        % Create a Chapter
        chapter = mlreportgen.report.Chapter(busRptr.Name);
        add(chapter, busRptr);   
        add(rpt,chapter)
end
end
close(rpt);

close_system(model);
rptview(rpt);

Источник шаблона для этого генератора отчетов, заданного одним из этих способов:

  • Вектор символов или скаляр строки, который задает путь файла, который содержит шаблон для этого генератора отчетов

  • Генератор отчетов или отчет, шаблон которого используется в этом генераторе отчетов или чья библиотека шаблонов содержит шаблон для этого генератора отчетов

  • Документ DOM или часть документа, шаблон которой используется в этом генераторе отчетов или чья библиотека шаблонов содержит шаблон для этого генератора отчетов

Заданный шаблон должен быть тем же типом как отчет, к которому добавлен этот генератор отчетов. Например, для отчета Word Microsoft®, TemplateSrc должен быть шаблон генератора отчетов Word. Если TemplateSrc свойство пусто, этот генератор отчетов использует шаблон генератора отчетов по умолчанию в выходном типе отчета.

Имя шаблона для этого генератора отчетов, заданного как вектор символов или скаляр строки. Шаблон для этого генератора отчетов находится в библиотеке шаблонов источника шаблона (TemplateSrc) для этого генератора отчетов.

Цель гиперссылки для этого генератора отчетов, заданного как строка или символьный массив, который задает ID цели ссылки или mlreportgen.dom.LinkTarget объект. Значение строки или символьного массива преобразовано в LinkTarget объект. Объект цели ссылки сразу предшествует содержимому этого генератора отчетов в выходном отчете.

Методы

развернуть все

Примеры

свернуть все

Сообщите относительно объектов шины в модели при помощи переменного средства поиска модели, чтобы найти все переменные используемыми в модели и затем создании генератора отчетов шины для каждой переменной, которая является объектом шины.

% Create a Report
rpt = slreportgen.report.Report("MyReport","pdf");
open(rpt);

% Load a model
model_name = "sldemo_bus_arrays";
load_system(model_name);

% Find all variables used by the model
finder = slreportgen.finder.ModelVariableFinder(model_name);

% Create a Bus object reporter object for all results representing a
% Simulink.Bus object
while hasNext(finder)
    result = next(finder);
    if isa(getVariableValue(result), "Simulink.Bus")
        % Create a Bus object reporter
        busReporter = slreportgen.report.BusObject(result);
        % Create a Chapter
        chapter = mlreportgen.report.Chapter(busReporter.Name);
        % Add bus to chapter
        add(chapter, busReporter)
        % Add chapter to the report
        add(rpt,chapter);
    end
end

% Close and view the report
close(rpt);
rptview(rpt);

Настройте содержимое, о котором сообщают, и форматирование содержимого путем установки свойств генератора отчетов объекта шины. Этот пример использует свойство ReportedElementProperties ограничить свойства элемента, о которых сообщают. Это использует свойство HorizontalElementsTable сгенерировать таблицу свойств с одним столбцом для каждого свойства.

% Create a Report
rpt = slreportgen.report.Report("MyReport","pdf");
open(rpt);

% Load a model
model_name = "sldemo_bus_arrays";
load_system(model_name);

% Find all variables used by the model
finder = slreportgen.finder.ModelVariableFinder(model_name);

% Create a Bus object reporter object for all results representing a
% Simulink.BusObject object
while hasNext(finder)
    result = next(finder);
    if isa(getVariableValue(result), "Simulink.Bus")
        % Create a Bus object reporter
        busReporter = slreportgen.report.BusObject(result);
        % Limit the properties that are report
        busReporter.ReportedElementProperties = {'Name','DataType','SampleTime','Min','Max'};
        % Display elemlent properties horizontally
        busReporter.HorizontalElementsTable = true;
        % Create a Chapter
        chapter = mlreportgen.report.Chapter(busReporter.Name);
        % Add bus to chapter
        add(chapter, busReporter)
        % Add chapter to the report
        add(rpt,chapter);
    end
end

% Close and view the report
close(rpt);
rptview(rpt);

Введенный в R2019b