slreportgen.report.Bus class

Пакет: slreportgen.report
Суперклассы: slreportgen.report.Reporter

Репортер для шин, выбранных или созданных блоками Simulink

Описание

Используйте объект slreportgen.report.Bus класс для отчета о шинах, выбранных или созданных Simulink® блоки.

Репортер шины находит шины, чтобы сообщить путем поиска модели, подсистемы, блока или сигнала для блоков, которые выбирают сигналы от шины или объединяют сигналы для создания шины. Для модели или подсистемы Bus reporter сообщает обо всех шинах, выбранных или созданных в модели или подсистеме. Для блока репортер сообщает шину, выбранную или созданную блоком. Для сигнала репортер сообщает обо всех шинах, выбранных или созданных блоками, которые соединяются с портом, заданным сигналом. Используйте Object свойство, чтобы задать модель, подсистему, блок или сигнал, для которых нужно сообщать шины.

По умолчанию a Bus reporter генерирует:

  • Иерархический список сигналов в шине

  • Таблица с подробностями о выбранных сигналах или сигналах, используемых для создания шины

  • Найдены абзацы с подробностями об объектах шины и связанных блоках для каждого блока, связанного с шиной

Используйте свойства reporter, чтобы настроить содержимое и внешний вид сгенерированного отчета. Для примера используйте ReportedBlockType свойство для определения типов блоков, используемых при поиске шин.

Примечание

Как использовать slreportgen.report.Bus репортер в отчете, вы должны создать отчет с помощью slreportgen.report.Report класс или подкласс.

The slreportgen.report.Bus класс является handle класс.

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

HandleCompatible
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Создание

Описание

busRptr = slreportgen.report.Bus() создает slreportgen.report.Bus объект со значениями свойств по умолчанию. Вы должны задать Object свойство модели, блока или сигнала, для которого вы хотите сообщать о шинах. Используйте другие свойства для задания опций отчета.

пример

busRptr = slreportgen.report.Bus(object) устанавливает Object свойство к object.

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

Свойства

расширить все

Модель, блок или сигнал для поиска шин, заданные как одно из следующих значений:

  • Строковый скаляр или вектор символов, который содержит имя модели, Subsystem блока, Bus Creator блока, Bus Assignment блока или блока Bus Selector

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

Если это свойство содержит текст или указатель на функцию, который возвращает текст, текст добавляется к mlreportgen.dom.Paragraph объект со стилем BusTitleParagraph.

Если это свойство задано как указатель на функцию, функция должна вернуть содержимое, которое может быть добавлено в отчет, такое как строковый скаляр, вектор символов или объект DOM. Функция должна принять struct с этими полями:

  • PortHandle - Указатель на входной или выходной порт сигнала шины. Для блоков In Bus Element и Out Bus Element в подсистеме это поле является указателем на порт подсистемы, который соответствует блокам. Для блоков In Bus Element и Out Bus Element на верхнем уровне модели это поле -1.

  • BlockName - Имя отчетной модели, Bus Creator, Bus Selector, Bus Assignment или Subsystem блока, который создает или выбирает отчетную шину, заданную как строковый скаляр.

  • BlockPath - Полный путь модели, Bus CreatorBus Selector, Bus Assignment или Subsystem блока, который создает или выбирает отчетную шину, заданную как строковый скаляр.

  • BusPortString - Для шины, созданной или выбранной моделью или портом подсистемы, это поле содержит входной порт или выходной порт, соединенный с сигналом шины, заданным как строковый скаляр. Для примера, "Inport <x>". В противном случае это поле является пустой строкой (""). 

Для примера: busRptr.Title = @(blkInfo) blkInfo.BlockName;

Типы блоков, используемых для сообщения информации о шине, заданные как одно из следующих значений:

  • "auto" - Сообщает информацию о шине из блоков Bus CreatorBus Assignment и Out Bus Element , если вход является блоком Bus CreatorBus Assignment или Out Bus Element. В противном случае выводится информация о шине из блоков Bus Selector и In Bus Element .

  • "all" - Сообщает информацию о шине от всех поддерживаемых типов блоков, связанных с шиной.

  • Список типов блоков, заданный как строковые массивы или массив ячеек из векторов символов. Допустимые типы блоков:

    • BusCreator

    • BusSelector

    • BusAssignment

    • Inport

    • Outport

    Для примера: ["BusCreator","BusSelector"]

Для моделей или подсистем Bus reporter сообщает информацию о шине из всех блоков типов, которые задает это свойство. Для сигналов репортер сообщает информацию шины из всех блоков заданных типов, которые подключены к сигналу (источник и пункт назначения). Для блоков это свойство используется только в том случае, если IncludeNestedBuses свойство true. Для блоков Bus Selector и In Bus Element репортер сообщает информацию о шине из всех блоков заданного типа, которые соединяются с выходными сигналами блока. Для блоков Bus CreatorBus Assignment и Out Bus Element репортер сообщает информацию о шине из всех блоков заданного типа, которые соединяются с входными сигналами блока.

Сообщать ли о вложенных шинах, задается как true или false. Если это свойство true, репортер сообщает блоки, связанные с шиной, типа, заданного ReportedBlockType которые соединяются с выбранными сигналами или с сигналами, используемыми для создания шины. Если это свойство false и Object является блоком, репортер сообщает только блок, заданный как Object. Если это свойство false и Object является сигналом, репортер сообщает только блоки, непосредственно соединенные с сигналом.

Если Object является моделью или подсистемой, это свойство не имеет эффекта, потому что все блоки типа, заданного ReportedBlockType свойство используется для сообщения шин.

Должен ли сообщать иерархию сигналов шины для каждой шины, заданную как true или false. Если это свойство true, репортер включает список имен сигналов в шине. Для блоков, которые создают автобусы, в списке описывается иерархия сигналов шины выхода. Для блоков, выбирающих сигналы от шин, В списке описывается иерархия сигналов шины входа. Если шина включает какие-либо вложенные сигналы, имена сигналов включаются как вложенный список.

Репортер не включает иерархию сигналов для шин, созданных или выбранных входными или выходными портами модели верхнего уровня.

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

Сообщать ли имя Simulink.Bus объект, связанный с сообщенной шиной, заданный как true или false. Если это свойство true и сообщенная шина описывается как Simulink.BusObjectотчет включает имя объекта шины и связывает имя с информацией об объекте шины, сообщаемой в другом месте отчета.

Репортер не включает имя объекта шины для шин, созданных или выбранных входными или выходными портами модели верхнего уровня.

Нужно ли сообщать имена блоков, подключенных к каждому полному сигналу шины, заданные как true или false. Если это свойство true:

  • Для блоков, которые создают шины, репортер сообщает имена блоков, подключенных к порту, который выводит полный сигнал шины.

  • Для блоков, которые выбирают сигналы шины, репортер сообщает имя блока, из которого выводится сигнал полной шины.

  • Если IncludeBusLinks является true, а Bus Created или Signals Selected ссылка включается после имен блоков, которые совпадают с типами блоков, заданными в ReportedBlockType.

 

Репортер не включает имена связанных блоков для шин, созданных или выбранных входными или выходными портами модели верхнего уровня.

Включать ли ссылку на шину, созданную или выбранную подключенным блоком, заданную как true или false. Если это свойство true, репортер включает в себя ссылку на информацию шины для блоков, которые сообщаются как источник или пункт назначения в таблице сигналов или связанных блоках. Для блоков, типы блоков которых включены в ReportedBlockTypes, а Bus Created или Signals Selected ссылка включена рядом с именем блока.

Сообщать ли имена блоков как ссылки на детали блоков, задается как true или false. Если это свойство trueимя блока в заголовке сигнальной таблицы связывается с подробными данными блока, сообщенными в другом месте отчета.

Нужно ли сообщать номера портов как ссылки на детали сигнала, заданные как true или false. Если это свойство true, репортер сообщает номера портов сигналов в таблице сигналов как ссылки на детали сигнала, сообщенные в другом месте отчета.

Свойства для отчета о сигналах, выбранных Bus Selector или In Bus Element блоками, заданных как строковые массивы или массив ячеек из векторов символов. Задайте любое из следующих свойств:

  • Outport

  • Name

  • DataType

  • Destination

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

Свойства для отчета о сигналах, используемых для создания шины по Bus Creator, Bus Assignment и Out Bus Element блокам, заданные как строковые массивы или массив ячеек векторов символов. Задайте любое из следующих свойств:

  • Inport

  • Name

  • DataType

  • Source

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

Отображать ли пустые столбцы в таблице сигналов, задается как true или false.

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

Если TaskFilterFcn пуст, все задачи включены в отчет.

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

  • Примите следующие аргументы:

    • portHandle - Handle to port выбранного сигнала или сигнала, используемого для создания шины.

    • parentPath - Полный путь родительского блока, используемый для сообщения информации о шине, заданный как строковый скаляр.

    • sourcePath - Полный путь исходного блока сигнала, заданный как строковый скаляр.

    • destinationPath- Полный путь блока назначения сигнала. Если существует несколько адресатов, этот аргумент является строковыми массивами блоков назначения.

  • Возврат true для фильтрации указанного сигнала из отчета, или false включить задачу в отчет.

Для примера этот код использует SignalFilterFcn свойство для фильтрации сигналов, которые поступают в Display3 блок:

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


model_name = "sldemo_bus_arrays";
load_system(model_name);
rpt = slreportgen.report.Report("Bus_example","pdf");

append(rpt,slreportgen.report.Diagram(model_name));

ch = Chapter("Buses");

busRptr = Bus(model_name);
busRptr.SignalFilterFcn = @(~, ~, ~, destinationPath) endsWith(destinationPath,"Display3");

append(ch,busRptr);
append(rpt,ch);
close(rpt);
rptview(rpt);

Если вы задаете строковый скаляр или вектор символов, он должен содержать выражение. Выражение:

  • Можно использовать переменные portHandle, parentPath, sourcePath, и destinationPath

  • Необходимо задать переменную isFiltered на true для фильтрации указанной задачи из отчета или false включить задачу в отчет

Для примера этот код использует SignalFilterFcn свойство для фильтрации сигналов, которые поступают в Display4 блок:

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


model_name = "sldemo_bus_arrays";
load_system(model_name);
rpt = slreportgen.report.Report("Bus_example","pdf");

append(rpt,slreportgen.report.Diagram(model_name));

ch = Chapter("Buses");

busRptr = Bus(model_name);
filterStr = "isFiltered = endsWith(destinationPath,""Display4"");";
busRptr.SignalFilterFcn = filterStr;

append(ch,busRptr);
append(rpt,ch);
close(rpt);
rptview(rpt);

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

Форматтер для списка иерархии сигналов, заданный как mlreportgen.dom.OrderedList или mlreportgen.dom.UnorderedList объект. Форматтер сообщает и форматирует список иерархии сигналов, если ShowSignalHierarchy свойство этого Bus репортер true. The OrderedList или UnorderedList объект не должен содержать элементов списка.

Значение по умолчанию этого свойства является UnorderedList объект со StyleName значение свойства установлено в BusList стиль, заданный в шаблоне по умолчанию для Bus репортер. Чтобы настроить внешний вид списка, измените свойства UnorderedList по умолчанию объект или замените объект на свой собственный UnorderedList или OrderedList объект.

Форматтер абзацев для отчета и форматирования связанных блоков и деталей объекта шины, заданный как mlreportgen.dom.Paragraph объект. Значение по умолчанию этого свойства является mlreportgen.dom.Paragraph объект со StyleName значение свойства установлено в BusParagraph стиль, заданный в шаблоне по умолчанию для Bus репортер. Чтобы настроить внешний вид абзаца, измените свойства mlreportgen.dom.Paragraph по умолчанию объект или замените объект настраиваемым mlreportgen.dom.Paragraph объект. Если вы добавляете содержимое к объекту абзаца по умолчанию или замещения, содержимое появляется перед содержимым, представленным для связанных блоков и подробных данных объекта шины в сгенерированном отчете.

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

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

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

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

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

Имя шаблона для этого репортера, заданное как вектор символов или строковый скаляр. Шаблон для этого репортера должен находиться в библиотеке шаблонов источника шаблона, заданного в TemplateSrc свойство для этого репортера.

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

Методы

расширить все

Примеры

свернуть все

Использование slreportgen.report.Bus объект должен сообщать о шинах, которые выбираются блоками в модели.

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

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

Загрузите модель.

model_name = "sldemo_bus_arrays";
load_system(model_name);

Создайте отчет Simulink.

rpt = slreportgen.report.Report("Bus_example","pdf");

Добавьте схему модели в отчет.

append(rpt,slreportgen.report.Diagram(model_name));

Сообщите информацию о шине для модели в главе.

ch = Chapter("Buses");
busRptr = Bus(model_name);

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

busRptr.Title = @(blkInfo) blkInfo.BlockName;

Добавьте репортера автобуса в главу.

append(ch,busRptr);

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

append(rpt,ch);
close(rpt);
rptview(rpt);
Введенный в R2021a