メインコンテンツ

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 を使用します。

属性:

GetAccess
public
SetAccess
public

データ型: double

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

属性:

GetAccess
public
SetAccess
public

データ型: logical

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

説明
"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

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

メモ

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

データ型: 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=result.Name);
     add(chapter,result);
     add(rpt,chapter);
end

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

バージョン履歴

R2017b で導入