Main Content

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

マスク エディターの概要

マスクはブロックの内容を非表示にするブロックのカスタム ユーザー インターフェイスであり、独自のアイコンとパラメーター ダイアログ ボックスをもつ Atomic ブロックとしてユーザーに表示します。

[マスク エディター] ダイアログ ボックスは、ブロック マスクの作成およびカスタマイズに役立ちます。マスクを作成または編集するときに [マスク エディター] ダイアログ ボックスが開きます。次のいずれかのオプションから [マスク エディター] ダイアログ ボックスにアクセスできます。

マスクを作成するには、次の手順を実行します。

  • [モデル化] タブの [コンポーネント] の下で、[システム マスクの作成] をクリックします。

  • ブロックを選択し、[ブロック] タブの [マスク] グループ内で [マスクの作成] をクリックします。マスク エディターが開きます。

マスクを編集するには、次の手順を実行します。

  • [ブロック] タブの [マスク] グループで、[マスクの編集] をクリックします。

  • ブロックを右クリックし、[マスク][マスクの編集] を選択します。

メモ

キーボード ショートカット Ctrl + M を使用して [マスク エディター] を開くこともできます。

[マスク エディター] ダイアログ ボックスには、一連のタブ形式のペインが含まれています。各ペインでマスクの機能を定義できます。タブは次のとおりです。

メモ

コマンド ラインからブロック マスクを作成および編集する詳細については、プログラムによるマスクの制御を参照してください。

[パラメーターとダイアログ] ペイン

[パラメーターとダイアログ] ペインでは、[パラメーター][表示] および [アクション] パレットのダイアログ コントロールを使用して、マスク ダイアログ ボックスを設計できます。

parameter pane

[パラメーターとダイアログ] ペインは、次のセクションに分かれています。

[パラメーターとダイアログ] ペイン

セクションセクションの説明サブセクションサブセクションの説明
コントロールパラメーターはデータの追加や操作のために、ユーザーが対話できるマスク ダイアログ ボックス内の要素です。パラメーターパラメーターは、シミュレーションに関係するユーザー入力です。[パラメーター] パレットは、マスク ダイアログ ボックスに追加できる一連のパラメーター ダイアログ コントロールです。
コンテナー 
表示[表示] パレットの [コントロール] では、マスク ダイアログ ボックスのダイアログ コントロールをグループ化して、テキストとイメージを表示できます。
アクション[アクション] コントロールによって、マスク ダイアログ ボックスのいくつかのアクションを実行できます。たとえば、マスク ダイアログ ボックスのハイパーリンクやボタンをクリックできます。
ダイアログ ボックスダイアログ コントロールをクリックするか、パレットから [ダイアログ ボックス] にドラッグ アンド ドロップして、マスク ダイアログ ボックスを作成できます。NANA
プロパティ エディター[プロパティ エディター] によって、[パラメーター][表示][コンテナー] および [アクション] コントロールのプロパティを表示して設定できます。プロパティ[名前][値][プロンプト][タイプ] など、すべてのダイアログ コントロールの基本情報を定義します。
属性マスク ダイアログ コントロールがどのように解釈されるかを定義します。属性は、パラメーターにのみ関連します。
ダイアログマスク ダイアログ ボックスで、ダイアログ コントロールがどのように表示されるかを定義します。
レイアウトマスク ダイアログ ボックスで、ダイアログ コントロールがどのように配置されるかを定義します。

コントロール

[コントロール] のセクションは、[パラメーター]、[表示] および [アクション] のサブセクションに分かれています。[コントロール] の表には、さまざまなコントロールとその説明がリストされます。

[コントロール] の表

コントロール説明

パラメーター

エディット

フィールドに入力することでパラメーター値を入力できます。

制約を Edit パラメーターに関連付けることができます。

チェック ボックス

ブール値を受け入れます。

ポップアップ

使用可能な値のリストからパラメーター値を選択できます。[評価] チェック ボックスを選択すると、関連付けられた変数は選択した項目のインデックスを保持します。インデックスは 0 ではなく、1 から始まります。[評価] がオフの場合、関連付けられた変数には選択した項目の string が含まれます。

コンボ ボックス

使用可能な値のリストからパラメーター値を選択できます。リストからまたはリスト外から値を入力することもできます。[評価] チェック ボックスを選択すると、関連付けられた変数は選択した項目の実際の値を保持します。

制約を [コンボ ボックス] パラメーターに関連付けることができます。

リストボックス

パラメーター値のリストを作成できます。マスク ダイアログ ボックスに、可能な値のすべてのオプションが表示されます。そこから複数の値を選択できます。

ラジオ ボタン

使用可能な値のリストからパラメーター値を選択できます。ラジオ ボタンのすべてのオプションが、マスク ダイアログに表示されます。

スライダー

最小値と最大値で定義された範囲内で値にスライドできます。[スライダー] パラメーターは入力を数値または変数名として受け入れることができます。指定された変数がベース ワークスペースまたはモデル ワークスペースの変数である場合、[スライダー] を通じてこの変数の値を調整することができます。

[スケール] ドロップダウン メニューを使用して値を線形スケールまたは対数スケールで調整できます。

スライダー範囲を動的に制御することもできます。

メモ

スライダーに対して指定されている値が自動的に適用されます。

ダイヤル

最小値と最大値で定義された範囲内で値にダイヤルを合わせることができます。[ダイヤル] パラメーターは入力を数値または変数名として受け入れることができます。指定された変数がベース ワークスペースまたはモデル ワークスペースの変数である場合、[ダイヤル] を通じてこの変数の値を調整することができます。

[スケール] ドロップダウン メニューを使用して値を線形スケールまたは対数スケールで調整できます。

ダイヤル範囲を動的に制御することもできます。

メモ

ダイヤルに対して指定されている値が自動的に適用されます。

スピンボックス

最小値と最大値で定義された範囲内で値をスピンできます。値のステップ サイズを指定できます。

メモ

スピンボックスに対して指定されている値が自動的に適用されます。

データ型

マスク パラメーターのデータ型を指定できます。[最小値][最大値] および [エディット] パラメーターをデータ型パラメーターに関連付けることができます。詳細については、DataTypeStr パラメーターを利用したデータ型の指定を参照してください。

最小値

[DataTypeStr] パラメーターの最小値を指定します。

最大値

[DataTypeStr] パラメーターの最大値を指定します。

単位

マスクされたブロックの出力値または入力値の測定単位を設定できます。[単位] パラメーターは、任意の測定単位を入力として受け入れることができます。たとえば、角速度のラジアン/秒、加速度のメートル/秒2、距離の km または m などです。

カスタム テーブル

マスク ダイアログ ボックスにテーブルを追加できます。プロパティ エディターの [値] セクションに入れ子にされた cell 配列として値を追加できます。

1 対 1 でプロモート

ブロック パラメーターを基礎となるブロックからマスクに選択的にプロモートできます。[1 対 1 でプロモート] をクリックして、[プロモート済みパラメーター セレクター] ダイアログ ボックスを開きます。このダイアログ ボックスでは、プロモートするブロック パラメーターを選択できます。[OK] をクリックして、ダイアログ ボックスを閉じます。

多対 1 でプロモート

基礎となるブロック パラメーターをすべてマスクにプロモートできます。すべてのパラメーターをプロモートする場合、プロモート操作によって、以前プロモートされたパラメーターが削除されます。

コンテナー

グループ ボックス

マスク ダイアログ ボックス内のその他のダイアログ コントロールおよびコンテナーをグループ化するコンテナー。

タブ

マスク ダイアログ ボックス内のダイアログ コントロールをグループ化するタブ。タブはタブ コンテナー内に含まれます。タブ コンテナーには、複数のタブを指定できます。

テーブル

[編集][チェック ボックス]、および [ポップアップ] パラメーターを表形式でグループ化するためのコンテナー。[テーブル] コンテナー内に一覧表示されるコンテンツの検索および並べ替えを行うこともできます。

詳細については、大量のマスク パラメーターの処理を参照してください。

折りたたみ可能なパネル

[パネル] と同様のダイアログ コントロールをグループ化するコンテナー。[折りたたみ可能なパネル] ダイアログ コントロールを展開するか折りたたむかを選択できます。

パネル

ダイアログ コントロールをグループ化するコンテナー。ダイアログ コントロールの論理グループ化に [パネル] を使用します。Design Mask Dialog Box Layoutを参照してください。

表示

テキスト

マスク ダイアログ ボックスに表示されるテキスト。

イメージ

マスク ダイアログ ボックスに表示されるイメージ。

テキスト エリア

マスク ダイアログ ボックスでカスタム テキストまたは MATLAB コードを追加します。

リストボックス コントロール

使用可能な値のリストから値を選択できます。複数の値 (Ctrl + クリック) を選択できます。

ツリー制御

使用可能な値の階層ツリーから値を選択できます。複数の値 (Ctrl + クリック) を選択できます。詳細については、Create Tree Dialog Controlを参照してください。

ルックアップ テーブル コントロールn 次元テーブルとブレークポイント データを可視化できます。

web browser

Web ブラウザーダイアログのプレビュー時に Web サイトを開くことができます。[URL] プロパティでアドレスを入力します。

アクション

ハイパーリンク

マスク ダイアログ ボックスに表示されるハイパーリンク テキスト。

ボタン

マスク ダイアログ ボックスのボタン コントロール。特定のアクションに対して、ボタンをプログラムできます。ボタン コントロールにイメージを追加することもできます。

マスク パラメーターの詳細については、モデル例マスク パラメーターのタイプを参照してください。

ダイアログ ボックス

ダイアログ コントロールを [コントロール] セクションから [パラメーターとダイアログ] タブにドラッグすることで、ダイアログ コントロールの階層構造を構築できます。[コントロール] セクションのパレットをクリックして、必要なコントロールを [パラメーターとダイアログ] タブに追加することもできます。[パラメーターとダイアログ] タブに、最大で 32 レベルの階層構造を追加できます。

[パラメーターとダイアログ] には 3 つのフィールドが表示されます。[タイプ][プロンプト] および [名前] です。

  • [タイプ] フィールドにはダイアログ コントロールのタイプが表示され、編集できません。また、パラメーター ダイアログ コントロールの連続番号も表示されます。

  • [プロンプト] フィールドには、ダイアログ コントロールのプロンプト テキストが表示されます。

  • [名前] フィールドには、データが自動的に設定されダイアログ コントロールを一意に識別します。[名前] フィールドで、さまざまな値 (有効な MATLAB 名) を選択して追加できます。組み込みのパラメーター名と一致してはなりません。

[ダイアログ ボックス][パラメーター] コントロールは薄い青の背景で表示され、[表示] コントロールおよび [アクション] コントロールは白の背景で表示されます。

階層内でダイアログ コントロールを移動させたり、ダイアログ コントロールのコピーと貼り付けを行ったり、ノードを削除したりすることもできます。詳細については、ダイアログ コントロールの操作を参照してください。

プロパティ エディター

[プロパティ エディター] によって、[パラメーター][表示][コンテナー] および [アクション] ダイアログ コントロールのプロパティを表示して設定できます。[パラメーター][プロパティ エディター] が示されます。

property editor

[パラメーター][アクション] および [表示] ダイアログ コントロールに対して、以下のプロパティを設定できます。詳細については、プロパティ エディターの表を参照してください。

プロパティ エディター

プロパティ説明
プロパティ

名前

マスク ダイアログ ボックスのダイアログ コントロールを一意に識別します。[名前] プロパティは、すべてのダイアログ コントロールで設定しなければなりません。

エイリアス

ダイアログ コントロールの代替名。

[パラメーター] の値。[値] プロパティは、[パラメーター] ダイアログ コントロールにのみ適用されます。

プロンプト

マスク ダイアログ ボックスのパラメーターを識別するラベル テキスト。[プロンプト] プロパティは、[パネル] および [イメージ] ダイアログ コントロールを除くすべてのダイアログ コントロールに適用されます。

タイプ

ダイアログ コントロールのタイプ。[タイプ] フィールドを使用して [パラメーター] のタイプと [コンテナー] のタイプを変更できます。どのコンテナーのタイプも [Tab] に変更することはできません。その逆についても同様です。

展開

折りたたみ可能なパネルのダイアログ コントロールが既定で展開されているか折りたたまれているかを指定できます。

データ型オプション

[データ型オプション] プロパティでは、特定の [パラメーター] プロパティを設定できます。[データ型オプション] プロパティは、[ポップアップ][ラジオ ボタン][DataTypeStr] および [プロモート済み] パラメーターに適用されます。

ファイル パス

[イメージ] ダイアログ コントロールを使用してマスクにイメージを追加できます。[ボタン] ダイアログ コントロールにイメージを表示することもできます。いずれの場合も、それら 2 つのダイアログ コントロールに有効化されている [ファイル パス] プロパティにイメージへのパスを指定します。[ボタン] ダイアログ コントロールの場合は、イメージが表示されるようにするため、[プロンプト] プロパティには空の文字ベクトルを指定します。

ファイルパスを指定する際は、引用符 (' ') を使用してはならないことに注意してください。たとえば、イメージを追加する場合、ファイルパスは C:\Users\User1\Image_Repositort\motor.png のように指定します。

右端での折り返し

[右端での折り返し] プロパティでは、長いテキストの右端での折り返しが可能です。[右端での折り返し] プロパティは、[テキスト] ダイアログ コントロールにのみ適用されます。

最小値と最大値

[最大値][最小値] プロパティでは、[スピンボックス][スライダー] および [ダイヤル] などのコントロールの範囲を指定できます。

ステップ サイズ

値のステップ サイズを指定できます。このプロパティは、[スピンボックス] ダイアログ コントロールに対してのみ適用されます。

ツールヒント

選択したダイアログ コントロール タイプのツールヒントを指定できます。マスク ダイアログ ボックスのダイアログ コントロールにカーソルを合わせると、ツールヒントが表示されます。[グループ ボックス][タブ][折りたたみ可能なパネル] および [パネル] を除く、すべてのダイアログ コントロール タイプにツールヒントを追加できます。

スケール

[スライダー] および [ダイヤル] ダイアログ コントロールの調整スケールを linear または log として設定できます。

テーブル パラメーター

[ルックアップ テーブル] パラメーターのテーブル データを指定します。
テーブルの単位テーブル データの単位を指定します。
テーブルの表示名[ルックアップ テーブル] コントロールの表示名を指定します。
ブレークポイント パラメーター[ルックアップ テーブル] コントロールのブレークポイント パラメーターを指定します。例: {'torque','engine speed'}
ブレークポイントの単位ブレークポイント パラメーターの単位を指定します。例: {'Nm','rpm'}
データの仕様パラメーターの値を明示的に指定するか、データ オブジェクトを使用して、テーブル パラメーターとブレークポイント パラメーターのデータを指定できます。
ルックアップ テーブル オブジェクトテーブル パラメーターとブレークポイント パラメーターの値に対するデータ オブジェクトの名前を指定します。
テキスト タイプ[テキスト エリア] パラメーターのテキストのタイプを指定します。[プレーン テキスト][HTML テキスト]、および [MATLAB コード] を受け取ることができます。[テキスト エリア] パラメーターには、HTML コードを処理し、その出力をマスク ダイアログに表示する機能があります。同様に、[MATLAB コード] を処理して出力を表示できます。
属性

評価

マスク パラメーターの入力として MATLAB 式を入力した場合、Simulink® ではそのエントリを次の 2 つのいずれかの方法で扱います。

  1. [評価] オプションが選択されている場合、Simulink は式を評価し、最終的な計算結果を使用します。評価が正しく完了するには、式の変数がモデル ワークスペースまたはベース ワークスペースで初期化されていなければなりません。たとえば、変数 ab のそれぞれで保持されている値が 2 と 9 の場合、'a + b' は 11 と評価されます。

  2. [評価] オプションが選択されていない場合、Simulink はマスク パラメーターのダイアログ ボックスで入力された入力エントリをリテラルとしてそのまま読み取ります。たとえば、'a + b' は a + b として読み取られます。

[評価] オプションは、[エディット][チェック ボックス]、および [ポップアップ] のマスク パラメーターでは既定で選択されています。

調整可能

シミュレーション中にマスク パラメーターの値を変更するには、マスク パラメーターの [調整可能] プロパティを設定します。

マスク パラメーターがパラメーターの調整をサポートしない場合、Simulink では、マスク パラメーターの [調整可能] プロパティは無視されます。このようなパラメーターは、シミュレーション時にマスク ダイアログ ボックスで無効になります。

マスク パラメーターの調整可能なオプションは次のとおりです。

  • オフ - このモードでは、シミュレーション中にマスク パラメーターの値を変更できません。

  • オン - シミュレーション中にマスク パラメーターの値を変更できます。変更を行うたびにモデルはコンパイルされます。

  • 実行ごと - 高速リスタート モードでマスク パラメーターを [実行ごと] に設定すると、実行ごとに値を変更できます。モデルは再コンパイルされず、シミュレーション結果に値は反映されません。

[調整可能] 属性に指定した値とシミュレーション モードに基づいて、マスク パラメーターは読み取り専用または読み取り/書き込みのどちらにすることもできます。

 オフオンrun-to-run
ノーマル読み取り専用読み取り/書き込み 
高速リスタート読み取り専用読み取り/書き込み読み取り/書き込み

パラメーターの調整およびそれをサポートするブロックの詳細は、ブロック パラメーター値の調整と試行を参照してください。

読み取り専用

パラメーターを変更できないことを示します。

非表示

マスク ダイアログ ボックスでパラメーターを表示してはならないことを示します。

保存しない

パラメーターの値をモデル ファイルに保存できないことを示します。

制約

選択したパラメーターに制約を追加できます。

ダイアログ ボックス

有効

既定では、[有効] が選択されています。このオプションをオフにすると、選択されたコントロールが編集できなくなります。マスク ブロックのユーザーがパラメーター値を設定できなくなります。

表示

選択されたコントロールがマスク ダイアログ ボックスに表示されるのは、このオプションがオンになっている場合のみです。

コールバック

選択したコントロールにユーザーが変更を適用するときに、Simulink で実行される MATLAB コード。Simulink は一時ワークスペースを使用してコールバック コードを実行します。

レイアウト

項目の場所

現在の行または新しい行のいずれかに、ダイアログ コントロールを表示する場所を設定できます。

プロンプトの整列

マスク ダイアログ ボックスでパラメーターを整列できます。このオプションはテーブル以外のすべての表示コントロールでサポートされます。

プロンプトの場所

ダイアログ コントロールの上または左のいずれかに、ダイアログ コントロールのプロンプトの場所を設定できます。

[プロンプトの場所] プロパティを [チェック ボックス][ダイヤル][DataTypeStr][折りたたみ可能なパネル] および [ラジオ ボタン] に設定することはできません。

方向

スライダーおよびラジオ ボタンに水平または垂直の方向を指定できます。

水平方向に広げる

このオプションを選択した場合、マスク ダイアログ ボックスをリサイズするとマスク ダイアログ ボックス上のコントロールが水平に広がります。既定では、[水平方向に広げる] チェック ボックスがオンになっています。

[ドキュメンテーション] ペイン

[ドキュメンテーション] ペインでは、マスク ブロックのタイプ、説明、およびヘルプ テキストを定義または変更できます。

documentation pane

タイプ

マスク タイプは、ブロックのマスク ダイアログ ボックスと、[マスク エディター] のすべてのペインに表示されるブロックの分類です。Simulink にマスク ダイアログ ボックスが表示される場合、マスク タイプの後ろに (mask) が追加されます。マスク タイプを定義するには、[タイプ] フィールドに入力します。テキストには、有効な MATLAB 文字を使用できますが、改行を含めることはできません。

説明

マスクの説明はブロックの目的または機能を説明する概要ヘルプ テキストです。既定では、[マスク] ダイアログ ボックスのマスク タイプの下にマスクの説明が表示されます。マスクの説明を定義するには、[説明] フィールドに入力します。テキストには有効な MATLAB 文字を含めることができます。長い行は Simulink によって自動的に改行されます。Enter キーを押して改行を挿入できます。

ヘルプ

マスク ブロックのオンライン ヘルプは、[タイプ] フィールドと [説明] フィールドで提供される情報の追加情報を提供します。この情報は、マスク ダイアログ ボックスの [ヘルプ] ボタンがクリックされたときに個別のウィンドウに表示されます。マスクのヘルプを定義するには、次のいずれかを [ヘルプ] フィールドに入力します。

  • URL 仕様

  • web コマンドまたは eval コマンド

  • リテラル テキストまたは HTML テキスト

URL の指定

[ヘルプ] フィールドの最初の行が URL である場合、Simulink は、この URL を既定の Web ブラウザーに渡します。URL は、https:www:file:ftp: または mailto: から開始できます。次に例を示します。

https://www.mathworks.com
file:///c:/mydir/helpdoc.html

ブラウザーがアクティブになると、MATLAB と Simulink は、そのアクションに対して制御をもたなくなります。

web コマンドの指定

[ヘルプ] フィールドの最初の行が web コマンドである場合、Simulink はコマンドを MATLAB に渡し、指定されたファイルが MATLAB オンライン ヘルプ ブラウザーに表示されます。次に例を示します。

web([docroot '/MyBlockDoc/' get_param(gcb,'MaskType') '.html'])

詳細は、MATLAB web コマンドのドキュメンテーションを参照してください。マスクのヘルプに使用する web コマンドは値を返すことができません。

eval コマンドの指定

[ヘルプ] フィールドの最初の行が eval コマンドである場合、Simulink はコマンドを MATLAB に渡し、指定した評価が実行されます。次に例を示します。

eval('open My_Spec.doc')

詳細は、MATLAB eval コマンドのドキュメンテーションを参照してください。マスクのヘルプに使用する eval コマンドは値を返すことができません。

リテラル テキストまたは HTML テキストの指定

[ヘルプ] フィールドの最初の行が URL、web コマンドまたは eval コマンドでない場合、Simulink では、[マスク タイプ] フィールドの値である見出しで MATLAB オンライン ヘルプ ブラウザーにテキストが表示されます。テキストには、有効な MATLAB 文字、改行、および標準の HTML タグ (イメージを表示する img タグなどを含む) を含めることができます。

Simulink は、最初にテキストを一時フォルダーにコピーし、次に web コマンドを使用してテキストを表示します。テキストにイメージを表示する場合、イメージ ファイルへの URL パスを指定するか、一時フォルダーにイメージ ファイルを配置できます。Simulink がシステムで使用する一時フォルダーを検索するには、tempdir を使用します。

[コード] ペイン

[コード] ペインには、ブロックの初期化コードとパラメーター コールバック コードがまとめて表示されます。マスク エディターのコード機能は MATLAB エディターのコード機能と似ていますが、制限がいくつかあります。たとえば、オートコンプリート機能はサポートされていますが、コードにブレークポイントを設定できません。マスク初期化およびマスク コールバック コードを別個の MATLAB クラス ファイルで整理できます。詳細については、Organize Mask Initialization and Callbacks in a MATLAB Fileを参照してください。

initialization pane

モデルを開くと、Simulink は、そのモデルの最上位または開いているサブシステムに存在している可視状態のマスク ブロックを見つけます。Simulink は、これらの可視状態のマスク ブロックに対してのみ、以下のいずれかの条件が満たされた上で初期化コマンドを実行します。

  • マスク設定されたブロックに、アイコン描画コマンドがある。

    メモ

    Simulink は、マスク ブロックに初期化コマンドがあっても、アイコン描画コマンドがないと初期化しません。

  • マスク ブロックがライブラリに属しており、[ライブラリ ブロックで内容を変更することを許可] 設定が有効になっている。

モデル内のすべてのマスク ブロック用の初期化コマンドは、以下の場合に実行されます。

  • ブロック線図を更新する

  • シミュレーションを開始する

  • コード生成を開始する

  • ダイアログ ボックスで [適用] をクリックする

  • コールバックを編集して保存する

個別のマスク ブロックの初期化コマンドは、以下の場合に実行されます。

  • マスク エディターまたは set_param コマンドを使用して、MaskDisplayMaskInitialization などマスクを定義するマスク パラメーターのいずれかを変更するとき。

  • アイコンが初期化コマンドに依存する場合に、マスク ブロックを回転または反転させるとき。

  • アイコンを描画または再描画する際に、そのアイコン描画が初期化コードに依存するとき。

  • ブロックのダイアログ ボックスまたは set_param コマンドを使用してマスク パラメーターの値を変更するとき。

  • 同じモデル内または異なるモデル間でマスク ブロックをコピーするとき。

この節では、[コード] ペインのコントロールについて説明します。

初期化およびパラメーター コールバック

code pane をクリックして、エディターで初期化コード テンプレートおよびパラメーター コールバック テンプレートを追加します。MATLAB 関数およびスクリプト、演算子、およびマスク ワークスペースで定義済みの変数で構成された任意で有効な MATLAB 式を入力できます。初期化コマンドは、ベース ワークスペースではなくマスク ワークスペースで実行します。

[コード] ペインには、マスク初期化コードとマスク コールバック コードがまとめて表示されます。パラメーター コールバック コードを追加するには、[パラメーター] リストのパラメーターの隣にあるプラス ボタンをクリックします。コールバック コードのスケルトンが表示されます。コールバックの MATLAB コマンドを入力します。

callback code

初期化コマンドの規則

マスクの初期化コマンドには、以下の規則が適用されます。

  • 初期化はマスク ダイアログが変更されたときに通常は行われないため、動的なマスク ダイアログでは初期化コードを使用しないでください。代わりに、関連するパラメーターのマスク コールバックを使用してください。このマスク コールバックは所定のパラメーターが更新されたときに即時に実行されます。

  • 初期化コマンドの変数名の前に MaskParam_L_MaskParam_M_ を付けないでください。これらの接頭辞は、内部変数名での使用のために予約されています。

  • set_param は、初期化されるマスク サブシステムに常駐するマスク サブシステムに存在するブロックのパラメーターの設定には使用しないでください。詳細については、動的なマスク サブシステムを参照してください。

ライブラリ ブロックで内容を変更することを許可

このチェック ボックスが有効になるのは、マスクされたブロックがライブラリ内にある場合だけです。このオプションを選択すると、マスクされたブロックのパラメーターを変更できます。マスクされたブロックがマスク サブシステムである場合、このオプションを使用してブロックを追加または削除し、そのサブシステム内でブロックのパラメーターを設定できます。このオプションがオフの場合は、マスク ライブラリ ブロックが何らかの形で内容を変更しようとするとエラーが発生します。

[アイコン] ペイン

[アイコン] ペインは、説明テキスト、状態方程式、イメージおよびグラフィックスを含むブロック アイコンの作成に役立ちます。ブロック アイコンは、グラフィカル エディターまたはマスク描画コマンドを使用して作成できます。

グラフィカル アイコン エディター

グラフィカル エディター: ブロックのマスク アイコンをグラフィカル環境で作成および編集できます。グラフィカル アイコン エディターには、アイコンの作成を簡単にするさまざまな機能があります。グラフィカル アイコン エディターはマスク エディターから起動します。

graphical icon editor

  • 対話型のグラフィカル環境: ペン、曲率、テキスト、ハサミ、コネクタ、方程式 (LaTeX をサポート) などのグラフィカル ツールを使用して、豊富なグラフィカル アイコンを作成します。グリッド、スマート ガイド、およびルーラーにより、ピクセルパーフェクトなアイコンを作成できます。描画ツールとは別に、抵抗器、インダクター、回転ダンパーなど、いくつかの組み込みの形状が用意されています。

  • 要素ブラウザー: アイコンのすべての要素が要素ブラウザーにリストされます。

    • アイコンの要素を非表示にする (または非表示を解除する)。

    • アイコンの要素の形状や位置を他の要素を操作しているときに誤って変更しないように要素をロックする (またはロックを解除する)。

    • アイコンの要素を識別しやすいように各要素に名前を付ける。

  • 端子のバインド/バインド解除: ブロック コンテキストを使用してブロックを作成または変更する場合、各ブロックの端子数があらかじめ定義されています。たとえば、Simscape™ ブロックや Aerospace ブロックの端子数はあらかじめ定義されており、それらの端子がブロック アイコンに表示されます。ブロック コンテキストなしでブロックを作成または変更する場合は、ブロック アイコンの端子数も定義できます。

  • 条件付き表示: ブロック パラメーターまたはマスク パラメーターに基づいてブロックの要素を非表示にします (または非表示を解除します)。

  • プレビュー オプション: 水平方向に広げる、反転、スケールなどのプレビュー オプションを使用して、Simulink でアイコンをプレビューします。ブロック パラメーターを変更してアイコンをプレビューすることもできます。

  • アイコンのサイズに適合する要素の表示: ファーストフィット機能を使用すると、ブロックのサイズを変更するときにアイコンのサイズに収まる要素だけを表示できます。

  • 要素の相対的な配置: 自動レイアウト制約機能を使用すると、各要素を他の要素との相対的な位置関係でキャンバスに配置できます。

  • テキストのパラメーター化: ブロック パラメーターまたはマスク パラメーターの評価値をブロック アイコンに表示できます。実行時にテキストまたは値を返すブロック パラメーターの名前かプレースホルダーを [パラメーター/値] に入力します。ブロック アイコンに表示されるブロック パラメーターの評価値を確認するには、Simulink キャンバスでアイコンをプレビューします。

グラフィカル アイコン エディターの詳細については、を参照してください。

マスク アイコン描画コマンド

マスク エディターは、各描画コマンドのスケルトンを提供します。マスク アイコンのイメージを設定できます。[イメージの追加] をクリックしてイメージをインポートします。

icon drawing commands

マスク アイコンの [描画コマンド] ペインは、次のセクションに分かれています。

メモ

静的および動的なブロックのマスク アイコンを作成できます。詳細については、マスクの表示と初期化のコマンドを参照してください。

プロパティ.  右側のペインで利用可能な [プロパティ] は、マスク アイコンに属性を指定できるようにするコントロールのリストです。次のオプションがあります。

ブロックのフレーム.  ブロック フレームはブロックを囲む四角形です。[ブロックのフレーム] パラメーターを [表示] または [非表示] に設定して、フレームを表示するか非表示にするかを選択できます。既定の設定では、ブロック フレームは表示されます。たとえば、次の図は、AND ゲート ブロックの表示ブロック フレームと非表示ブロック フレームを示します。

block frame

アイコンの透明性.  アイコンの透明性は、アイコンの下にある項目を表示するか非表示にするかに基づいて、[不透明][不透明 (端子あり)] または [透明] に設定できます。既定のオプション [不透明] は、端子ラベルなどの情報を非表示にします。ブロック フレームは [透明] アイコンでは表示され、[不透明] アイコンでは非表示となります。

icon transparency

Subsystem ブロックの場合、アイコンの透明性を [不透明 (端子あり)] に設定した場合、ポートのラベルが表示されます。

opaque ports

メモ

  • 端子ラベルを非表示にする [不透明] オプションについては、マスク エディターで追加されたアイコンを描画するコマンドがなければなりません。

  • アイコンの透明性を [透明] に設定した場合、[ブロックのフレーム] プロパティを [非表示] に設定しても Simulink はブロックのフレームを非表示にしません。

アイコンの単位.  このオプションは、描画コマンドで使用する座標系を制御します。これは、plottext および patch 描画コマンドのみに適用されます。以下のいずれかを選択することができます。[オートスケール][正規化][ピクセル]

icon units

  • [オートスケール] を選択すると、ブロックのフレームに合わせてアイコンのサイズが調整されます。ブロックのサイズが変更されると、アイコンのサイズも変更されます。たとえば、次の図は、これらのベクトルを使用して描画したアイコンを示します。

    X = [0 2 3 4 9]; Y = [4 6 3 5 8];
    

    ブロックのフレームの左下隅の座標は (0,3) で、右上隅の座標は (9,8) です。x 軸の範囲は 9 (0 ~ 9) で、y 軸の範囲は 5 (3 ~ 8) です。

  • [正規化] を選択すると、左下隅の座標が (0,0) で右上隅の座標が (1,1) であるブロック フレーム内にアイコンが描画されます。0 ~ 1 の X および Y の値のみが表示されます。ブロックのサイズが変更されると、アイコンのサイズも変更されます。たとえば、次の図は、これらのベクトルを使用して描画したアイコンを示します。

    X = [.0 .2 .3 .4 .9]; Y = [.4 .6 .3 .5 .8];
    

  • [ピクセル] を選択すると、ピクセルで表現された X 値と Y 値でアイコンが描画されます。ブロックのサイズが変更されても、アイコンのサイズは自動的に変更されません。アイコンのサイズをブロックに合わせて変更するには、ブロックのサイズで描画コマンドを定義します。

アイコンの回転.  ブロックを回転または反転させるとき、アイコンを回転または反転させるか、アイコンの元の向きを維持するかを選択できます。既定の設定では、アイコンは回転しません。アイコンの回転は、ブロック端子の回転に一致します。次の図は、AND ゲート ブロックで [アイコンの回転] オプションを [固定][回転] として選択した場合の結果を示します。

icon rotation

端子の回転.  このオプションによって、マスクされたブロックの端子の回転タイプを指定できます。選択肢は以下になります。

  • 既定の設定

    時計回りに回転した後、端子はブロックの上下に並ぶ端子の番号が左から右の順番になるように、およびブロックの左右に並ぶ端子の番号が上から下に順番になるように並べ替えられます。

  • 物理的

    時計回りに回転した後、端子は並べ替えられずにブロックと共に回転します。

[既定の設定] 回転オプションは、一般的にブロック線図に上下と左右の向きがある制御システムおよびモデリング アプリケーションに適しています。このオプションでは、回転の後に標準の向きを維持するためにブロックを再接続する必要性を最小化することで、ブロック線図の編集が容易になります。

同様に、[物理的] 回転オプションは、ブロックが物理的なコンポーネントを表し、ラインが物理的な接続を表す電子、機械、油圧、およびその他のモデリング アプリケーションに適しています。[物理的] 回転オプションでは、表現するデバイスの動作がより厳密にモデル化されます (端子は物理デバイスの場合と同様にブロックと共に回転します)。さらに、回転してもラインが交差しないので、ブロック線図が読みやすくなります。

たとえば、次の図は、同じトランジスター回路を表す 2 つのブロック線図を示します。一方の図では、マスク ブロックは既定の回転を使用するトランジスターを示し、もう一方の図は物理的回転を使用するトランジスターを示します。

port rotation

両方のブロック線図では、ブロック線図が読みにくくならないようにラインは交差しません。次の図は、時計回りに 1 回転したブロック線図を示します。

clockwise port rotation

メモ

回転の後、既定の回転を使用したブロック線図ではラインが交差しますが、物理的回転を使用したブロック線図ではラインは交差しません。既定の回転では、ブロック線図を編集してラインの交差をなくすこともできません。詳細については、ブロックの反転または回転を参照してください。

初期化の実行.  [初期化の実行] オプションで、マスクの初期化コマンドの実行を制御できます。選択肢は以下になります。

  • オフ (既定の設定): マスクの初期化コマンドを実行しません。マスク描画コマンドがマスク ワークスペースに依存しない場合は、[初期化の実行] の値を [オフ] に指定することをお勧めします。値を [オフ] に設定すると、マスクの初期化コマンドが実行されないため、Simulink のパフォーマンスが最適化されます。

  • オン: マスク ワークスペースが最新でない場合、マスクの初期化コマンドを実行します。このオプションを指定すると、マスク描画コマンドがマスク ワークスペースに依存しているかどうかにかかわらず、マスク描画コマンドを実行する前に、マスクの初期化コマンドが実行されます。

  • 解析: マスク ワークスペースに依存している場合にのみ、マスクの初期化コマンドを実行します。このオプションを指定すると、Simulink ではマスク アイコン描画コマンドが実行される前に、マスクの初期化コマンドが実行されます。[解析] オプションは下位互換性のためのもので、それ以外では推奨されません。R2016b 以前の Simulink モデルは、アップグレード アドバイザーを使用してアップグレードすることをお勧めします。

    詳細については、描画コマンドを使用したマスク アイコンの描画を参照してください。

プレビュー.  このセクションには、ブロック マスク アイコンのプレビューが表示されます。ブロック マスクのプレビューは、マスクでアイコンの描画が行われる場合にのみ利用できます。

アイコンを描画するコマンドを追加して [適用] をクリックすると、プレビュー イメージが更新され、[アイコン] ペインの [プレビュー] セクションに表示されます。

アイコンを描画するコマンド.  コードをエディターに追加してブロック アイコンを描画します。左ペインのコマンド リストを使用して、ブロック アイコンを描画できます。

マスク アイコン描画コマンド

描画コマンド説明構文の例プレビュー
color

マスク アイコン描画コマンドの描画色を変更する

color('red'); port_label('output',1,'Text')
disp

マスク アイコン上にテキストを表示する

disp('Gain')
dpoly

マスク アイコン上に伝達関数を表示する

dpoly([0 0 1], [1 2 1], 'z')
droots

マスク アイコン上に伝達関数を表示する

droots([-1], [-2 -3], 4)
fprintf

マスク アイコン上に変数テキストを表示する

fprintf('Sum = %d', 7)
image

マスク アイコン上に RGB イメージを表示する

イメージを追加するには、マスク ブロックを選択し、[ブロック] タブで [イメージの追加] をクリックします。add mask icon image

複数の image コマンドを使用することで、複数のイメージをマスク アイコンに追加することもできます。

メモ

イメージは MATLAB パス上になければなりません。

image('sine.svg')
patch

マスク アイコン上に指定された形状のカラー パッチを描画する

patch([0 10 20 30 30 0], [10 30 20 25 10 10],[1 0 0])
plot

マスク アイコン上に一連の点を結ぶグラフを描画する

plot([10 20 30 40], [10 20 10 15])
port_label

マスク アイコンに端子ラベルを描画する

port_label('output', 1, 'xy')
text

マスク アイコンの特定の位置にテキストを表示する

[アイコンの単位] ボックスで [Pixels] を選択しなければなりません。

text(5,10, 'Gain')

block_icon

サブシステムに含まれるブロックのアイコンをサブシステム マスクにプロモートする

block_icon(BlockName)

ここで、ブロックのアイコンはその Subsystem ブロックにプロモートされます。

詳細については、描画コマンドを使用したマスク アイコンの描画を参照してください。

メモ

Simulink は、無名関数内でマスク描画コマンドをサポートしていません。

描画コマンドは、テキスト ボックスに追加されたのと同じ順序で実行されます。描画コマンドは、マスク ワークスペースのすべての変数にアクセスします。いずれかの描画コマンドが正常に実行できない場合、ブロック アイコンに疑問符 が表示されます。

描画コマンドは、次の場合には、ブロックが描画された後に実行されます。

  • マスク ダイアログ ボックスで変更を行い、適用するとき。

  • マスク エディターで変更を行うとき。

  • ブロックの回転のように、ブロックの外観に影響を与えるブロック線図への変更を行うとき。

制約

マスク パラメーターの制約ではマスク パラメーターに対する検証を作成することができ、独自の検証コードを記述する必要はありません。3 種類の制約、つまりパラメーター制約、クロス パラメーター制約、端子制約があります。

constraints

パラメーター制約: マスクには、ユーザー入力値を受け入れるパラメーターを含めることができます。マスク ダイアログ ボックスを使用して、マスク パラメーターの入力値を指定できます。制約を使用して、マスク パラメーターの入力値を、必ず指定された範囲内に収めることができます。たとえば、Gain ブロックのマスクについて考えます。入力値が 1 ~ 10 の範囲内でなければならないという制約を設定できます。指定された範囲外の入力を提供すると、エラーが表示されます。左ペインの制約ブラウザーは、共有の制約を管理するのに役立ちます。

クロス パラメーター制約: クロスパラメーター制約は [エディット] または [コンボボックス] タイプの 2 つ以上のマスク パラメーター間に適用されます。Parameter1 が Parameter2 よりも大きくなければならないといったシナリオを指定する場合に、クロスパラメーター制約を使用できます。

端子制約: マスクされたブロックの入力端子と出力端子に対する制約を指定できます。モデルをコンパイルするときに、端子の属性が制約に対してチェックされます。

追加オプション

マスク エディターに以下のボタンが表示されます。

  • [マスクの保存] をクリックすると、マスク設定が適用され、[マスク エディター] が開いたままになります。

  • [ダイアログのプレビュー] をクリックすると、変更が適用され、マスク ダイアログ ボックスが開きます。

  • [マスクの削除] をクリックすると、マスクが削除され、[マスク エディター] が閉じます。マスクを再作成するには、ブロックを選択し、[ブロック] タブの [マスク] グループ内で [マスクの作成] をクリックします。

  • [マスクのコピー] をクリックすると、Simulink ライブラリ ブロックからマスクの定義がコピーされます。目的のブロックを検索し、[マスクのコピー] をクリックして既存のブロックからマスク定義をインポートします。

  • [ブロックの評価] をクリックすると、コールバックと初期化コードが評価されます。

関連するトピック