主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreportgen.report.Bus 类

命名空间: slreportgen.report
超类: slreportgen.report.Reporter

Simulink 模块选择或创建的总线的报告器

自 R2021a 起

描述

使用 slreportgen.report.Bus 类的对象来报告由 Simulink® 模块选择或创建的总线。

总线报告器通过在模型、子系统、模块或信号中搜索从总线中选择信号或组合信号来创建总线的块来查找要报告的总线。对于模型或子系统,Bus 报告器报告在模型或子系统中选择或创建的所有总线。对于某个模块,报告器报告该模块所选择或创建的总线。对于信号,报告器报告连接到该信号指定的端口的模块选择或创建的所有总线。使用 Object 属性指定要报告总线的模型、子系统、模块或信号。

默认情况下,Bus 报告器会生成:

  • 总线中信号的层次列表

  • 包含所选信号或用于创建总线的信号的详细信息的表格

  • 包含有关总线对象和每个与总线相关的模块的连接块的详细信息的段落

使用报告器属性来自定义所生成报告的内容和外观。例如,使用 ReportedBlockType 属性指定在搜索公交车时要使用哪种类型的模块。

注意

要在报告中使用 slreportgen.report.Bus 报告器,您必须使用 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 对象属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

用于搜索总线的模型、模块或信号,指定为下列值之一:

  • 包含模型名称、Subsystem 模块、Bus Creator 模块、Bus Assignment 模块或 Bus Selector 模块的字符向量或字符串标量

每个报告的总线的标题,指定为字符串标量、字符向量、DOM 对象或函数句柄。报告器随附的每辆公交车都报告了该属性的内容。如果此属性为空,则不报告标题。

如果此属性包含文本或返回文本的函数句柄,则该文本将添加到具有 BusTitleParagraph 样式的 mlreportgen.dom.Paragraph 对象中。

如果此属性指定为函数句柄,则该函数必须返回可添加到报告中的内容,例如字符串标量、字符向量或 DOM 对象。该函数必须接受具有以下字段的 struct

  • PortHandle - 总线信号的输入端口或输出端口的句柄。对于子系统中的 In Bus ElementOut Bus Element 模块,该字段是与该模块对应的子系统的端口句柄。对于模型顶层的 In Bus ElementOut Bus Element 模块,该字段为 -1

  • BlockName - 创建或选择报告总线的报告模型、Bus CreatorBus SelectorBus AssignmentSubsystem 模块的名称,指定为字符串标量。

  • BlockPath - 创建或选择报告总线的模型、Bus CreatorBus SelectorBus AssignmentSubsystem 模块的完整路径,指定为字符串标量。

  • BusPortString - 对于由模型或子系统端口创建或选择的总线,此字段包含连接到总线信号的输入端口或输出端口,指定为字符串标量。例如,"Inport <x>"。否则,该字段为空字符串 ("")。

例如:busRptr.Title = @(blkInfo) blkInfo.BlockName;

用于报告总线信息的模块类型,指定为以下值之一:

  • "auto" - 如果输入是 Bus CreatorBus AssignmentOut Bus Element 模块,报告来自 Bus CreatorBus AssignmentOut Bus Element 块的总线信息。否则,报告来自 Bus SelectorIn Bus Element 模块的总线信息。

  • "all" -报告所有支持的总线相关模块类型的总线信息。

  • 模块类型列表,指定为字符串数组或字符向量元胞数组。有效的模块类型为:

    • BusCreator

    • BusSelector

    • BusAssignment

    • Inport

    • Outport

    例如:["BusCreator","BusSelector"]

对于模型或子系统,Bus 报告器报告此属性指定类型的所有模块的总线信息。对于信号,报告器报告连接到信号(源和目标)的所有指定类型的模块的总线信息。对于模块,仅当 IncludeNestedBuses 属性为 true 时才使用此属性。对于 Bus SelectorIn Bus Element 模块,报告器报告与该模块的输出信号相连的所有指定类型的模块的总线信息。对于 Bus CreatorBus AssignmentOut Bus Element 模块,报告器报告与该模块的输入信号相连的所有指定类型的模块的总线信息。

是否报告嵌套总线,指定为 truefalse。如果此属性为 true,则报告器报告与所选信号或用于创建总线的信号相连的由 ReportedBlockType 指定类型的总线相关模块。如果此属性为 false 并且 Object 为模块,则报告器仅报告 Object 指定的模块。如果此属性为 false 并且 Object 是信号,则报告器仅报告与信号直接连接的模块。

如果 Object 是模型或子系统,则此属性无效,因为所有由 ReportedBlockType 属性指定类型的模块都用于报告总线。

是否报告每条总线的总线信号层次,指定为 truefalse。如果此属性为 true,则报告器将包含总线中信号名称的列表。对于创建总线的模块,列表描述了输出总线的信号层次结构。对于从总线选择信号的模块,列表描述了输入总线的信号层次结构。如果总线包含任何嵌套信号,则信号名称将作为嵌套列表包含在内。

报告器不包括由顶层模型输入或输出端口创建或选择的总线的信号层次结构。

是否报告信号的详细信息,指定为 truefalse。如果此属性为 true,则报告器将包含一个表,描述从总线中选择的信号或用于创建总线的信号,具体取决于模块类型。

是否报告与所报告总线关联的 Simulink.Bus 对象的名称,指定为 truefalse。如果此属性为 true 并且报告的总线由 Simulink.BusObject 描述,则报告将包括总线对象的名称,并将该名称链接到报告中其他地方报告的总线对象信息。

报告器不包括由顶层模型输入或输出端口创建或选择的总线的总线对象名称。

是否报告连接到每个完整总线信号的模块的名称,指定为 truefalse。如果此属性是 true

  • 对于创建总线的模块,报告器报告连接到输出完整总线信号的端口的模块的名称。

  • 对于选择总线信号的模块,报告器报告输出完整总线信号的模块的名称。

  • 如果 IncludeBusLinkstrue,则在与 ReportedBlockType 指定的模块类型匹配的块名称后面会包含 Bus CreatedSignals Selected 链接。

报告器不包括由顶层模型输入或输出端口创建或选择的总线的连接模块的名称。

是否包含由连接模块创建或选择的总线的链接,指定为 truefalse。如果此属性为 true,则报告器将包含指向在信号表或连接模块节中作为源或目标报告的模块的总线信息的链接。对于模块类型包含在 ReportedBlockTypes 中的块,模块名称旁边包含 Bus CreatedSignals Selected 链接。

是否将模块名称报告为模块详细信息的链接,指定为 truefalse。如果此属性为 true,则信号表标题中的模块名称将链接到报告中其他地方报告的模块详细信息。

是否将端口号报告为信号详细信息的链接,指定为 truefalse。如果此属性为 true,则报告器将信号表中的信号端口号报告为指向报告中其他地方报告的信号详细信息的链接。

要报告的由 Bus SelectorIn Bus Element 模块选择的信号的属性,指定为字符串数组或字符向量元胞数组。指定以下属性:

  • Outport

  • Name

  • DataType

  • Destination

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

用于报告 Bus CreatorBus AssignmentOut Bus Element 模块创建总线的信号的属性,指定为字符串数组或字符向量元胞数组。指定以下属性:

  • Inport

  • Name

  • DataType

  • Source

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

是否在信号表中显示空列,指定为 truefalse

用于过滤信号表中的信号的函数或表达式,指定为函数句柄、字符串标量或字符向量。指定一个函数作为函数句柄。指定一个表达式作为字符向量或字符串标量。对每个选择或用于创建总线的信号执行该函数或代码。

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

如果您提供字符串标量或字符向量,它必须包含表达式。表达式:

  • 可以使用变量 portHandleparentPathsourcePathdestinationPath

  • 必须将变量 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 对象。如果向 BaseTable 对象的 Title 属性添加内容,则该内容会出现在生成的报告中的表格标题前面。

信号层次结构列表的格式化程序,指定为 mlreportgen.dom.OrderedListmlreportgen.dom.UnorderedList 对象。如果此 Bus 报告器的 ShowSignalHierarchy 属性为 true,则格式化程序报告并格式化信号层次结构列表。OrderedListUnorderedList 对象不能包含列表项。

该属性的默认值是 UnorderedList 对象,其 StyleName 属性设置为 BusList 样式,该样式在 Bus 报告器的默认模板中定义。要自定义列表的外观,请修改默认 UnorderedList 对象的属性,或将该对象替换为您自己的 UnorderedListOrderedList 对象。

段落格式化程序用于报告和格式化所连接的模块和总线对象的详细信息,指定为 mlreportgen.dom.Paragraph 对象。该属性的默认值是 mlreportgen.dom.Paragraph 对象,其 StyleName 属性设置为 BusParagraph 样式,该样式在 Bus 报告器的默认模板中定义。要自定义段落的外观,请修改默认 mlreportgen.dom.Paragraph 对象的属性,或将该对象替换为自定义的 mlreportgen.dom.Paragraph 对象。如果向默认或替换段落对象添加内容,则该内容会出现在生成的报告中针对连接模块和总线对象详细信息报告的内容前面。

此报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告

  • 文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板

指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

此报告器的模板名称,指定为字符向量或字符串标量。此报告器的模板必须位于此报告器 TemplateSrc 属性所指定模板的模板库中。

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标紧接在输出报告中此报告器的内容之前。

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

示例

全部折叠

使用 slreportgen.report.Bus 对象来报告模型中的模块所选择的总线。

导入报告 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 中推出