Main Content

マスクを作成して Simulink とパラメーターを共有

Stateflow® チャート、状態遷移表、真理値表のマスクを作成すると、Simulink® モデル内でのブロックの使用方法や共有方法が簡単になります。マスクは内在するロジックを非表示にすることでブロックをカプセル化し、ブロックのユーザー インターフェイスを作成します。ブロックは次の方法でカスタマイズできます。

  • 意味のあるアイコンと端子で外観を変更する。

  • パラメーターにユーザー インターフェイスを作成する。

  • カスタマイズされたドキュメンテーションを追加する。

どのパラメーターをマスク ユーザー インターフェイスを通して変更するかを決定します。これらのパラメーターに意味のある説明を追加できます。たとえば、モデル sf_car では、shift_logic チャートにあるマスクを使用して、パラメーター TWAIT を調整できます。モデルを開くには次のように入力します。

openExample("stateflow/AutomaticTransmissionWithActiveStateDataExample")

[マスク パラメーター] ダイアログ ボックスを開くには、Stateflow チャートをダブルクリックします。このダイアログ ボックスには、パラメーターの説明 "Delay before gear change (tick)" と、値を編集するためのボックスが含まれます。この値は、マスク内のパラメーター TWAIT に関連付けられています。このボックス内の値を編集すると、Stateflow はシミュレーション中に TWAIT に新しい値を代入します。

Mask Parameters dialog box for shift_logic chart.

チェック ボックス、コンテキスト メニュー、オプション ボタンなど、マスク パラメーター用に他のタイプのユーザー インターフェイスを作成できます。

マスクは、Simulink ライブラリからアクセスできる Stateflow ブロック (チャート、状態遷移表、真理値表) 上で作成できます。チャート内で、Atomic サブチャートやステートなどのオブジェクトをマスクすることはできません。

詳細については、ブロック マスクの作成 (Simulink)を参照してください。

Stateflow チャート用のマスクの作成

モデル old_sf_car の Stateflow チャートにマスクを作成するには、次の手順に従います。

  1. モデルを開きます。

    openExample("stateflow/AutomaticTransmissionLegacyExample")

    This image shows the example model from running the command above.

  2. Simulink エディターで、チャート shift_logic を選択します。

  3. マスク エディターを開きます。[ステート チャート] タブで、[マスクの作成] をクリックします。

マスクへのアイコンの追加

ブロック アイコンの外観をカスタマイズするには、描画コマンドを使用するか、イメージを読み込みます。詳細については、マスク アイコンの描画 (Simulink)を参照してください。

  1. マスク エディターで、[アイコン] タブを選択します。

  2. エディット ボックスで、以下を入力します。

    image("shift_logic.svg")
  3. [マスクの保存] をクリックします。

マスクへのパラメーターの追加

Stateflow ブロック用のマスクを作成するとき、ブロック パラメーターにカスタム インターフェイスを定義できます。ブロック パラメーターには、マスク エディターに同じ名前の対応するパラメーターを定義することでアクセスします。すると、マスクのパラメーター ダイアログ ボックスを通じて、こうしたパラメーターへのユーザー インターフェイスが提供されます。マスク パラメーターは、編集可能なフィールドとして [マスク パラメーター] ダイアログ ボックスに表示されます。Stateflow は、シミュレーション中にこれらの値を対応するブロック パラメーターに適用します。

たとえば、チャート shift_logic はパラメーター TWAIT をもっています。TWAIT をパラメーターとしてマスクに追加するには、次の手順に従います。

  1. マスク エディターで、[パラメーターとダイアログ] タブを選択します。

  2. [コントロール] ペインの [パラメーター] で、[編集] アイコンをクリックします。

  3. [プロンプト] で、[マスク パラメーター] ダイアログ ボックスにおける、新しいマスク パラメーター用のプロンプトを入力します。

    Delay before gear change(tick)
  4. [名前] の下に、マスク内のパラメーターの名前を入力します。

    TWAIT
  5. [マスクの保存] をクリックします。

新しいマスクの表示

マスクを作成すると、Simulink キャンバスに shift_logic チャートの新しいアイコンが表示されます。アイコンをダブルクリックすると、[マスク パラメーター] ダイアログ ボックスが開きます。このダイアログ ボックスには、パラメーター TWAIT のプロンプトがあります。エディット ボックスの値が、シミュレーション中にパラメーター TWAIT に代入されます。

Simulink model that contains a Stateflow chart with a mask.

マスク内を表示

チャート上の [マスク内部を検索] バッジをクリックすることにより、マスクされたブロックの内容を表示および編集できます。このバッジはチャートの左下隅に下向き矢印で示されます。あるいは、[ステート チャート] タブで、[マスク内を表示] をクリックします。マスク内を表示しても、ブロックのマスクは解除されません。

マスクの編集

マスクを編集するには、[ステート チャート] タブで [マスクの編集] をクリックします。マスク エディターでは、マスク アイコンの変更、パラメーターの変更、ドキュメンテーションの追加が可能です。マスクを削除するには、マスク エディターの下の隅にある [マスクの解除] をクリックします。マスクを変更したら、[適用] をクリックして変更を保存します。

関連するトピック