ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink モデル内のモデル要素の検索

モデルを作成および変更する際、モデルの構造を把握し、特定のモデル要素を見つけることができると便利です。Simulink® エディター ツールはこうしたタスクを簡略化します。モデルのサイズや複雑度に適したツールを使用します。

  • モデル構造の表示と移動を実行するには、モデル ブラウザーを使用します。モデル ブラウザーを使用して、モデルの階層構造の間を移動することで、要素を見つけることができます。このアプローチは、構造に精通している小規模モデルに効果的です。モデル ブラウザーを使用したモデルの階層構造の調査を参照してください。

  • 検索条件に一致するモデル要素を特定するには、[編集][検索] を使用します。選択されたシステム内を検索できます。また、必要に応じて、そのシステムの下にあるすべてのシステムを含めることもできます。検索条件に基づいて、結果を絞り込むこともできます。[検索] を使用したモデル要素の検索を参照してください。

  • 詳細な条件を用いてモデルの階層構造を検索するには、モデル エクスプローラーを使用します。これを使用すると、モデルの階層構造を検索し、変数を見つけることができます。また、複数のモデル要素内を検索し、それらの要素に対して変更を一度に適用することもできます。モデル エクスプローラーを使用した検索を参照してください。

  • 1 つの場所にあるすべてのモデルおよびサポート ファイル全体を検索するには、プロジェクト全体の検索を使用します。モデル ファイル、MATLAB® ファイル、PDF や Microsoft® Word ファイルなどのその他のプロジェクト ファイル内部で一致を検索できます。プロジェクト全体の検索を参照してください。

モデル ブラウザーを使用したモデルの階層構造の調査

モデル ブラウザーを使用して、ツリー構造を用いたモデルの階層構造を移動します。ブラウザーを使用すると、モデルの編成を把握したり、システム内に存在するシステムを調べることができます。

モデル ブラウザーを表示するには、Simulink エディターで [ツール表示][モデル ブラウザー][モデル ブラウザーを表示] を選択します。パレット上の [モデル ブラウザーの非表示/表示] コントロールを使用して、ブラウザーの表示を切り替えることもできます。

[ツール表示][モデル ブラウザー] メニューのコマンドを使用して、ライブラリとマスク サブシステムにリンクされたブラウザー ブロックに含めるかどうかを指定することができます。これらのタイプのブロックの詳細については、リンク付きブロックマスクの基礎を参照してください。

[検索] を使用したモデル要素の検索

[編集][検索] を使用して Simulink モデル内を検索できます。[検索] および Finder インターフェイスを使用して、入力した検索文字列に一致する要素を特定、選択したり、その要素に移動したりできます。検索では、要素内の任意の場所の文字列 (名前やパラメーター値など) と照合することができます。検索をカスタマイズして、特定のタイプの要素内のみを探したり、特定のパラメーターに特定の方法が設定された場合にのみ検索することができます。

既定の検索 検索オプション
現在のシステム内現在のシステムと、モデルの階層構造内でそのシステムの下にあるすべてのシステムを検索するように指定します。
すべてのモデル要素内 (すべてのタイプの Simulink オブジェクトと Stateflow® オブジェクトを含む)ブロック、注釈、信号など、関心のある要素のみを含めるように検索を絞り込みます。
パラメーター内パラメーター値を検索から除外するように指定します。
大文字と小文字を区別しない部分一致完全一致を検索し、正規表現を使用します。
参照モデル内 (ただし、リンクされたブロック内やマスクされたシステム内ではない)これらの各オプションのオン/オフを切り替えることができます。

基本検索の実施

現在のレベルのモデル sldemo_fuelsys 内を検索し、数値 2 を含むモデル要素を見つけます。

ヒント

プロパティ インスペクターを開き、現在の選択のプロパティとパラメーターを確認します。[ツール表示][プロパティ インスペクター] を選択します。

  1. モデル sldemo_fuelsys を開きます。

  2. [編集][検索] を選択します。

  3. 検索ボックスに 2 と入力し、Enter キーを押します。

    9 個のモデル要素が強調表示されます。検出された最初の要素である著作権の注釈が、現在の一致であることを示すためにより強く強調表示されます。

  4. 次の要素に移動するには、検索ボックスの下矢印をクリックします。この例では、現在の選択の強調表示が Constant ブロックに移動します。ブロック名はモデルには表示されません。プロパティ インスペクターを参照し、ブロック名 Constant2 を確認します。

  5. 上下矢印を使用して、検出された残りの要素間を移動します。

詳細検索の実行

検索条件を指定して検索を絞り込むことができます。例については、検索条件の指定と結果の並べ替えを参照してください。

  1. [編集][検索] を選択します。

  2. 検索文字列を入力します。検索文字列は後で追加することもできます。

  3. [詳細の表示] をクリックします。

  4. [検索の詳細設定を行います] ボタン をクリックします。

  5. [詳細検索設定] ダイアログ ボックスで、設定する条件ごとに [プロパティと値を追加します] ボタンをクリックします。それぞれの条件について、プロパティを選択して値を入力します。

  6. 詳細検索のその他の設定を設定し、[OK] をクリックします。

  7. 検索文字列を入力してあれば、検索が実行されます。条件を指定した後に検索文字列を入力したり、アスタリスク (*) を入力して詳細な条件に一致するすべてのモデル要素を検索したりすることもできます。

    ヒント

    検索をキャンセルすると途中までの検索結果を確認できます。Finder インターフェイスで、[検索の中止] ボタンをクリックします。

プロパティ値の検索

検索ボックスを使用して、検索対象のプロパティと値を指定できます。Property:Value の形式で検索文字列を入力します。たとえば、値が throttle_sw であるすべての [定数値] パラメーターを検索するには、Value:throttle_sw と入力して Enter キーを押します。すべての Constant ブロックを検索するには、BlockType:Constant と入力します。ブロックの説明に現れるテキストを検索するには、Description:textstring の形式を使用します。

  • プロパティのプログラム上の名前を使用して検索します。プログラム上の名前を調べるには、プロパティ インスペクターでプロパティの上にカーソルを合わせます。

  • 完全なプロパティ名を入力します。大文字と小文字は区別されません。プロパティ名に正規表現や部分一致は使用できません。

  • 既定では、値の検索では大文字と小文字が区別されず、部分一致を検出します。大文字と小文字を区別する検索、逐語的な一致の指定、または正規表現を使用した検索を行うには、詳細検索設定を使用します。

コロンを含む文字列を検索し、コロンの前のテキストがプロパティとして扱われるのを防ぐには、次のいずれかの方法を使用します。

  • バックスラッシュを使用してコロンをエスケープします (たとえば Earth\: a planet)。

  • 表現の前後に一重引用符または二重引用符を使用します (たとえば 'Earth: a planet' または "Earth: a planet")。

検索条件の指定と結果の並べ替え

Finder インターフェイスを使用して、検索条件の指定と結果の並べ替えを行うことができます。この例では、文字列 fuel が含まれるすべての要素を検索します。その後、Finder インターフェイスを使用して検索結果を絞り込みます。検索結果は検索を実行しながら操作できます。ただし、結果の並べ替えは検索の完了後しか実行できません。

ヒント

Finder インターフェイスを備えたモデル ブラウザーを使用して、検索の開始点を選択します。

  1. モデル sldemo_fuelsys を開きます。

  2. [編集][検索] を選択します。検索ボックスの隣にある [詳細の表示] をクリックします。

  3. 検索範囲を拡張するには、Finder インターフェイスで [クリックして現在のシステム以下を検索します] ボタン をクリックします。

  4. 文字列 fuel が含まれる要素を検索します。検索ボックスに fuel と入力し、Enter キーを押します。

    モデルには、ブロック、注釈、信号 (データ)、Stateflow チャートなど、名前、パラメーターまたはプロパティの値に fuel が含まれる要素が数多くあります。

    結果をより意味のあるものにするには、Finder インターフェイスを使用します。たとえば、任意の見出しで並べ替えたり、リスト内の項目をダブルクリックしてモデル内の要素に移動して選択したりできます。項目が表示されている場合、リスト内の項目をクリックするとその項目がモデル内の現在の一致になります。

  5. 検索によって返された結果があまりに多い場合は、検索の詳細設定を使用します。検索ボックスの隣にある [検索の詳細設定を行います] ボタン をクリックします。

  6. ブロックのみを検索します。[詳細検索設定] ダイアログ ボックスの [オブジェクトタイプ] で、[Stateflow] チェック ボックスをオフにします。[Simulink] リストを展開し、[Annotations] チェック ボックスと [Signals] チェック ボックスをオフにします。

  7. 検索をさらに絞り込み、説明に input という単語が含まれているブロック内のみを探します。[プロパティ : 値] の下のプロパティ リストから BlockDescription を選択します。値ボックスに input と入力してから、[プロパティと値を追加します] ボタンをクリックします。[OK] をクリックします。

  8. 検索によっていくつかのブロックが返されます。より多くのプロパティ値を追加して、検索をさらに絞り込むことができます。たとえば、検索するブロックのタイプを指定できます。[詳細検索設定] ダイアログ ボックスを開きます。[プロパティ : 値] で、プロパティと値の別のペアを追加します。プロパティを BlockType に設定し、値を MultiPortSwitch に設定します。[プロパティと値を追加します] ボタンをクリックして、[OK] をクリックします。

    リスト内に 1 つのブロックが表示されます。

  9. 詳細な検索条件をクリアします。[検索の詳細設定を行います] ボタンの矢印をクリックし、[詳細設定をクリア] を選択します。

モデル エクスプローラーを使用した検索

モデル エクスプローラーは、高度な手法を使用してモデルを調査および変更するのに役立ちます。モデル エクスプローラーを使用して、以下を検索します。

  • ワークスペースおよびデータ ディクショナリの変数

  • モデル内における変数の使用

  • ブロック タイプのインスタンス

  • ブロック パラメーターとパラメーターの値

検索条件を組み合わせて、反復的に結果を絞り込むことができます。モデル エクスプローラーでのモデル要素の検索を、モデルの階層構造内で選択したノードから開始します。モデル全体、特定のシステム内、または 1 つのシステムと階層内でそのシステムの下にあるすべてのシステム内を検索できます。オプションの詳細については、検索バーのコントロールを参照してください。

検索結果を使用して、複数の要素に対して変更を一度に適用できます。

アルゴリズム ブロックのパラメーター (Gain ブロックの [ゲイン] パラメーターなど) を変更する場合は、モデル データ エディターの使用を検討してください。モデル データ エディターを使用したデータ プロパティの設定を参照してください。

パラメーターの検索と結果の絞り込み

この例では、[整数丸めモード] パラメーターをもつモデル要素を検索します。その後、n-D Lookup table ブロックのみを含めるように結果を絞り込みます。検索結果を使用して、これらの値の設定方法の詳細を確認したり、検索によって見つかったモデル要素に対して一括変更を加えることができます。

  1. モデル sldemo_fuelsys を開きます。

  2. モデル エクスプローラーを開きます。[ツール表示][モデル エクスプローラー][モデル エクスプローラー] を選択します。

    既定では、モデル エクスプローラーは現在のシステム以下を検索します。モデルの階層構造ツリーと [内容を表示] ボタン を組み合わせて使用することで、検索範囲を指定できます。たとえば、ノードを選択し、検索を [現在のシステムの内容のみ] に設定することで、検索の範囲をそのレベルのみに維持できます。現在のシステムとそのシステム内のすべてのサブシステムを検索するには、検索を [現在のシステム以下] に設定します。

  3. この例では、検索範囲の設定を [現在のシステム以下] のままにしてモデルの最上位レベルから検索を開始します。検索条件を指定します。検索バーで、以下のように設定します。

    • [検索][プロパティ名] に設定

    • [プロパティ]Rounding に設定

      Rounding[整数丸めモード] パラメーターのプログラム上の名前です。これらの名前のリストについては、ブロック固有のパラメーターを参照してください。

  4. [検索] をクリックします。[検索結果] ボックスに 43 個の結果が表示されます。パスへのリンクをクリックすることで、項目に移動することができます。

  5. 検索を絞り込みます。検索バーで [検索オプション] をクリックして [絞り込み検索] を選択します。

    検索ボタンのラベルが [絞り込み] に変わります。このラベルが表示されている場合は、追加の検索条件は以前の結果セットに対して作用します。

  6. [検索][ブロック タイプ] に設定し、[タイプ]Lookup_n-D に設定します。[絞り込み] をクリックします。

    検索によって 5 個の項目が返されます。

  7. この値をさらに操作するには、[詳細を表示] をクリックします。

  8. さらなる調査対象または作用対象として関心のあるプロパティは Rounding です。まず、検索結果でそのプロパティの列を追加します。リストから Rounding を選択し ([プロパティの検索] ボックスに入力することで迅速に検索可能)、[ビューの列としてプロパティを表示] ボタンをクリックします。

Rounding の列が検索結果に表示されます。列内に表示されるパラメーターまたはプロパティについては、複数の項目の値を表示、並べ替え、変更することができます。たとえば、検索によって見つけたすべての n-D Lookup Table ブロックの Rounding 値を変更するには、リスト内のすべての項目を選択します。[Rounding] 列でいずれかのセルをクリックし、リストから新しい値 (たとえば Floor) を選択します。

ヒント

使用した検索オプションの概要を表示するには、[検索詳細を表示] ボタン をクリックして [検出されたオブジェクト数] ボックスを展開します。

参考

関連する例

詳細