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 スクリプトを表します。

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

ブロック プロパティの [詳細なプロパティ] セクションで、[タグ] プロパティに値を割り当てて、ブロックの優先順位を指定してブロックを特定できます。

  • 優先順位 — ブロックの実行優先順位を他のブロックとの関連で指定します。数値を指定します。小さい数字ほど優先順位が高くなります。

  • タグ — ブロックの識別子を指定します。ブロックの [タグ] プロパティに割り当てるテキストを指定します。このプロパティを設定すると、検索または 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 は値の位置に ??? を表示します。

関連するトピック