Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

slreportgen.finder.FunctionReferenceFinder クラス

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

Simulink ブロック内の MATLAB 関数参照の検索

R2022a 以降

説明

クラス slreportgen.finder.FunctionReferenceFinder のオブジェクトを使用して、特に Simulink® ブロック内のパラメーターの計算に使用される関数参照を検索します。

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

クラス属性

HandleCompatible
true

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

作成

説明

funcRefFinder = slreportgen.finder.FunctionReferenceFinder(container) は、FunctionReferenceFinder オブジェクトを作成し、Container プロパティを container に設定します。

theReporter = slreportgen.finder.FunctionReferenceFinder(Name=Value) は、1 つ以上の名前と値の引数を使用してプロパティを設定します。

プロパティ

すべて展開する

関数参照を検索する Simulink モデルまたはブロック。次の値のいずれかとして指定します。

説明
モデル名モデル名。string スカラーまたは文字ベクトルとして指定します。例: "slrgex_sf_car"
ブロックへのパスブロックへのパス。string スカラーまたは文字ベクトルとして指定します。例: "slrgex_sf_car/Engine"
モデル ハンドルモデル ハンドル。関数 slreportgen.utils.getModelHandle によって生成されます。例: slreportgen.utils.getModelHandle("slrgex_sf_car")
ブロック ハンドルブロック ハンドル。関数 getSimulinkBlockHandle によって生成されます。例: getSimulinkBlockHandle("slrgex_sf_car/Engine")
slreportgen.finder.DiagramResult オブジェクトSimulink モデルまたはサブシステムを表す検索結果オブジェクト
slreportgen.finder.BlockResult オブジェクトSimulink ブロックを表す検索結果オブジェクト

コンテナー内を検索するレベルの数。非負の整数または inf (検索する深さを無制限にする場合) として指定します。

属性:

GetAccess
public
SetAccess
public

検索する関数のタイプ。次の値のいずれかとして指定します。

説明
"all"すべての関数参照の検索
"built-in"組み込み関数参照の検索
"user-defined"ユーザー定義関数参照の検索

属性:

GetAccess
public
SetAccess
public

データ型: string | char

Container プロパティによって表されるモデルまたはブロックが参照するモデル内を検索するかどうか。logical 1 (true) または 0 (false) として指定します。SearchReferencedModels が true の場合、次のようになります。

  • ファインダーは、検索の深さ内にある参照モデルのみを検索します。

  • ファインダーは、参照モデルを含むブロックの深さに関係なく、SearchDepth で指定された深さまで参照モデルを検索します。

  • ファインダーは、参照モデルが参照するモデルを検索します。

属性:

GetAccess
public
SetAccess
public

データ型: logical

マスク内を検索するかどうか。logical 1 (true) または 0 (false) として指定します。

属性:

GetAccess
public
SetAccess
public

データ型: logical

ライブラリ ブロックまでリンクをたどるかどうか。logical 1 (true) または 0 (false) として指定します。

属性:

GetAccess
public
SetAccess
public

データ型: logical

バリアント サブシステムおよびモデル バリアント内の非アクティブなバリアントが参照する関数を検索するかどうか。logical 0 (false) または 1 (true) として指定します。

属性:

GetAccess
public
SetAccess
public

データ型: logical

検索対象とする関数のプロパティ。{"Name","Value"} という形式で、名前と値のペアの cell 配列として指定します。ファインダーは、指定のプロパティが指定の値をもつ関数のみを返します。サポートされるプロパティには、slreportgen.finder.FunctionReferenceResult クラスのプロパティが含まれます。

データ型: cell

メソッド

すべて展開する

すべて折りたたむ

この例では、Simulink ブロック内の MATLAB 関数参照を検索してレポートする方法を説明します。

長い完全修飾クラス名を使用せずに済むよう、次のパッケージをインポートします。

import slreportgen.report.*
import slreportgen.finder.*

PDF タイプの slreportgen.report.Report を作成します。

theReport = Report("FunctionReferenceReport","pdf");

モデル slrgex_fuelsys を開き、ファインダーが最新バージョンのモデルを検索するようにモデルをコンパイルします。

modelName = "slrgex_fuelsys";
open_system(modelName);
slreportgen.utils.compileModel(modelName);

slreportgen.finder.FunctionReferenceFinder オブジェクトを作成します。

funcRefFinder = FunctionReferenceFinder(modelName);

参照モデル内を検索するようにファインダーを設定します。

funcRefFinder.SearchReferencedModels = true;

メソッド hasNext および next を反復して使用し、slreportgen.finder.FunctionReferenceResult オブジェクトを一度に 1 つずつ取得します。

while(hasNext(funcRefFinder))
  nextRes = next(funcRefFinder);

参照関数が組み込み関数の場合は、結果をレポートに直接追加します。

  if(nextRes.FunctionType == "built-in")
    append(theReport,nextRes);

参照関数が user-defined 関数の場合は、この結果の slreportgen.report.FunctionReference レポーターのハンドルを取得します。レポーターの ShowReferencesTable プロパティを false に設定することで、参照テーブルを除外するようにレポーターをカスタマイズします。次に、レポーターをレポートに追加します。

  else
    reporter = getReporter(nextRes);
    reporter.ShowReferencesTable = false;
    append(theReport,reporter);
  end
end

モデルのコンパイルを解除して閉じます。

slreportgen.utils.uncompileModel(modelName)
close_system(modelName);

レポートを閉じて表示します。

close(theReport);
rptview(theReport);

バージョン履歴

R2022a で導入