メインコンテンツ

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

Rocker Switch

R2026a

パラメーターの 2 つの値を切り換える

  • Rocker Switch block

ライブラリ:
Simulink / Dashboard

説明

Rocker Switch ブロックは、シミュレーション中に接続されているブロック パラメーターの 2 つの値を切り替えます。たとえば、モデルで Rocker Switch ブロックを Switch ブロックに接続し、シミュレーション中にその状態を変更できます。Rocker Switch ブロックをその他の Dashboard ブロックと共に使用し、モデル用に対話型のダッシュボードを作成します。

Rocker Switch ブロックをダブルクリックしても、シミュレーション中やブロックが選択されているときは、そのダイアログ ボックスは開きません。ブロックのパラメーターを編集する場合は、[プロパティ インスペクター] を使用するか、ブロックを右クリックして [ブロック パラメーター] ボタン をクリックできます。

Dashboard ブロックの接続

Dashboard ブロックはモデル要素への接続に端子を使用しません。Dashboard ブロックを接続するには、接続モードを使用します。接続されていないブロックで接続モードに切り替えるには、接続するブロックをポイントし、[接続] ボタン をクリックします。接続されているブロックで接続モードに切り替えるには、ブロックを選択すると表示される省略記号 (…) をポイントし、展開されるアクション メニューで [接続] ボタンをクリックします。

制御ブロックをモデル内のパラメーターに接続するか、制御ブロックの接続を変更するには、接続モードに切り替えます。接続するパラメーターが含まれているブロックを選択します。表示されるリストから、接続するパラメーターを選択します。次に、Dashboard ブロックをポイントし、[接続完了] ボタン をクリックします。

モデルのブロック線図を更新するまで、制御ブロックは値が変数であるパラメーターに接続できません。シミュレーションが実行されていないときに、値が変数であるパラメーターに接続するか、接続されているパラメーターの値である変数の値を変更するには、Ctrl+D を押してモデルのブロック線図を更新します。

スカラー値をもつパラメーター、あるいは行列または構造体の要素に接続できます。詳細については、Connect Dashboard Blocks to Simulink Modelを参照してください。

Dashboard ブロックは Stateflow® チャートにも接続できます。詳細については、Dashboard ブロックと Stateflow との接続 (Stateflow)を参照してください。

次のアニメーションは、Rocker Switch ブロックをモデルに接続する方法を示しています。

An unconnected Rocker Switch block connects to the Values parameter of a Constant block.

パラメーターのログ記録

Dashboard ブロックに接続されている調整可能なパラメーターはシミュレーション データ インスペクターに記録されます。シミュレーション データ インスペクターでは、記録された信号データと共にパラメーター値を表示できます。UI を使用して、または関数Simulink.sdi.exportRunを使用して、シミュレーション データ インスペクターからパラメーター データをエクスポートすることで、MATLAB® ワークスペース内のログに記録されたパラメーター データにアクセスできます。シミュレーション データ インスペクターの UI を使用したデータのエクスポートの詳細については、Export Data From Simulation Data Inspector to Workspace or Fileを参照してください。パラメーター データは Simulink.SimulationData.Parameter オブジェクトに格納され、エクスポートされた Simulink.SimulationData.Dataset の要素としてアクセスできます。

例

すべて展開する

Rocker Switch ブロックを使用すると、シミュレーション中に Switch ブロックの状態を変更できます。モデル rockerSwitch には、Control Input という名前の Constant ブロックに接続されている Rocker Switch ブロックが含まれています。Rocker Switch ブロックがオンの場合、Control Input ブロックの値は 1 となり、Switch ブロックは値 5 を出力します。Rocker Switch ブロックがオフの場合、Control Input ブロックの値は 0 となり、Switch ブロックは値 0 を出力します。

モデルのシミュレーションを実行します。シミュレーション中に、Rocker Switch ブロックをクリックして、Switch ブロックの状態を変更します。

Animation of the rockerSwitch model during simulation

拡張例

制限

  • Dashboard Scope ブロックおよび Display ブロックを除き、Dashboard ブロックは実数のスカラー信号にのみ接続できます。

  • コメントアウトされたブロックには、[ブロック パラメーター] ダイアログ ボックスの [接続] テーブルを使用して Dashboard ブロックを接続することはできません。コメント化されたブロックに接続モードを使用して Dashboard ブロックを接続した場合、ブロックのコメントを解除するまでは Dashboard ブロックに接続された値が表示されません。

  • Dashboard ブロックは参照モデル内のモデル要素には接続できません。

  • モデルの階層構造をシミュレーションすると、参照モデル内の Dashboard ブロックで更新は実行されません。

  • Dashboard ブロックは、ラピッド アクセラレータ シミュレーションをサポートしていません。

  • シミュレーション中に Dashboard ブロックを変数またはパラメーターに接続すると、その変数またはパラメーターのデータはシミュレーション データ インスペクターに記録されません。シミュレーション データ インスペクターに変数とパラメーターのデータを記録するには、シミュレーションを実行する前に Dashboard ブロックを変数またはパラメーターに接続します。

  • [既定のパラメーター動作] を [インライン] に設定してエクスターナル モードでモデルをシミュレーションするときに、Dashboard ブロックがパラメーターと変数の値を変更するように見える場合があります。ただし、その変更はシミュレーションに伝播されません。たとえば、Gain ブロックには Dashboard ブロックを使用して [ゲイン] パラメーターに加えられた変更が表示されますが、シミュレーションで使用された [ゲイン] 値は変更されません。

パラメーター

すべて展開する

このブロックは、パラメーターの値を制御するブロックである、制御ブロックです。このブロックを、制御対象の値を持つパラメーターに接続します。スカラー値をもつパラメーター、または行列の要素に接続できます。

Dashboard ブロックはモデル要素への接続に端子を使用しません。Dashboard ブロックを接続するには、接続モード、Simulink® ツールストリップ、または [ブロック パラメーター] ダイアログ ボックスの [接続] テーブルを使用します。詳細については、Connect Dashboard Blocks to Simulink Modelを参照してください。

[接続] テーブルを使用して、スカラー値をもつパラメーターを接続するには、次のようにします。

  1. ブロックを選択します。

  2. プロパティ インスペクターの [パラメーター] タブで、[接続] または [変更] をクリックします。

  3. 接続するパラメーター値が含まれているブロックを選択します。

  4. 表示されるテーブルで、パラメーターを選択します。

  5. [適用] をクリックします。

値が変数として指定されているパラメーターに接続するか、接続されている変数の値を変更するには、まず、モデルのブロック線図を更新する必要があります。モデルのブロック線図を更新するには、Ctrl+D を押します。

Dashboard ブロックは Stateflow チャートにも接続できます。詳細については、Dashboard ブロックと Stateflow との接続 (Stateflow)を参照してください。

プログラムでの使用

プログラムで制御ブロックをパラメーターに接続できます。パラメーターを表す Simulink.HMI.ParamSourceInfo オブジェクトを定義します。次に、Binding パラメーターの値をオブジェクトに設定します。Binding パラメーターの値を設定するには、set_param 関数を使用します。

たとえば、vdp という名前のモデルに、myButton という名前の Push Button ブロックと、x1 という名前の Integrator ブロックが含まれているとします。Push Button ブロックを Integrator ブロックの Initial Condition パラメーターに接続するには、次のコードを使用します。

blockPath1 = "vdp/myButton";
blockPath2 = "vdp/x1";

myObj = Simulink.HMI.ParamSourceInfo;
myObj.BlockPath = Simulink.BlockPath(blockPath2);
myObj.ParamName = 'InitialCondition';

set_param(blockPath1,Binding=myObj)
パラメーター: Binding
値: Simulink.HMI.ParamSourceInfo object

例: set_param(gcb,Binding=myObj)

接続された変数またはパラメーターに代入する値のペアと、ブロックに表示するテキスト。スイッチには [上] と [下] の 2 つの状態があり、それぞれがスイッチの各位置に対応しています。各状態に [値] と [ラベル] があります。

  • 値 — スイッチが対応する位置にあるときに、接続された変数またはパラメーターに代入される値。

  • ラベル — 対応する位置に対してブロック上に表示するテキスト。

この表は、ブロックの既定の構成を示しています。

位置状態値状態ラベル
上0on
下1off

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、set_param 関数を使用します。

States パラメーターの値を 2 行 1 列の構造体の配列として指定します。ここで、各構造体は状態を表します。各構造体には次のフィールドが含まれます。

  • Value — 接続されたパラメーターにブロックが代入する値

  • Label — スイッチのラベル。文字ベクトルとして指定

たとえば、現在選択されている Switch ブロックに次の状態を設定するとします。最初の状態のラベルは Reverse であり、接続されたパラメーターに値 -5 を代入します。2 番目の状態のラベルは Forward であり、接続されたパラメーターに値 5 を代入します。これらの状態を実装するには、以下のコードを使用します。

state1.Value = -5;
state1.Label = 'Reverse';
state2.Value = 5;
state2.Label = 'Forward';
myStates = [state1 state2];

set_param(gcb,States=myStates)
パラメーター: States
値: 2-by-1 struct array, where each struct has the fields Value and Label

例: set_param(gcb,States=myStates)

ブロック ラベルの位置。ブロックがモデル内の要素に接続されている場合、ラベルは接続された要素の名前です。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: LabelPosition
値: 'Top' (既定値) | "Top" | "Bottom" | "Hide"

例: set_param(gcb,LabelPosition="Bottom")

ブロックの特性

データ型

double | half | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

すべて展開する

バージョン履歴

R2015a で導入

すべて展開する