slreportgen.report.BusObject 类
命名空间: slreportgen.report
超类: slreportgen.report.Reporter
Simulink 总线对象报告器
描述
创建一个报告器,在报告中生成有关 Simulink.Bus 对象的信息。
注意
要在报告中使用总线对象报告器,您必须使用 slreportgen.report.Report 类或子类创建报告。
slreportgen.report.BusObject 类是 handle 类。
创建对象
描述
创建一个空的 reporter = slreportgen.report.BusObjectslreportgen.report.BusObject 报告器对象。使用报告器对象属性自定义总线对象报告信息的内容和格式。在将报告器添加到报告之前,您必须将报告器的 Object 属性设置为指定 slreportgen.report.ModelVariableResult 对象的 Simulink.VariableUsage 或 Simulink.Bus 对象。在报告中添加空的报告器会产生错误。
为 reporter = slreportgen.report.BusObject(object)Simulink.Bus 或 slreportgen.report.ModelVariableResult 对象指定的 Simulink.VariableUsage 对象创建一个报告器。请参阅 Object 属性。
使用名称-值参量设置报告器属性。您可以按任意顺序指定多个名称-值参量。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.UnorderedList 对象或 mlreportgen.dom.OrderedList 对象。该属性的默认值是 mlreportgen.dom.UnorderedList 的对象。要自定义列表格式,请修改列表对象属性或将列表对象替换为不包含列表项的自定义列表对象。
表格报告器用于格式化总线对象属性表,指定为 mlreportgen.report.BaseTable 对象。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 BusObjectPropertiesTable 样式,该样式在 BusObject 报告器的默认模板中定义。
要自定义表格的外观,请修改默认表格报告器的属性或将其替换为自定义的表格报告器。如果您向默认或自定义表格报告器的 Title 属性添加内容,则该内容将显示在生成的报告中的表格标题前面。
表格报告器用于格式化总线元素属性表,指定为 mlreportgen.report.BaseTable 对象。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 BusObjectElementsTable 样式,该样式在 BusObject 报告器的默认模板中定义。
要自定义表格的外观,请修改默认表格报告器的属性或将其替换为自定义的表格报告器。如果您向默认或自定义表格报告器的 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) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板
指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
NonCopyable | true |
此报告器的模板名称,指定为字符向量或字符串标量。此报告器的模板必须位于此报告器 TemplateSrc 属性所指定模板的模板库中。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
数据类型: char | string
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标紧接在输出报告中此报告器的内容之前。
属性:
GetAccess | 公共 |
SetAccess | 公共 |
方法
slreportgen.report.BusObject.createTemplate | 创建总线对象报告器模板 |
slreportgen.report.BusObject.customizeReporter | 创建自定义总线对象报告器 |
slreportgen.report.BusObject.getClassFolder | 总线对象报告器类定义文件位置 |
copy | 创建 Simulink 报告器对象的副本并对某些属性值进行深度复制 |
getImpl | 获取报告器的实施 |
示例
通过使用模型变量查找器查找模型中使用的所有变量,然后为每个总线对象变量创建一个总线报告器,报告模型中的总线对象。
% 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 reported busReporter.ReportedElementProperties = {'Name','DataType','Min','Max'}; % Display element 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 中推出
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)