Main Content

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

ブロック プロパティの指定

モデル内の各ブロックに対して、次のようなブロックの一般プロパティを設定することができます。

  • ブロックの説明

  • ブロックの実行優先順位

  • ブロック注釈

  • ブロックのコールバック関数

ブロック プロパティを設定するには、プロパティ インスペクターを使用します。ブロックを選択して、プロパティ インスペクターの [プロパティ] および [情報] タブでプロパティを設定できます。あるいは、[ブロック プロパティ] ダイアログ ボックスを使用できます。

ブロック注釈プロパティの設定

プロパティ インスペクターの [ブロック注釈] セクションを使用して、選択されたブロック パラメーターの値を注釈に表示します。注釈はブロック アイコンの下に表示されます。

注釈のテキストをテキスト ボックスに入力します。注釈ではブロック プロパティ トークンを使用できます。プロパティの値によってモデルの注釈のトークンが置き換えられます。注釈で使用できるトークンのリストを表示するには、テキスト ボックスに % と入力します。選択されたブロックで有効なパラメーターが表示されます。共通のブロック プロパティおよびブロック固有のパラメーターを参照してください。

Product ブロックに次の注釈テキストとトークンを指定すると仮定します。

Multiplication = %<Multiplication>
Sample time = %<SampleTime>

Simulink® エディターで、ブロックには次のように注釈が表示されます。

また、プログラムでブロック注釈を作成することもできます。プログラムによるブロック注釈の作成を参照してください。

ブロックのコールバックの指定

[コールバック] セクションを使用して、ブロックのコールバックを指定します。コールバックは、ブロックを選択または削除する場合など、特定のモデルのアクションが発生するときに実行される MATLAB® コマンドです。コールバックの詳細については、コールバックを使用したモデル動作のカスタマイズを参照してください。

  1. コールバックを設定するブロックを選択します。

  2. プロパティ インスペクターの [プロパティ] タブの [コールバック] セクションで、コールバックの割り当て先の関数を選択します。たとえば、OpenFcn を選択して、ブロックをダブルクリックしたときの動作を指定します。

  3. テキスト ボックスに、ブロック関数が発生するときに実行するコマンドを入力します。

    関数にコールバックを割り当てると、リストの関数の横にアスタリスクが表示されます。アスタリスクによって、コールバックが割り当てられている関数を確認しやすくなります。

    メモ

    OpenFcn コールバックをブロックに追加した後は、ブロックをダブルクリックしてもブロック ダイアログ ボックスは開きません。また、ブロックを選択してもプロパティ インスペクターにブロック パラメーターが表示されません。ブロック パラメーターを設定するには、ブロックのコンテキスト メニューで [ブロック パラメーター] を選択します。

プログラムによるブロック コールバックの設定

次の例では、ブロックをダブルクリックすると MATLAB スクリプトを実行する OpenFcn コールバックの使用方法を示します。たとえば、MATLAB スクリプトで、変数を定義したり、シミュレーション データのプロットを開いたりできます。

コールバックをプログラムで作成するには、このプロパティの追加先のブロックを選択します。次に、MATLAB コマンド プロンプトで、次の形式のコマンドを入力します。

set_param(gcb,'OpenFcn','myfunction')
この例では、myfunction は有効な MATLAB コマンドまたは MATLAB 検索パスにある MATLAB スクリプトを表します。

ブロックの実行順序、実行優先順位、およびタグの指定

ブロック プロパティで、[タグ] プロパティに値を割り当てて、ブロックの実行順序、実行優先順位を指定してブロックを特定できます。

  • 実行順序 — ブロックの実行順序を他のブロックとの関連で指定します。既定では、ブロックは優先順位に基づいて実行されます。このプロパティを使用して、モデルのルート レベル、または非バーチャル サブシステム内でブロックを指定して、他のブロックとの関連で最初または最後に実行することができます。ブロックの実行順序は、[ブロック プロパティ] ダイアログで設定できます。[ブロック プロパティ] ダイアログの [実行順序] リストで、[最初] または [最後] を選択します。詳細については、Set Execution Order Property for Block to Execute Firstを参照してください。

    以下のブロックでは、[実行順序][最初] または [最後] に設定することがサポートされていません。

    ブロックの実行順序プロパティの最初または最後のオプションが機能するには、以下の要件があります。

    • モデルの階層構造の単一レベルで最初または最後に実行されるように構成できるのは、1 つのブロックのみです。たとえば、Data Store Read ブロックがルート レベル モデルで最初に実行されるように設定されている場合、別のブロックをこのモデルのルート レベルで最初に実行することはできません。

    • Inportブロックのみを、最初に実行されるように構成されたブロックの入力端子に接続します。ただし、このようなブロックの出力端子に接続できるブロックについては制限がありません。

    • Outportブロックのみを、最後に実行されるように構成されたブロックの出力端子に接続します。ただし、このようなブロックの入力端子に接続できるブロックについては制限がありません。

    • ブロックは、連続サンプル時間をもつシステム内に存在してはいけません。

    • ブロックは代数ループ内に存在してはいけません。代数ループ ソルバーはループ内の代数変数に基づいて実行順序を判断しなければならないため、代数ループの実行順序を指定することはサポートされていません。詳細については、代数ループ ソルバーの動作を参照してください。

    • ブロックはシングル タスクで実行されるシステム内に存在しなければなりません。詳細については、実行順序の制御と表示を参照してください。

    これらの制限は、最初または最後に実行されるように設定されたブロックを含むモデルから生成されたコードに適用されます。生成されたコードでは、以下のようになります。

    • 最初または最後に実行されるように設定されているブロックの実行順序は、最適化が原因で追跡できない場合があります。

    • 場合によっては、Simulink はブロックが最初に実行されるように設定される前か、ブロックが最後に実行されるように設定された後に追加の信号のコピーが必要であると見なすことがあります。たとえば、最後に実行されるように設定されたブロックの出力信号のコピーを、そのブロックが最後に実行されるように設定された後に、ルート Outport ブロックに追加する場合があります。

  • 優先順位 — ブロックの実行優先順位を他のブロックとの関連で指定します。数値を指定します。小さい数字ほど優先順位が高くなります。このオプションは、[実行順序][優先順位に基づく] に設定されている場合にのみ使用できます。詳細については、ブロックの実行順序の優先順位の設定を参照してください。

  • タグ — ブロックの識別子を指定します。ブロックの [タグ] プロパティに割り当てるテキストを指定します。このプロパティを設定すると、検索または find_system をプログラムで使用して、モデル内のブロックを検索する際に便利です。モデルの階層構造の確認を参照してください。

メモ

Simulink による実行優先順位の判定でブロックの [優先順位] が比較されるのは、ブロック線図がバーチャル サブシステムの場合でも、同じブロック線図に含まれるブロックだけです。また、[優先順位] が明示的に設定されたブロックしか比較されません。

ブロックの説明を使用したブロックの識別

[情報] タブには、ブロック タイプの情報が表示されます。ブロックの作成者がこの説明を提供します。

[説明] ボックスに説明を入力して、ブロック インスタンスの情報を提供することもできます。

  • 説明を追加すると、ブロックの上にカーソルを合わせるとツールヒントに説明が表示されるようにモデル表示をセットアップできます。このツールヒントを有効にするには、[デバッグ] タブで [情報のオーバーレイ][ツールヒント内の説明] を選択します。

  • [説明] プロパティによって、検索してブロックを発見しやすくなります。Simulink エディターを参照してください。

プログラムによるブロック注釈の作成

ブロックの AttributesFormatString パラメーターを使用して、指定したブロック パラメーター値をブロックの下に表示できます。共通のブロック プロパティおよびブロック固有のパラメーターでは、ブロックに設定できるパラメーターについて説明します。Simulink の関数 set_param を使って、このパラメーターを必要な属性書式に設定することができます。

属性書式は、組み込みパラメーター名をもつ任意のテキストにすることができます。組み込みパラメーター名は、%<priority> のように %<> で囲まれたパラメーター名です。Simulink は、ブロック アイコンの下に属性書式テキストを表示し、各パラメーター名を対応する値で置き換えます。改行文字 (\n) を使用して、各パラメーターを改行して表示することができます。たとえば、Gain ブロックを選択して、MATLAB コマンド プロンプトで次のコマンドを入力します。

set_param(gcb,'AttributesFormatString','pri=%<priority>\ngain=%<Gain>')

Gain ブロックには、次のブロック注釈が表示されます。

パラメーター値がテキストまたは整数ではない場合、N/S (サポートされていない) が値の位置に表示されます。パラメーター名が有効ではない場合、Simulink は値の位置に ??? を表示します。

関連するトピック