Callback Button
ボタンを使用した MATLAB コードの実行
ライブラリ:
Simulink /
Dashboard
説明
Callback Button ブロックは、クリック (ポインターをすぐに解放) または押下 (ポインターを遅れて解放) に応答して MATLAB® コードを実行します。クリックと押下で異なるコードを指定できます。ボタンを押すと、指定した時間範囲の後か指定した時間間隔でコードが実行されます。Callback Button ブロックの外観を、実際のシステムにおけるボタンのようにカスタマイズできます。Callback Button ブロックを他の Dashboard ブロックと共に使用して、モデルを制御する対話型のダッシュボードを作成します。
Callback Button ブロックが "アクティブ" なときは、ブロックが表すガジェットを操作できます。アクティブな Callback Button ブロックをクリックすると、バーチャル ボタンが押されます。ポインターを押している間、ボタンが押されます。ポインターを離すと、ボタンが解除されます。Callback Button ブロックは、シミュレーションを実行しているときはアクティブになります。また、独自のウィンドウで開いたパネルかドックされてロックが解除されているパネルにある場合、あるいはクリックまたは押下によってトリガーされるコールバックの少なくとも 1 つに空でない値がある場合もアクティブになります。ボタンを押すことなくアクティブな Callback Button ブロックを選択するには、Shift キーを押してからブロックをクリックします。アクティブな Callback Button ブロックの [ブロック パラメーター] ダイアログ ボックスを開くには、Shift キーを押してからブロックをダブルクリックします。
ブロックが非アクティブなときは、ブロックの操作のみが可能で、ブロックのサイズ変更やドラッグなどのアクションを実行できます。非アクティブな Callback Button ブロックを一時的にアクティブにするには、ブロックをクリックします。Callback Button ブロックを選択解除すると、ブロックは再び非アクティブになります。
コールバック関数を使ってボタンを押したときの動作を指定します。
関数
PressFcn
は、ボタンが押されている間実行されます。ボタンが押されている間に関数PressFcn
を 1 回だけ実行するようにボタンを構成するか、繰り返し間隔を指定できます。関数を 1 回だけ実行するには、繰り返し間隔0
を指定します。関数
ClickFcn
は、ボタンを離すと実行されます。
ポインターを離したときにボタンが押されたままになるように構成するには、[ボタン タイプ] を [ラッチ]
に設定します。ラッチ ボタン タイプを選択すると、次のようになります。
ボタンをラッチするには、ボタンをクリックします。
ボタンのラッチを解除するには、ボタンをもう一度クリックします。
関数 PressFcn
は、ボタンがラッチされている間実行されます。関数 ClickFcn
は、ボタンをラッチすると 1 回実行され、ボタンのラッチを解除すると 1 回実行されます。
状態を使用して、ボタンの操作時に Callback Button ブロックの外観がどのように変化するかを指定できます。
ボタンを押している間、ブロックは
[押下]
状態になります。ボタンがラッチされているときにボタンを押さないと、ブロックは
[ラッチ]
状態になります。ボタンがラッチされているときにボタンを押すと、ブロックは
[ラッチかつ押下]
状態になります。これら 3 つのどの状態でもない場合、ブロックは
[既定]
状態になります。
状態により、ポインター アクションが以下と組み合わされます。
状態ラベル
状態アイコン
状態イメージ
Callback Button ブロックのカスタマイズ
Callback Button ブロックをモデルに追加すると、既定の設計でブロックが事前構成されます。ブロックを既定の設計で使用することも、ブロックの外観をカスタマイズすることもできます。
ブロックの外観をカスタマイズするには、設計モードを使用します。ブロックを選択してから、次の 3 つのいずれかの方法で設計モードを開始できます。
Simulink® ツールストリップのブロック固有のタブにある [設計] で [編集] をクリックする。
プロパティ インスペクターの [設計] タブで、[編集] をクリックする。
ブロックをポイントすると表示される省略記号で [カスタム ブロックの編集] ボタン
をクリックする。
Callback Button ブロックの設計時に、考えられる状態それぞれについてブロックの外観を構成します。[ブロック タイプ] を [モーメンタリ]
に設定する場合、ブロックがもつ状態は 2 つです。[ブロック タイプ] を [ラッチ]
に設定する場合、ブロックがもつ状態は 4 つです。
ブロックの上にあるツール バーを使用して、状態を切り替えることができます。各状態について、以下を行うことができます。
状態イメージをアップロードする。
状態アイコンをアップロードし、状態ラベルを基準としたアイコンの位置を指定する。
状態ラベルのテキスト、色、不透明度、および位置を指定する。
前景または背景イメージをアップロードするか、塗りつぶしの背景色を設定することもできます。前景と背景はすべての状態に適用されます。
ブロックの上にあるツール バーを使用して、イメージ、アイコン、状態ラベルの色と不透明度を構成します。
ブロックの設計を詳細に制御するには、プロパティ インスペクターの [設計] タブを使用します。設計の設定の正確な値を入力することができます。
[設計] タブは次の目的に使用します。
状態ラベルのテキストと位置を指定する。
アイコンの位置を指定する。
前景イメージをアップロードする。
背景イメージをアップロードする。
塗りつぶしの背景色を設定する。
設計の編集が完了し、設計モードを終了するには、キャンバスの右上にある [X] をクリックします。
例
拡張例
パラメーター
ブロックの特性
データ型 | |
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
ヒント
モデル内の変数またはパラメーターの値を変更するボタンを設計するには、Push Button ブロックを使用します。