Main Content

slreportgen.finder.AnnotationFinder クラス

パッケージ: slreportgen.finder

Simulink 注釈オブジェクトの検索

説明

Simulink® または Stateflow® のブロック線図から注釈オブジェクトを検索します。

slreportgen.finder.AnnotationFinder クラスは handle クラスです。

作成

説明

finder = AnnotationFinder(diagram) は既定で、指定されたブロック線図内のすべての注釈を検索するファインダーを作成します。検索を特定タイプの注釈に制約するには、このファインダーのプロパティを使用します。

メモ

このファインダーには、検索結果を取得する 2 つの方法が用意されています。

  • 検索結果を配列として返すには、find メソッドを使用します。結果をレポートに直接追加するか、for ループで結果を処理します。

  • 一度に 1 つずつ結果を反復処理するには、while ループで hasNext メソッドと next メソッドを使用します。

これらのオプションに、パフォーマンス上の差はありません。

finder = AnnotationFinder(Name=Value) は、名前と値の引数を使用してプロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。

入力引数

すべて展開する

Container プロパティを参照してください。

プロパティ

すべて展開する

検索の対象となるブロック線図。次のいずれかの値として指定します。

  • Simulink ブロックのハンドル

  • Simulink ブロックへのパス

  • Stateflow Chart ブロックのハンドル

  • Stateflow Chart ブロックへのパス

  • Stateflow チャート ID

  • Stateflow チャート オブジェクト

ファインダーの結果の並べ替えメソッド。次のいずれかの値として指定します。

説明
"none"結果を並べ替えません。
"alphabetical"結果を名前のアルファベット順に並べ替えます。
"systemAlpha"結果を親システム名のアルファベット順に並べ替えます。
"depth"結果をモデルの階層構造の深さ順に並べ替えます。並べ替えられたリストの最初の結果は、階層構造内で最上位のシステムのものです。たとえば、モデルとそのサブシステムは、 myModelmyModel/subsystem1myModel/subsystem1/nestedSubststem の順に並べ替えられます。

Container を検索するレベルの数。次のいずれかの値として指定します。

説明
[] (既定)
  • Container がブロック線図の場合、ブロック線図の最上位のみを検索します。

  • Container が Stateflow チャートの場合、チャートの最上位から参照できる要素のみを検索します。検索には、入れ子形式のステート内にある要素が含まれますが、サブチャート内の要素は除外されます。

非負の整数

指定された数のレベルを検索します。

inf

すべてのレベルを検索します。

検索対象とするオブジェクトのプロパティ。名前と値のペアの cell 配列として指定します。ファインダーは、指定のプロパティが指定の値をもつオブジェクトのみを返します。

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

メソッド

すべて展開する

すべて折りたたむ

slrgex_sf_car モデル内の注釈を検索するレポートを作成します。

次のコマンドを実行して、この例で使用するサポート ファイルにアクセスします。

openExample('rptgenext/SimulinkReportGeneratorFilesExample');
import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*

model_name = "slrgex_sf_car";
load_system(model_name);

rpt = slreportgen.report.Report("output","pdf");
add(rpt,TitlePage(...
            Title=sprintf("Annotations in %s Model",model_name)));
add(rpt,TableOfContents);

diagFinder = SystemDiagramFinder(model_name);
diagrams = find(diagFinder);
while hasNext(diagFinder)
    diagram = next(diagFinder);
    annotFinder = AnnotationFinder(diagram.Object);
    annotations = find(annotFinder);
    if ~isempty(annotations)
        chapter = Chapter(Title=diagram.Name);
        add(chapter, diagram);
        sect = Section(Title="Annotations");       
        add(sect,annotations);
        add(chapter,sect);
        add(rpt,chapter);
    end
end

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

バージョン履歴

R2017b で導入