主要内容

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

systemcomposer.rptgen.finder.ComponentFinder 类

命名空间: systemcomposer.rptgen.finder
超类: mlreportgen.finder.Finder (MATLAB Report Generator)

查找组件

自 R2022b 起

描述

systemcomposer.rptgen.finder.ComponentFinder 类可搜索 System Composer™ 架构模型中所有组件的信息。

创建对象

finder = ComponentFinder(Container) 创建一个查找器,用于查找模型中符合 Query 属性的所有组件。

注意

此查找器提供了以下选项来获取搜索结果:

  • 要将搜索结果作为数组返回,请使用 find 方法。将结果直接添加到报告中或在 for 循环中处理结果。

  • 要逐个迭代结果,请在 while 循环中使用 hasNextnext 方法。

这两个选项在性能上都没有优势。

属性

全部展开

不带 .slx 扩展名的架构模型文件名,指定为字符串形式。

示例: f = ComponentFinder("ArchModel")

数据类型: string

指定为 systemcomposer.query.Constraint 对象的查找组件的查询。

属性:

GetAccess
public
SetAccess
public

递归搜索模型或仅搜索特定层的选项,指定为 1 (true) 表示递归搜索,指定为 0 (false) 表示仅搜索特定层。

属性:

GetAccess
public
SetAccess
public

数据类型: logical

搜索引用架构的选项,指定为 1 (true) 或 0 (false)。

属性:

GetAccess
public
SetAccess
public

数据类型: logical

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

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

数据类型: char

方法

全部展开

示例

全部折叠

使用 ComponentFinderComponentResultConnectorFinderConnectorResult 类创建报告,以查找给定架构模型中的所有组件和连接。

import systemcomposer.rptgen.finder.*
import mlreportgen.report.*
import slreportgen.report.*
import systemcomposer.query.*

打开 scKeylessEntrySystem 工程。

prj_name = "scKeylessEntrySystem";
prj = openProject(prj_name);

加载 KeylessEntryArchitecture 架构模型。

model_name = "KeylessEntryArchitecture";
mdl = systemcomposer.loadModel(model_name);

创建一个报告,并追加标题页和目录。

compReport = slreportgen.report.Report(OutputPath=model_name + "_SystemArchitectureReport.pdf", ...
    CompileModelBeforeReporting=false);
append(compReport,TitlePage(Title="Components and Connectors in " + model_name));
append(compReport,TableOfContents);

创建一个章节,包含与架构模型组件相关的所有部分。

componentsChapter = Chapter("Components in " + model_name);

查找架构模型中的所有组件。

componentFinder = ComponentFinder(model_name);
componentFinder.Query = AnyComponent;

while hasNext(componentFinder)
    componentResult = next(componentFinder);  

为每个组件创建一个章节。

    compSection = Section(Title=componentResult.Name);    
    append(compSection,componentResult);

查找组件上的所有连接器。

    connectorFinder = ConnectorFinder(model_name);
    connectorFinder.ComponentName = componentResult.Name;
    connectorResult = find(connectorFinder);
    for connector = connectorResult
        connectorReporter = getReporter(connector);
        append(compSection,connectorReporter.Source);
    end

    append(componentsChapter,compSection);
end

将章节附加到报告中,并查看生成的报告。

append(compReport,componentsChapter);
close(compReport);
rptview(compReport);

版本历史记录

在 R2022b 中推出