メインコンテンツ

Radio Button

パラメーター値を選択する

  • Radio Button block

ライブラリ:
Simulink / Dashboard

説明

Radio Button ブロックでは、シミュレーション中に、接続されたパラメーターの値を変更できます。事前に値のリストおよびラベルを指定しておき、そのリストからパラメーターの値を選択します。Radio Button ブロックをその他の Dashboard ブロックと共に使用し、コントロールおよびインジケーターからなる、モデルの対話型のダッシュボードを作成します。

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

Dashboard ブロックの接続

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

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

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

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

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

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

An unconnected Radio Button block connects to the Gain parameter of a Gain block.

パラメーターのログ記録

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

すべて展開する

Radio Button ブロックを使用すると、シミュレーション中に接続されているパラメーターの値をいくつかある値の 1 つに設定できます。たとえば、モデル radioGain では、Radio Button ブロックが Gain ブロックの [ゲイン] パラメーターに接続されています。Radio Button ブロックは、ゲイン値 0510、または 15 を選択できるように構成されています。

The Block Parameters dialog box for the Radio Button block

モデルのシミュレーションを実行します。シミュレーション中にゲイン値を変更するには、Radio Button ブロックから別の値を選択します。

Animation of the radioGain 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)

メイン

ブロックの状態値とラベルを設定するために、数値と列挙値がペアとなる列挙データ型を使用できます。列挙データ型を使用してブロックの状態を指定するには、まず [列挙データ型] オプションを選択します。次に、テキスト ボックスに列挙データ型の名前を指定します。指定された列挙データ型の定義は MATLAB パス上またはベース ワークスペースに保存しなければなりません。

例: myEnumType

プログラムでの使用

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

パラメーター UseEnumeratedDataType の値を "on" に設定し、パラメーター EnumeratedDataType の値を列挙データ型の名前に設定します。

パラメーター: UseEnumeratedDataType
値: 'off' (既定値) | "on" | "off"

例: set_param(gcb,UseEnumeratedDataType="on")

パラメーター: EnumeratedDataType
値: name of enumerated data type
データ型: string | char

例: set_param(gcb,EnumeratedDataType="myEnumType")

Radio Button ブロックに表示される値のグループの名前。[ブロック名][ラベル] とは異なり、[グループ名] は常に Radio Button ブロック上に表示されます。

例: Input Amplitude

プログラムでの使用

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

パラメーター: ButtonGroupName
値: 'Group' (既定値) | title above list of radio button options
データ型: string | char

例: set_param(gcb,ButtonGroupName="My Option Group")

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

プログラムでの使用

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

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

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

接続されたパラメーターに対する値の選択元である一連の状態。各 [状態] は、[状態値][状態ラベル] で構成されています。

  • 状態値 — 対応する [ラベル] で状態を選択するときに、接続された変数またはパラメーターに代入される値。

  • 状態ラベル — 各状態のラベル。[ラベル] を使用して、スイッチが下部に配置された場合に接続されたパラメーターが取る値を表示することも、説明的なテキスト ラベルを入力することもできます。

[+] ボタンをクリックしてさらに [状態] を追加します。

ブロックの既定のコンフィギュレーションには次の [状態] が含まれます。

状態値状態ラベル
0Label1
1Label2
2Label3

プログラムでの使用

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

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

  • 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
値: 3-by-1 struct array, where each struct has the fields Value and Label

例: set_param(gcb,States=myStates)

形式

ブロックの背景の不透明度。01 のスカラー値として指定します。指定した値が 1 の場合、背景は完全に不透明になります。

プログラムでの使用

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

パラメーター: Opacity
値: '1' (既定値) | scalar with values between 0 and 1 formatted as string or character vector

例: set_param(gcb,Opacity="0.5")

テキストを含むブロックの前景色。標準色のパレットから色を選択するか、カスタムの色を指定できます。

プログラムでの使用

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

パラメーター: ForegroundColor
値: [r g b] vector with values between 0 and 1 formatted as a string or character vector

例: set_param(gcb,ForegroundColor="[1 0 1]")

背景色。標準色のパレットから色を選択するか、カスタムの色を指定できます。

プログラムでの使用

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

パラメーター: BackgroundColor
値: [r g b] vector with values between 0 and 1 formatted as a string or character vector

例: set_param(gcb,BackgroundColor="[1 0 1]")

ブロックの特性

データ型

double | half | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

すべて展開する

バージョン履歴

R2017b で導入

すべて展開する