slreportgen.report.Bus 类
命名空间: slreportgen.report
超类: slreportgen.report.Reporter
描述
使用 slreportgen.report.Bus
类的对象来报告由 Simulink® 模块选择或创建的总线。
总线报告器通过在模型、子系统、模块或信号中搜索从总线中选择信号或组合信号来创建总线的块来查找要报告的总线。对于模型或子系统,Bus
报告器报告在模型或子系统中选择或创建的所有总线。对于某个模块,报告器报告该模块所选择或创建的总线。对于信号,报告器报告连接到该信号指定的端口的模块选择或创建的所有总线。使用 Object
属性指定要报告总线的模型、子系统、模块或信号。
默认情况下,Bus
报告器会生成:
总线中信号的层次列表
包含所选信号或用于创建总线的信号的详细信息的表格
包含有关总线对象和每个与总线相关的模块的连接块的详细信息的段落
使用报告器属性来自定义所生成报告的内容和外观。例如,使用 ReportedBlockType
属性指定在搜索公交车时要使用哪种类型的模块。
注意
要在报告中使用 slreportgen.report.Bus
报告器,您必须使用 slreportgen.report.Report
类或子类创建报告。
slreportgen.report.Bus
类是 handle
类。
创建对象
属性
用于搜索总线的模型、模块或信号,指定为下列值之一:
包含模型名称、Subsystem 模块、Bus Creator 模块、Bus Assignment 模块或 Bus Selector 模块的字符向量或字符串标量
模型、Subsystem 模块、Bus Creator 模块、Bus Assignment 模块或 Bus Selector 模块的句柄
连接到信号的模块输入或输出端口的句柄
slreportgen.finder.DiagramResult
、slreportgen.finder.BlockResult
或slreportgen.finder.SignalResult
对象
每个报告的总线的标题,指定为字符串标量、字符向量、DOM 对象或函数句柄。报告器随附的每辆公交车都报告了该属性的内容。如果此属性为空,则不报告标题。
如果此属性包含文本或返回文本的函数句柄,则该文本将添加到具有 BusTitleParagraph
样式的 mlreportgen.dom.Paragraph
对象中。
如果此属性指定为函数句柄,则该函数必须返回可添加到报告中的内容,例如字符串标量、字符向量或 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 Creator、Bus 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
Outport
例如:
["BusCreator","BusSelector"]
对于模型或子系统,Bus
报告器报告此属性指定类型的所有模块的总线信息。对于信号,报告器报告连接到信号(源和目标)的所有指定类型的模块的总线信息。对于模块,仅当 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
,则在与ReportedBlockType
指定的模块类型匹配的块名称后面会包含Bus Created
或Signals Selected
链接。
报告器不包括由顶层模型输入或输出端口创建或选择的总线的连接模块的名称。
是否包含由连接模块创建或选择的总线的链接,指定为 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
- 所选信号或用于创建总线的信号的端口句柄。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
对象。如果向 BaseTable
对象的 Title
属性添加内容,则该内容会出现在生成的报告中的表格标题前面。
信号层次结构列表的格式化程序,指定为 mlreportgen.dom.OrderedList
或 mlreportgen.dom.UnorderedList
对象。如果此 Bus
报告器的 ShowSignalHierarchy
属性为 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
属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
NonCopyable | true |
此报告器的模板名称,指定为字符向量或字符串标量。此报告器的模板必须位于此报告器 TemplateSrc
属性所指定模板的模板库中。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
数据类型: char
| string
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget
对象。字符向量或字符串标量值转换为 LinkTarget
对象。链接目标紧接在输出报告中此报告器的内容之前。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
方法
slreportgen.report.Bus.createTemplate | 创建公交报告器模板 |
slreportgen.report.Bus.customizeReporter | 创建 slreportgen.report.Bus 类的子类 |
slreportgen.report.Bus.getClassFolder | 获取包含 slreportgen.report.Bus 类定义文件的文件夹位置 |
copy | 创建 Simulink 报告器对象的副本并对某些属性值进行深度复制 |
getImpl | 获取报告器的实施 |
示例
使用 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 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)