Main Content

slreportgen.finder.SystemDiagramFinder クラス

パッケージ: slreportgen.finder
スーパークラス: slreportgen.finder.DiagramFinder

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

説明

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

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

作成

説明

finder = SystemDiagramFinder(container) は、指定されたコンテナー (Simulink モデルやサブシステムなど) 内のコメントのない Simulink ブロック線図をすべて既定で検索するファインダーを作成します。特定タイプのモデルまたはサブシステムに検索を制約するには、ファインダーのプロパティを使用します。

メモ

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

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

入力引数

すべて展開する

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

プロパティ

すべて展開する

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

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

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

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

マスク サブシステムを検索するかどうかの選択。logical として指定します。このプロパティが true の場合、ファインダーはブロック線図コンテナー内のマスク Subsystem ブロックを検索します。指定された SearchDepth まで検索し、見つかったブロック線図を検索結果に含めます。

参照モデルを検索するかどうかの選択。logical として指定します。このプロパティが true の場合、ファインダーはブロック線図コンテナー内で参照されるモデルを検索します。指定された SearchDepth まで検索し、見つかったブロック線図を検索結果に含めます。

Simulink ライブラリ リンクを検索するかどうかの選択。logical として指定します。このプロパティと IncludeMaskedSubsystems がいずれも true の場合、ファインダーはブロック線図コンテナー内にある、Simulink ライブラリの Subsystem ブロックとマスク Subsystem ブロックの両方へのリンクを検索します。指定された SearchDepth まで検索し、見つかったブロック線図を検索結果に含めます。このプロパティが trueIncludeMaskedSubsystemsfalse の場合、ファインダーは Simulink ライブラリの Subsystem ブロックへのリンクのみを検索します。

ユーザー ライブラリ リンクを検索するかどうかの選択。logical として指定します。このプロパティが trueIncludeMaskedSubsystems プロパティが true の場合、ファインダーはブロック線図コンテナー内にある、ユーザー ライブラリの Subsystem ブロックとマスク Subsystem ブロックへのリンクを検索します。指定された SearchDepth まで検索し、見つかったブロック線図を検索結果に含めます。このプロパティが trueIncludeMaskedSubsystems プロパティが false の場合、ファインダーはユーザー ライブラリの Subsystem ブロックへのリンクのみを検索します。

ルート ブロック線図を検索結果に含めるかどうかの選択。logical として指定します。true かつ最上位ブロック線図のコンテナーがモデルである場合、モデルのブロック線図が検索結果に含められます。それ以外の場合、検索結果ではモデルのブロック線図が省略されます。

コメントアウトされたブロック線図を検索結果に含めるかどうかの選択。logical として指定します。false の場合、コメントアウトされたブロック線図は検索結果から除外されます。

ブロック線図を検索するためのバリアント。string または文字ベクトルとして指定します。既定値は Active です。有効な値は次のとおりです。

  • All — すべてのバリアント

  • Active — アクティブなバリアントのみ

  • ActivePlusCode — すべてのアクティブなバリアントとコード バリアント

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

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

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

メモ

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

メソッド

すべて展開する

すべて折りたたむ

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

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('%s Systems',model_name)));
add(rpt,TableOfContents);
finder = SystemDiagramFinder(model_name); 
results = find(finder);
for result = results
     chapter = Chapter(Title=result.Name);
     add(chapter,result);
     add(rpt,chapter);
end

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

バージョン履歴

R2017b で導入