メインコンテンツ

slreportgen.finder.SystemDiagramFinder クラス

名前空間: slreportgen.finder
スーパークラス: slreportgen.finder.DiagramFinder

ブロック線図ファインダーを作成する

説明

Simulink® ブロック線図ファインダーを作成します。

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

クラス属性

HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

finder = SystemDiagramFinder(container) は、指定されたコンテナー (Simulink モデルまたはサブシステム) 内の Simulink ブロック線図を検索するファインダーを作成します。特定のタイプのモデルまたはサブシステムのみを含めるように検索を制約するには、ファインダーのプロパティを使用します。

メモ

このファインダーは、検索モードまたは反復子モードのいずれかで動作可能です。検索モードでは、その find メソッドを使用して、検索結果を結果の配列として返します。反復子モードでは、その hasNext メソッドと next メソッドを使用して、検索結果を 1 つずつ返します。多数のモデル参照をもつモデルを検索する場合は、反復子モードを使用します。反復子モードではモデルのコンパイルと検索の後にモデルを閉じますが、検索モードでは検索したすべてのモデルを開いたままにします。開いたモデルが多数あると、すべてのシステム メモリが消費され、レポート生成が遅くなる可能性があります。反復子モードは検索モードより遅いため、他のモデルをほとんど、またはまったく参照しないモデルを検索するには検索モードを使用します。

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

入力引数

すべて展開する

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

プロパティ

すべて展開する

検索の対象となるシステム コンテナー。次のいずれかの値として指定します。

  • Simulink モデルまたはサブシステムのハンドル

  • Simulink モデルまたはサブシステムへのパス

属性:

GetAccess
public
SetAccess
public

システム検索の深さ。Inf または正の整数として指定します。SearchDepth は、コンテナーでブロック線図またはチャートを検索する深さのレベルを指定します。すべてのレベルを検索するには、Inf を使用します。

属性:

GetAccess
public
SetAccess
public

データ型: double

マスク サブシステムを検索するかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次の通りです。

  • 1 (true) — コンテナー内のマスクされた Subsystem ブロックを検索します。指定された SearchDepth まで検索し、見つかったブロック線図またはチャートを検索結果に含めます。

  • 0 (false) — マスク サブシステムを検索しません。

属性:

GetAccess
public
SetAccess
public

データ型: logical

参照モデルを検索するかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次の通りです。

  • 1 (true) — ファインダーは、コンテナー内で参照されているモデルを検索します。指定された SearchDepth まで検索し、見つかったブロック線図またはチャートを検索結果に含めます。

  • 0 (false) — モデル参照を検索しません。

属性:

GetAccess
public
SetAccess
public

データ型: logical

Simulink ライブラリ リンクを検索するかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次のとおりです。

  • 1 (true) — Simulink ライブラリ リンクを検索します。IncludeMaskedSubsystems プロパティも true である場合、ファインダーは、コンテナー内にある、Simulink ライブラリの Subsystem ブロックおよびマスク Subsystem ブロックへのリンクを検索します。ファインダーは、指定された SearchDepth まで検索し、見つかったブロック線図またはチャートを検索結果に含めます。IncludeMaskedSubsystems プロパティが false の場合、ファインダーは Simulink ライブラリの Subsystem ブロックへのリンクのみを検索します。

  • 0 (false) — Simulink ライブラリ リンクを検索しません。

属性:

GetAccess
public
SetAccess
public

データ型: logical

ユーザー ライブラリ リンクを検索するかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次の通りです。

  • 1 (true) — ユーザー ライブラリ リンクを検索します。IncludeMaskedSubsystems プロパティも true である場合、ファインダーは、コンテナー内にある、ユーザー ライブラリの Subsystem ブロックおよびマスク Subsystem ブロックへのリンクを検索します。指定された SearchDepth まで検索し、見つかったブロック線図またはチャートを検索結果に含めます。IncludeMaskedSubsystems プロパティが false の場合、ファインダーはユーザー ライブラリの Subsystem ブロックへのリンクのみを検索します。

  • 0 (false) — ユーザー ライブラリ リンクを検索しません。

属性:

GetAccess
public
SetAccess
public

データ型: logical

ルート ブロック線図を検索結果に含めるかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次のとおりです。

  • 1 (true) — true かつ最上位ブロック線図のコンテナーがモデルである場合、モデルのブロック線図が検索結果に含められます。

  • 0 (false) — 検索結果からモデルのブロック線図が除外されます。

属性:

GetAccess
public
SetAccess
public

データ型: logical

コメントアウトされたブロック線図またはチャートを検索結果に含めるかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次の通りです。

  • 1 (true) — コメントアウトされたブロック線図またはチャートを検索結果に含めます。

  • 0 (false) — コメントアウトされたブロック線図またはチャートを検索結果から除外します。

属性:

GetAccess
public
SetAccess
public

データ型: logical

ブロック線図を検索する際にバリアントを含めるかどうか。次のいずれかの値として指定します。

説明
"Active"アクティブなバリアント
"All"すべてのバリアント
"ActivePlusCode"アクティブなバリアントとコード バリアント

属性:

GetAccess
public
SetAccess
public

データ型: char | string

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

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

属性:

GetAccess
public
SetAccess
public

データ型: char | string

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

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

属性:

GetAccess
public
SetAccess
public

データ型: cell

モデルを閉じるかどうか。logical 1 (true) または 0 (false) として指定します。指定に関する詳細は次の通りです。

  • 1 (true) — ファインダーの next メソッドは、検索対象の次のモデルに移動する前に現在開いているモデルを閉じます。モデルを閉じることで、多数のモデルを参照するモデルを検索する際にメモリが過剰に消費されるのを防止します。

  • 0 (false) — 検索中にモデルを開いたままにします。

メモ

ファインダーの find メソッドはこのプロパティを無視し、すべての参照モデルを開いたままにします。このため、多数のモデル参照があるモデルの検索では find メソッドを使用すべきではありません。

属性:

GetAccess
public
SetAccess
public

データ型: logical

メソッド

すべて展開する

すべて折りたたむ

sf_car モデル内でブロック線図を検索するレポートを作成します。

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
model_name = "sf_car";
load_system(model_name);

rpt = slreportgen.report.Report("output","pdf");
add(rpt, TitlePage(Title=model_name +" Systems"));
add(rpt,TableOfContents);
finder = SystemDiagramFinder(model_name); 
results = find(finder);
for result = results
     chapter = Chapter(...
         Title=mlreportgen.utils.normalizeString(result.Name));
     add(chapter,result);
     add(rpt,chapter);
end

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

バージョン履歴

R2017b で導入