Push Button
ライブラリ:
Simulink /
Dashboard /
Customizable Blocks
説明
Push Button ブロックは、接続された変数またはパラメーターの値を変更し、クリック (ポインターをすぐに解放) または押下 (ポインターを遅れて解放) に応答して MATLAB® コードを実行します。クリックと押下で異なるコードを指定できます。ボタンを押すと、指定した時間範囲の後か指定した時間間隔でコードが実行されます。Customizable Blocks ライブラリの Push Button ブロックを使用すると、実際のシステムにおけるボタンのようにブロックの外観を変更できます。Push Button ブロックを他の Dashboard ブロックと共に使用して、モデルを制御する対話型のダッシュボードを作成します。
シミュレーション中にバーチャル ボタンを押すには、Push Button ブロックをクリックします。シミュレーションが実行されていないときにバーチャル ボタンを押すには、Push Button をクリックしてブロックを選択してから、Push Button ブロックを再度クリックしてボタンを押します。クリックでポインターを押している間、ボタンが押されます。ポインターを離すと、ボタンが離されます。
コールバック関数を使ってボタンの動作を指定できます。
関数
PressFcnは、ボタンが押されている間実行されます。ボタンが押されている間に関数PressFcnを 1 回だけ実行するようにボタンを構成するか、繰り返し間隔を指定できます。関数を 1 回だけ実行するには、繰り返し間隔0を指定します。関数
ClickFcnは、ボタンを離すと実行されます。
ポインターを離したときにボタンが押されたままになるように構成するには、[ボタン タイプ] を Latched に設定します。ラッチ ボタン タイプを選択すると、次のようになります。
ボタンをラッチするには、ボタンをクリックします。
ボタンのラッチを解除するには、ボタンをもう一度クリックします。
関数 PressFcn は、ボタンがラッチされている間実行されます。関数 ClickFcn は、ボタンをラッチすると 1 回実行され、ボタンのラッチを解除すると 1 回実行されます。
状態を使用して、ボタンの操作時に Push Button ブロックの外観がどのように変化するかを指定できます。
ボタンを押している間、ブロックは
[押下]状態になります。ボタンがラッチされているときにボタンを押さないと、ブロックは
[ラッチ]状態になります。ボタンがラッチされているときにボタンを押すと、ブロックは
[ラッチかつ押下]状態になります。これら 3 つのどの状態でもない場合、ブロックは
[既定]状態になります。
状態により、ポインター アクションが以下と組み合わされます。
状態ラベル
状態アイコン
状態イメージ
[押下] 状態、[ラッチ] 状態、および [ラッチかつ押下] 状態でも、ポインター アクションが Push Button ブロックの [オンの値] と組み合わされます。既定の状態からこれらの状態のいずれかになると、[オンの値] が、Push Button ブロックが接続されている Simulink® コンポーネントに割り当てられ、ボタンが [既定] 状態に戻るまで割り当てられたままになります。タイム ステップ全体が経過する前にボタンを離した場合、後続のタイム ステップの間、コンポーネントに [オンの値] が割り当てられます。
メモ
シミュレーション中やブロックをクリックした後は、接続されている Push Button ブロックをダブルクリックしても、[ブロック パラメーター] ダイアログ ボックスは開きません。[ブロック パラメーター] ダイアログ ボックスを開くには、Shift キーを押してからブロックをダブルクリックします。
接続されている Push Button ブロックをシミュレーション中にクリックすると、ブロックが選択されると同時に、ボタンが押されます。ボタンを押すことなくブロックを選択するには、Shift キーを押してからブロックをクリックします。
Push Button ブロックのカスタマイズ
Push Button ブロックをモデルに追加すると、既定の設計でブロックが事前構成されます。ブロックを既定の設計で使用することも、ブロックの外観をカスタマイズすることもできます。
ブロックの外観をカスタマイズするには、設計モードを使用します。ブロックを選択してから、次の 3 つのいずれかの方法で設計モードを開始できます。
Simulink ツールストリップのブロック固有のタブにある [設計] で [編集] をクリックする。
プロパティ インスペクターの [設計] タブで、[編集] をクリックする。
ブロックをポイントすると表示される省略記号で [カスタム ブロックの編集] ボタン
をクリックする。
設計モードでは、ブロックの上にあるツール バーを使用してプッシュ ボタンをカスタマイズできます。追加のカスタマイズ オプションにアクセスするか、設計設定の正確な値を入力するには、プロパティ インスペクターの [設計] タブを使用します。

Push Button ブロックのカスタマイズ時に、各状態のブロックの外観を構成します。[ブロック タイプ] を [モーメンタリ] に設定する場合、ブロックがもつ状態は 2 つです。[ブロック タイプ] を [ラッチ] に設定する場合、ブロックがもつ状態は 4 つです。カスタマイズする状態を選択するには、ツール バーのドロップダウン リストを使用します。あるいは、[設計] タブで [状態] コンポーネントを選択してから、[状態の選択] リストから選択します。
選択されている状態をカスタマイズする設計モードの操作
| アクション | ツール バーで使用可能か | [設計] タブで使用可能か |
|---|---|---|
| いいえ | はい |
状態ラベルのテキストを指定する。 | いいえ | はい |
状態ラベルのテキストの色と不透明度を指定する。 | はい | はい |
状態イメージをアップロードする。 | はい | はい |
状態アイコンをアップロードする。 | はい | はい |
状態イメージと状態アイコンのサイズを変更する。 | いいえ | はい |
状態ラベル、状態イメージ、および状態アイコンの位置を変更する。 | いいえ | はい |
ツール バーおよび [設計] タブを使用してブロック設計をカスタマイズするだけでなく、キャンバス内でコンポーネントのサイズ変更や位置変更を対話的に行うこともできます。状態イメージなど、状態に固有のコンポーネントのサイズを変更するには、ツール バーで状態を選択してから、コンポーネントのサイズまたは位置を変更します。
すべての状態に適用される設計モードの操作
| アクション | ツール バーで使用可能か | [設計] タブで使用可能か |
|---|---|---|
背景イメージをアップロードする。 | いいえ | はい |
塗りつぶしの背景色を設定する。 | いいえ | はい |
前景イメージをアップロードする。 | いいえ | はい |
設計の編集が完了し、設計モードを終了するには、キャンバスの右上にある [X] をクリックします。
Dashboard ブロックの接続
Dashboard ブロックはモデル要素への接続に端子を使用しません。Dashboard ブロックを接続するには、接続モードを使用します。接続されていないブロックで接続モードに切り替えるには、接続するブロックをポイントし、[接続] ボタン
をクリックします。接続されているブロックで接続モードに切り替えるには、ブロックを選択すると表示される省略記号 (…) をポイントし、展開されるアクション メニューで [接続] ボタンをクリックします。
制御ブロックをモデル内のパラメーターに接続するか、制御ブロックの接続を変更するには、接続モードに切り替えます。接続するパラメーターが含まれているブロックを選択します。表示されるリストから、接続するパラメーターを選択します。次に、Dashboard ブロックをポイントし、[接続完了] ボタン
をクリックします。
モデルのブロック線図を更新するまで、制御ブロックは変数で定義されているパラメーターに接続できません。シミュレーションが実行されていないときに、変数で定義されたパラメーターに接続するか、接続されているパラメーターの値を定義する変数の値を変更するには、Ctrl+D を押してモデルのブロック線図を更新します。
スカラー値をもつパラメーター、あるいは行列または構造体の要素に接続できます。詳細については、Connect Dashboard Blocks to Simulink Modelを参照してください。
Dashboard ブロックは Stateflow® チャートにも接続できます。詳細については、Dashboard ブロックと Stateflow との接続 (Stateflow)を参照してください。
次のアニメーションは、Push ブロックをモデルに接続する方法を示しています。

パラメーターのログ記録
Dashboard ブロックに接続されている調整可能なパラメーターはシミュレーション データ インスペクターに記録されます。シミュレーション データ インスペクターでは、記録された信号データと共にパラメーター値を表示できます。UI を使用して、または関数Simulink.sdi.exportRunを使用して、シミュレーション データ インスペクターからパラメーター データをエクスポートすることで、MATLAB ワークスペース内のログに記録されたパラメーター データにアクセスできます。シミュレーション データ インスペクターの UI を使用したデータのエクスポートの詳細については、ワークスペースまたはファイルへのデータのエクスポートを参照してください。パラメーター データは Simulink.SimulationData.Parameter オブジェクトに格納され、エクスポートされた Simulink.SimulationData.Dataset の要素としてアクセスできます。
例
制限
Dashboard Scope ブロックおよび Display ブロックを除き、Dashboard ブロックは実数のスカラー信号にのみ接続できます。
コメントアウトされたブロックには、[ブロック パラメーター] ダイアログ ボックスの [接続] テーブルを使用して Dashboard ブロックを接続することはできません。コメント化されたブロックに接続モードを使用して Dashboard ブロックを接続した場合、ブロックのコメントを解除するまでは Dashboard ブロックに接続された値が表示されません。
Dashboard ブロックは参照モデル内のモデル要素には接続できません。
モデルの階層構造をシミュレーションすると、参照モデル内の Dashboard ブロックで更新は実行されません。
Dashboard ブロックは、ラピッド アクセラレータ シミュレーションをサポートしていません。
シミュレーション中に Dashboard ブロックを変数またはパラメーターに接続すると、その変数またはパラメーターのデータはシミュレーション データ インスペクターに記録されません。シミュレーション データ インスペクターに変数とパラメーターのデータを記録するには、シミュレーションを実行する前に Dashboard ブロックを変数またはパラメーターに接続します。
[既定のパラメーター動作] を [インライン] に設定してエクスターナル モードでモデルをシミュレーションするときに、Dashboard ブロックがパラメーターと変数の値を変更するように見える場合があります。ただし、その変更はシミュレーションに伝播されません。たとえば、Gain ブロックには Dashboard ブロックを使用して [ゲイン] パラメーターに加えられた変更が表示されますが、シミュレーションで使用された [ゲイン] 値は変更されません。
パラメーター
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|

