主要内容

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

slreportgen.finder.ChartDiagramFinder 类

命名空间: slreportgen.finder
超类: slreportgen.finder.DiagramFinder

创建 Stateflow 图查找器

描述

查找 Stateflow® 图。

slreportgen.finder.ChartDiagramFinder 类是 handle 类。

创建对象

描述

finder = ChartDiagramFinder(container) 创建一个查找器,默认查找指定 container 中所有未注释的 Stateflow 图。要将搜索限制到特定类型的图,请使用此查找器的属性。

注意

该查找器可以在查找模式或迭代器模式下运行。在查找模式下,使用其 find 方法将搜索结果作为结果数组返回。在迭代器模式下,使用其 hasNextnext 方法逐一返回搜索的结果。在具有许多模型引用的模型中搜索时,使用迭代器模式。迭代器模式在编译和搜索模型后会关闭该模型,而查找模式则会保持其搜索的所有模型处于打开状态。打开多个模型会消耗所有系统内存并减慢报告生成速度。迭代器模式比查找模式慢,因此使用查找模式来搜索引用很少或不引用其他模型的模型。

示例

finder = ChartDiagramFinder(Name=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。

输入参量

全部展开

请参阅 Container 属性。

属性

全部展开

要搜索的图容器,指定为以下值之一:

  • Stateflow 图模块的句柄

  • Stateflow 图模块的路径

  • Stateflow 图 ID

  • Stateflow 图对象

属性:

GetAccess
公共
SetAccess
公共

系统图搜索的深度,指定为 Inf 或正整数。SearchDepth 指定在图容器中搜索图的深度级别。要搜索所有层级,请使用 Inf

属性:

GetAccess
公共
SetAccess
公共

数据类型: double

选择搜索封装子系统,指定为逻辑值 1 (true) 或 0 (false)。如果此属性为 true,则查找器将在图容器中搜索封装的 Subsystem 模块。它搜索指定的 SearchDepth 并将找到的图包含在搜索结果中。

属性:

GetAccess
公共
SetAccess
公共

数据类型: logical

选择搜索引用模型,指定为逻辑值 1 (true) 或 0 (false)。如果此属性为 true,则查找器将搜索图容器中引用的模型。它搜索指定的 SearchDepth 并将找到的图包含在搜索结果中。

属性:

GetAccess
公共
SetAccess
公共

数据类型: logical

选择搜索 Simulink 库链接,指定为逻辑值 1 (true) 或 0 (false)。如果此属性和 IncludeMaskedSubsystems 都是 true,则查找器将在图容器中搜索指向 Simulink 库中的子系统和封装 Subsystem 模块的链接。它搜索指定的 SearchDepth 并将找到的图包含在搜索结果中。如果此属性为 true,但 IncludeMaskedSubsystemsfalse,则查找器仅搜索 Simulink 库中 Subsystem 模块的链接。

属性:

GetAccess
公共
SetAccess
公共

数据类型: logical

选择搜索用户库链接,指定为逻辑值 1 (true) 或 0 (false)。如果此属性为 trueIncludeMaskedSubsystems 属性为 true,则查找器将在图容器中搜索指向用户库中的子系统和封装子系统模块的链接。它搜索指定的 SearchDepth 并将找到的图包含在搜索结果中。如果此属性为 true,但 IncludeMaskedSubsystems 属性为 false,则查找器仅搜索用户库中 Subsystem 模块的链接。

属性:

GetAccess
公共
SetAccess
公共

数据类型: logical

选择在搜索结果中包含注释掉的图,指定为逻辑值。如果是 false,注释掉的图将被排除在搜索结果之外。

搜索图的变体,指定为字符串或字符向量。默认值为 Active。有效值为:

描述
"Active"活动变体
"All"所有变体
"ActivePlusCode"活跃变体和代码变体

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

查找器结果的排序方法,指定为下列值之一:

描述
"none"不对结果进行排序。
"alphabetical"按名称的字母顺序对结果进行排序。
"numBlocks"按系统中的模块数对结果进行排序。排序列表中的第一个模块包含最多的块。
"depth"按在模型层次结构中的深度对结果进行排序。排序列表中的第一个系统是层次结构中最高的系统。例如,一个模型及其子系统按以下顺序排序: myModelmyModel/subsystem1myModel/subsystem1/nestedSubststem

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

要查找的对象的属性,指定为名称-值参量的元胞数组。查找器仅返回具有指定属性和指定值的对象。

示例: finder.Properties = {'Gain','5'}

属性:

GetAccess
公共
SetAccess
公共

数据类型: cell

是否关闭模型,指定为 truefalse。如果是 true,则查找器的 next 方法会关闭当前打开的模型,然后再移动到下一个要搜索的模型。关闭模型可以防止在搜索引用许多模型的模型时过度消耗内存。

注意

查找器的 find 方法忽略此属性并将所有引用模型保持为打开状态。因此,您不应使用 find 方法来搜索具有许多模型引用的模型。

数据类型: logical

方法

全部展开

示例

全部折叠

创建一份包含 sldemo_fuelsys 模型中所有 Stateflow 图图像的报告。每个图使用单独的章节。

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
 
model_name = "sldemo_fuelsys";
load_system(model_name);
rpt = slreportgen.report.Report("output","pdf");

add(rpt, TitlePage(Title=sprintf("%s Charts",model_name)));
add(rpt, TableOfContents);
chapter = Chapter("Root System");
add(chapter, Diagram(model_name));
add(rpt,chapter);

chapter = Chapter("Charts");
finder = ChartDiagramFinder(model_name); 
results = find(finder);
for result = results
    section = Section(Title=result.Name);
    add(section,result);
    add(chapter,section);
end
add(rpt, chapter);

close(rpt);
close_system(model_name);
rptview(rpt);

版本历史记录

在 R2017b 中推出