主要内容

slreportgen.finder.SystemDiagramFinder类

包:slreportgen.finder
超类:

创建框图查找器

描述

创建模型金宝app®框图查找器。

建设

= SystemDiagramFinder (容器创建一个查找器,默认情况下查找指定容器中所有未注释的Simulink框图,该容器可以是一个Simulink模型金宝app或子系统。要将搜索约束到特定类型的模型或子系统,请使用查找器的属性。

请注意

该查找器可以在查找模式或迭代器模式下操作。在find模式中,使用its找到方法以结果数组的形式返回搜索结果。在迭代器模式下,使用itshasNext而且下一个方法逐个返回搜索的结果。在有许多模型引用的模型中搜索时,使用迭代器模式。迭代器模式在编译和搜索一个模型后关闭它,而find模式保持它搜索的所有模型都是打开的。拥有许多开放模型会消耗所有的系统内存并减慢报告生成。迭代器模式比查找模式要慢,因此使用查找模式搜索引用很少或不引用其他模型的模型。

= SystemDiagramFinder (名称,值使用名称-值对设置属性。可以以任意顺序指定多个名称-值对参数。将每个属性名用单引号括起来。

输入参数

全部展开

看到容器财产。

属性

全部展开

用于搜索的系统容器,指定为以下值之一:

  • Simulink模型或子金宝app系统的句柄

  • Simulink模型金宝app或子系统的路径

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

选择搜索被屏蔽的子系统,指定为逻辑。如果此属性为真正的时,发现者戴着面具搜索子系统图表容器中的块。它搜索到指定的SearchDepth并包括它在搜索结果中找到的图表。

选择搜索参考模型,指定为逻辑。如果此属性为真正的,查找器搜索图表容器中引用的模型。它搜索到指定的SearchDepth并包括它在搜索结果中找到的图表。

选择搜索Simulink库的链接,金宝app指定为逻辑。如果这个性质和IncludeMaskedSubsystems真正的,查找器在图容器中搜索到Simulink库中的子系统和掩码子系统块的链接。金宝app它搜索到指定的SearchDepth并包括它在搜索结果中找到的图表。如果此属性为真正的,但IncludeMaskedSubsystems,查找器只搜索到Simulink库中的子系统块的链接。金宝app

选择搜索用户库链接,指定为逻辑。如果此属性为真正的IncludeMaskedSubsystems属性是真正的,查找器在关系图容器中搜索到子系统和用户库中屏蔽子系统块的链接。它搜索到指定的SearchDepth并包括它在搜索结果中找到的图表。如果此属性为真正的,但IncludeMaskedSubsystems属性是,查找器只搜索到用户库中的子系统块的链接。

选择将根图包含在搜索结果中,指定为逻辑图。如果真正的而顶层图容器是一个模型,模型框图包含在搜索结果中。否则,搜索结果会忽略模型框图。

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

用于搜索图表的变体,指定为字符串或字符向量。默认值为活跃的.有效值为:

  • 所有-所有变种

  • 活跃的-只有活跃的变种

  • ActivePlusCode-所有活动变量和代码变量

要查找的对象的属性,指定为名称-值对的单元格数组。查找器只返回具有指定属性和指定值的对象。

例子:者。属性= {'Gain','5'}

是否关闭模型,指定为真正的.如果真正的,下一个方法在移动到下一个模型进行搜索之前关闭当前打开的模型。在搜索一个引用很多模型的模型时,关闭模型可以防止过度消耗内存。

请注意

找到方法忽略此属性并使所有引用的模型保持打开状态。由于这个原因,您不应该使用find方法来搜索具有许多模型引用的模型。

方法

结果= find(finder)中查找框图容器由查找器指定。的是一个slreportgen.finder.SystemDiagramFinder对象。结果的数组。slreportgen.finder.DiagramResult对象,其中每个对象都包含通过此方法找到的框图。将数组添加到报表或报表中,将添加其中包含的所有框图的图像。可以向其添加结果该方法的类型是报告slreportgen.report.Report或另一个报告器对象,例如slreportgen.report.Chapter记者。

tf = hasNext(finder)确定查找程序搜索的容器是否包含至少一个图。如果容器至少有一个图,则hasNext方法将该图作为下一个图排队下一个方法将返回。的hasNext方法返回真正的.使用下一个方法获取该图。在随后的呼叫中,hasNext方法确定容器是否具有下一个尚未检索。的关系图进行排队下一个方法来检索并返回真正的.如果没有更多要检索的图,此方法将返回.要逐步在容器中搜索图表,请使用hasNext方法。下一个方法。

请注意

如果当前结果是当前模型的搜索队列中的最后一个结果AutoCloseModel属性是真正的,该方法在打开下一个模型之前关闭当前模型。尽管这增加了搜索时间,但在搜索引用许多其他模型的顶级模型时,它减少了内存消耗。如果您的模型没有引用许多其他模型,为了加快搜索速度,请设置AutoCloseModel财产或使用找到方法。

结果= next(finder)返回下一个搜索结果的结果队列中hasNext方法创建。搜索结果包含结果图。添加这个结果对象为报表或报告添加图表报告器。

复制语义

句柄。要了解句柄类如何影响复制操作,请参见复制对象

例子

查找框图

控件中找到框图的报告slrgex_sf_car模型。

进口mlreportgen.report。*进口slreportgen.report。*进口slreportgen.finder。*model_name =“slrgex_sf_car”;load_system (model_name);rpt = slreportgen.report.Report(“输出”“pdf”);add (rpt TitlePage (“标题”sprintf (“% s系统”...model_name)));add (rpt, TableOfContents);finder = SystemDiagramFinder(model_name);结果= find(finder);结果=结果“标题”, result.Name);添加(章,结果);add (rpt,章);结束关闭(rpt);close_system (model_name);rptview (rpt);

在R2017b中引入