Using Simulink | ![]() ![]() |
定義済みマスクダイアログパラメータ
Simulinkは、つぎの定義済みパラメータをマスクダイアログと関連付けます。
MaskCallbacks
このパラメータの値は、ダイアログのユーザ定義パラメータのコントロールに対するコールバック表現を指定する文字列のセル配列です。1番目のセルは1番目のパラメータコントロールに対するコールバックを定義し、2番目のセルは2番目のパラメータコントロールに対するコールバックを定義し、その他も同様に定義します。コールバックは有効なMATLABの表現法である必要があり、Mファイルのコマンドを含む表現法でも可能です。このことは、複雑なコールバックをMファイルとして組み込むことができるということを意味します。
マスクダイアログにコールバックを設定する最も容易な方法は、モデルウィンドウやライブラリウィンドウで関連するマスクダイアログを選択し、その後MATLABコマンドラインで set_param
コマンドを実行することです。たとえば、つぎのコード
set_param(gcb,'MaskCallbacks',{'parm1_callback', '',
'parm3_callback'});
は、現在選択されているブロックに対するマスクダイアログの1番目と3番目のパラメータに対してコールバックを定義します。コールバックの設定を保存するためには、マスクブロックを含むモデルやライブラリを保存します。
MaskDescription
このパラメータの値は、このブロックの記述を定義する文字列です。このブロックの設定により、マスクブロックの記述を動的に変更できます。
MaskEnables
このパラメータの値は、このダイアログに対するユーザ定義パラメータコントロールの有効状態を定義するための文字列のセル配列です。1番目のセルは1番目のパラメータに対するコントロールの有効状態を、2番目のセルは2番目のパラメータに対するコントロールの有効状態を、その他もそれぞれのコントロールの有効状態を定義します。設定値 'on'
は関連するコントロールがユーザ入力可能であることを示し、'off'
はユーザ入力不可能であることを示します。
コールバックでこのパラメータを設定することで、動的にユーザ入力を可能にしたり不可能にしたりできます。たとえば、コールバックで、つぎのコマンド
set_param(gcb,'MaskEnables',{'on','on','off'});
を実行すると、現在オープンしているブロックダイアログの3番目のコントロールが無効になります。Simulinkは、コントロールが無効であることを視覚的に示すためにコントロールを灰色にします。
MaskPrompts
このパラメータの値は、ユーザ定義パラメータに対するプロンプトを定義する文字列のセル配列です。1番目のセルは1番目のパラメータに対するプロンプトを、2番目のセルは2番目のパラメータに対するプロンプトを、その他もそれぞれのプロンプトを定義します。
MaskType
このパラメータの値は、このダイアログに関連するブロックのマスクタイプです。
MaskValues
このパラメータの値は、このダイアログに対するユーザ定義パラメータの値を定義する文字列のセル配列です。1番目のセルは1番目のパラメータに対する値を、2番目のセルは2番目のパラメータに対する値を、その他もそれぞれの値を定義します。
MaskVisibilities
このパラメータの値は、このダイアログに対するユーザ定義パラメータコントロールの可視性を定義する文字列の配列です。1番目のセルは1番目のパラメータに対するコントロールの可視性を、2番目のセルは2番目のパラメータに対するコントロールの可視性を、その他もそれぞれのコントロールの可視性を定義します。設定値 'on'
は関連するコントロールが可視であることを示し、'off'
は不可視であることを示します。
コントロールに対するコールバックでこのパラメータを設定することにより、動的にユーザ定義パラメータコントロールを隠したり見せたりすることができます。たとえば、コールバックでつぎのコマンド
set_param(gcb,'MaskVisibilities',{'on','off','on'});
を実行すると、現在選択されているブロックの2番目のユーザ定義マスクパラメータに対するコントロールを隠します。Simulinkはコントロールを見せたり隠したりするのに対応して、ダイアログを拡張したり縮小したりします。
![]() | マスクブロックダイアログパラメータの設定 | 条件付きで実行されるサブシステム | ![]() |