exponenta event banner

slreportgen.report.Класс шины

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

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

Описание

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

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

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

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

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

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

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

Примечание

Использование slreportgen.report.Bus reporter в отчете, необходимо создать отчет с помощью slreportgen.report.Report класс или подкласс.

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 свойства объекта с использованием пар имя-значение. Можно указать несколько аргументов пары имя-значение в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.

Свойства

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

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

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

Заголовок для каждой сообщаемой шины, указанный как строковый скаляр, символьный вектор, объект 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 Creator, Bus Assignment и Out Bus Element, если входными данными являются   блок Bus Creator, Bus Assignment или Out Bus Element. В противном случае сообщает информацию о шине из   блоков Bus Selector и In Bus Element.

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

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

    • BusCreator

    • BusSelector

    • BusAssignment

    • Inport

    • Вспомогательный порт

    Например: ["BusCreator","BusSelector"]

Для моделей или подсистем: Bus reporter сообщает сведения о шине из всех блоков типов, указанных этим свойством. Для сигналов репортер сообщает информацию шины из всех блоков указанных типов, которые подключены к сигналу (источник и пункт назначения). Для блоков это свойство используется только в том случае, если IncludeNestedBuses свойство - true. Для   блоков Bus Selector и In Bus Element репортер сообщает информацию о шине из всех блоков указанного типа, которые подключены к выходным сигналам блока. Для    блоков Bus Creator, Bus 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, a Bus Created или Signals Selected ссылка включается после имен блоков , соответствующих типам блоков, указанным в ReportedBlockType.

 

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

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

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

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

Свойства для отчета о сигналах, выбранных блоками селектора шины или 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 - Ручка к порту выбранного сигнала или сигнала, используемого для создания шины.

    • 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. 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 ® Word :TemplateSrc должен быть шаблоном репортера Word. Если TemplateSrc пустое свойство, этот репортер использует шаблон репортера по умолчанию для типа вывода отчета.

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

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

Методы

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

Примеры

свернуть все

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

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

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