このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
プログラムによるブロックのパラメーターとプロパティの指定
"ブロック パラメーター" は通常、モデルのダイナミクスと数学を定義します。また、ブロックの外観を構成することもできます。ブロックに設定可能なパラメーターがあるかどうかや、それらのパラメーターの性質については、ブロックごとに決まっています。
"ブロック プロパティ" は通常、基本的なブロック特性を記述し、ブロックの実行時期を決定するのに役立ちます。ブロック プロパティには、ブロック注釈、ブロック イベントの発生時に実行されるコールバック、実行順序の優先度、ブロックの識別に役立つタグが含まれます。
モデルを作成および変更するスクリプトを作成するには、get_param
および set_param
関数を使用して、ブロック プロパティおよびパラメーターの値をクエリおよび変更します。たとえば、mymodel
という名前のモデルに Gain ブロックがあるとします。
次のコマンドは、Gain ブロックの
Gain
パラメーターを2
に設定します。set_param("mymodel/Gain",Gain="2")
次のコマンドは、Gain ブロックを左に向けます。既定では、ブロックは反対方向を向きます。
set_param("mymodel/Gain",Orientation="left")
次のコマンドは、
OpenFcn
コールバックを Gain ブロックに関連付けます。set_param("mymodel/Gain",OpenFcn="my_open_cb")
次のコマンドは、Gain ブロックの
Position
プロパティを設定します。ブロックの幅は 75 ピクセル、高さは 25 ピクセルです。set_param("mymodel/Gain",Position=[50 250 125 275])
プログラムによるモデル化の背景情報については、プログラムによるモデル化の基礎を参照してください。
複数行の名前または特殊文字を含むパスを指定する方法については、Specify Paths That Contain Multiline Names and Special Charactersを参照してください。
ブロック固有のパラメーター
ブロック固有のパラメーターのほとんどは、ブロックを説明するページに記載されています。たとえば、Gain ブロックのパラメーターは、Gain ブロックのリファレンス ページに記載されています。パラメーターのプログラム情報については、ブロックのリファレンス ページで対応するパラメーターのエントリを展開してください。
ブロック固有のパラメーターの値を取得および設定するスクリプトについては、ブロックを選択してプロパティ インスペクターを開いてください。プロパティ インスペクターで、[スクリプト リファレンス] をクリックします。スクリプトでは、get_param
関数を使用してパラメーター値を取得し、set_param
関数を使用してパラメーター値を設定します。パラメーターの値を変更すると、スクリプトが更新されて新しい値が反映されます。
プログラムのブロック パラメーターのリストを取得するには、ブロックを選択します。次に、get_param
関数を使用して次のプロパティの 1 つをクエリします。
DialogParameters
— マスクされていないブロックのブロック固有のパラメーター、またはマスクされたブロックのマスク パラメーター。IntrinsicDialogParameters
— マスクされたブロックまたはマスクされていないブロックのブロック固有のパラメーター。ObjectParameters
— ブロック固有のパラメーターおよび共通ブロック プロパティ。
返されるパラメーターとプロパティの一部は内部使用専用の場合があります。ブロックのプロパティまたはパラメーターがドキュメント化されていない場合は、そのパラメーターは内部使用専用であると考えてください。
共通ブロック プロパティ
Simulink® オブジェクトの共通プロパティは、読み取り専用の Type
プロパティです。ブロックの場合、このプロパティは 'block'
を返します。
ブロックごとにブロック タイプがあります。一部のブロックでは、ブロック タイプはライブラリ ブラウザー内のブロック名と同じです。たとえば、Gain ブロックのブロック タイプは Gain
です。ブロック タイプがライブラリ ブラウザーのブロック名と異なるブロックもあります。たとえば、Add ブロックのブロック タイプは Sum
です。
マスクのないブロックのブロック タイプを取得するには、
get_param
関数を使用して読み取り専用のBlockType
プロパティをクエリします。マスク付きのブロックのブロック タイプを取得するには、
get_param
関数を使用してMaskType
プロパティをクエリします。通常、マスクされたブロックのBlockType
はSubSystem
です。
マスクされたブロックのプロパティについては、マスク パラメーターを参照してください。
ブロック コールバック プロパティについては、ブロックのコールバックを参照してください。
以降の表に、Simulink ブロックに共通する追加のプロパティをリストします。
共通ブロック プロパティ: 名前とハンドル
プロパティ | 説明 | 値 |
---|---|---|
| 数値ブロック ハンドル。 ハンドルを変数に代入し、その変数名を使用してブロックを指定します。ハンドルは現在の MATLAB® セッションに対してのみ適用されます。 | double 型の数値 |
| 入力信号の名前。 | cell 配列 |
| ブロックに接続されたラインのハンドル。 ライン ハンドルを変数に代入し、その変数名を使用してラインを指定します。ハンドルは現在の MATLAB セッションに対してのみ適用されます。 | 構造体 |
| ブロックまたは信号名。 信号名を指定するには、対応する端子またはライン ハンドルを使用します。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport(1); set_param(out1,Name="NewName"); 信号名を伝播するには、モデルをコンパイルします。 set_param(gcs,SimulationCommand="update"); あるいは、ブロックの出力信号に名前を付けるには、 | 文字ベクトル |
| 出力信号の名前。 | cell 配列 |
| ブロックを所有しているシステムの名前。 | 文字ベクトル |
| ブロック端子のハンドル。 端子ハンドルを変数に代入し、その変数名を使用して端子を指定します。ハンドルは現在の MATLAB セッションに対してのみ適用されます。 この構造体のフィールドを次に示します。
| 構造体配列 |
共通ブロック プロパティ: 端子
プロパティ | 説明 | 値 |
---|---|---|
| 端子がバーチャル バスに接続されているか非バーチャル バスに接続されているかを返します。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); bt = get_param(out1,"CompiledBusType") feval(gcs,[],[],[],"term"); バス情報の表示を参照してください。 |
|
| ブロック線図を更新した後の端子信号の複雑度。 端子に関するコンパイルされた情報を取得するには、モデルをコンパイルします。 feval(gcs,[],[],[],"compile"); cs = get_param(gcb,"CompiledPortComplexSignals") feval(gcs,[],[],[],"term"); | 構造体配列 |
| ブロック線図を更新した後の端子信号のデータ型。 端子に関するコンパイルされた情報を取得するには、モデルをコンパイルします。 feval(gcs,[],[],[],"compile"); dt = get_param(gcb,"CompiledPortDataTypes") feval(gcs,[],[],[],"term"); | 構造体配列 |
| ブロック線図を更新した後の端子信号の設計の最小値。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); min = get_param(out1,"CompiledPortDesignMin") feval(gcs,[],[],[],"term");
| 構造体配列 |
| コンパイル時における端子信号の設計の最大値。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); max = get_param(out1,"CompiledPortDesignMax") feval(gcs,[],[],[],"term");
| 構造体配列 |
| ブロック線図を更新した後の端子信号の次元。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); d = get_param(out1,"CompiledPortDimensions") feval(gcs,[],[],[],"term"); 詳細については、コンパイルされた端子の次元の取得を参照してください。 | 数値配列 |
| ブロック線図を更新した後、端子信号が可変サイズであるかどうかを示します。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); dm = get_param(out1,"CompiledPortDimensionsMode") feval(gcs,[],[],[],"term"); 信号線が可変サイズかどうかの確認を参照してください。 | double 型の数値 |
| ブロック線図を更新した後の端子信号のフレーム モード。 端子に関するコンパイルされた情報を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); fd = get_param(out1,"CompiledPortFrameData") feval(gcs,[],[],[],"term"); | 構造体配列 |
| ブロック線図を更新した後のブロック端子の単位の構造体配列。 端子に関するコンパイルされた情報を取得するには、モデルをコンパイルします。 feval(gcs,[],[],[],"compile"); units = get_param(gcb,"CompiledPortUnits") feval(gcs,[],[],[],"term"); | 構造体配列 |
| ブロック線図を更新した後の端子幅の構造体。 端子に関するコンパイルされた情報を取得するには、モデルをコンパイルします。 feval(gcs,[],[],[],"compile"); units = get_param(gcb,"CompiledPortWidths") feval(gcs,[],[],[],"term"); | 構造体配列 |
| ビューアーおよびジェネレーター マネージャーに接続されているオブジェクトのブロック パス。ソフトウェアはモデルの保存時にこれらのパスを保存します。 | リスト |
| ブロックの入力端子または出力端子の 1 つをそれぞれが記述する構造体の配列。各端子構造体のフィールドは次のとおりです。
| 構造体配列 |
| このブロックで使用される端子回転のタイプ。 |
|
| このブロックに含まれている各種端子の番号。 返されるベクトル内の要素の順序は、次の端子タイプに対応します。
| ベクトル |
| 信号がバス信号の場合、名前とバス内の要素の階層が返されます。 信号階層を取得するには、対応する端子またはライン ハンドルを使用してモデルをコンパイルします。 ports = get_param(gcb,"PortHandles"); out1 = ports.Outport; feval(gcs,[],[],[],"compile"); sh = get_param(out1,"SignalHierarchy") feval(gcs,[],[],[],"term"); バス情報の表示を参照してください。 | 信号の構造を反映する値 |
共通ブロック プロパティ: 動作
プロパティ | 説明 | 値 |
---|---|---|
Commented | ブロックをシミュレーションから除外します。 |
|
| コンパイル時にブロック ステータスがアクティブかどうかを指定します。
|
|
| ブロック線図を更新した後のブロックのサンプル時間。 サンプル時間を取得するには、モデルをコンパイルします。 feval(gcs,[],[],[],"compile"); ts = get_param(gcb,"CompiledSampleTime") feval(gcs,[],[],[],"term");
| それぞれサンプル時間とオフセット時間のベクトルまたは cell 配列 |
| ブロックが State Reader および State Writer ブロックで使用できる、サポートされている状態オーナー ブロックであるかどうかを示します。 |
|
| Scope ブロックなどを使用して、エクスターナル モードでの信号データのアップロードをブロックでサポートできるようにします。 |
|
| 外部モードで信号をアップロードするためのトリガー ブロックとしてブロックが機能するようにします。 |
|
ExtModeUploadOption | [外部信号とトリガー] ダイアログ ボックスの [すべて選択] チェック ボックスが選択されていない場合に、ブロックがエクスターナル モードで信号データをアップロードできるようにします。値 log は、ブロックが信号をアップロードすることを示します。値 none は、ブロックが信号をアップロードしないことを示します。値 monitor は現在使用されていません。[外部信号とトリガー] ダイアログボックスの [すべて選択] チェック ボックスがオンになっている場合、このパラメーターの設定はオーバーライドされます。 | 'none' (既定の設定) | 'log' | 'monitor' |
| ブロックが選択されているかどうかを示すステータス。 |
|
| 線形化時に使用する状態摂動のサイズ。詳細については、線形化時に摂動するブロックの摂動レベルの変更 (Simulink Control Design)を参照してください。 | 文字ベクトル |
| ブロックの実行順序を同じモデル内の他のブロックを基準として相対的に指定します。[ブロック プロパティ] ダイアログ ボックスの [一般] ペインの [優先度] フィールドで設定されます。 |
|
共通ブロック プロパティ: 外観
プロパティ | 説明 | 値 |
---|---|---|
| 背景色。 |
|
BlockMirror | ブロック ミラー。 |
|
BlockRotation | ブロック回転角度。 0 度の回転の場合、値は | double 型の数値 |
| 影を表示します。 |
|
| フォントの角度。 |
|
| フォント名。 | 文字配列 |
| フォント サイズ。 値 |
|
| フォントの太さ。 |
|
| ブロック アイコンの前景色。
|
|
| Simulink エディターによって自動的に付けられたブロック名をモデルに表示するかどうかを指定します。 このパラメーターを使用する方法については、Hide or Display Block Namesを参照してください。 |
|
| ブロック名の位置。 |
|
| ブロックの向き。 |
|
| モデル ウィンドウ内のブロックの位置。 いずれかのキャンバスがサイズ変更される前は、原点は Simulink エディターのキャンバスの左上隅にあります。サポートされる座標の範囲は -1073740824 以上 1073740823 以下です。原点より右および下が正の値です。原点より左および上が負の値です。 ブロックの配置のために、設定した位置が実際のブロックの位置と数ピクセルずれることがあります。実際の位置を返すには、 | ピクセル単位の座標のベクトル: |
| ブロック名を表示するか、非表示にします。 このパラメーターを使用する方法については、Hide or Display Block Namesを参照してください。 |
|
共通ブロック プロパティ: MetaData
プロパティ | 説明 | 値 |
---|---|---|
| ブロック プロパティに対応するブロック注釈テキスト。 | 文字ベクトル |
| [ブロック パラメーター] ダイアログ ボックスまたはプロパティ インスペクターの上部に表示されるブロックの説明。 | 文字配列 |
| ブロックの説明。[ブロック プロパティ] ダイアログ ボックスの [一般] ペインの [説明] フィールドで設定されます。 | テキストとトークン |
| Simulink Coder™ ソフトウェアによって使用されるユーザー指定のデータ。ユーザーが作成した S-Function でのみ使用することを目的としています。詳細については、S-Function RTWdata (Simulink Coder)を参照してください。 | 文字ベクトルの構造体 |
| Simulink ソフトウェアで生成されるブロック ラベルに表示されるテキスト。[ブロック プロパティ] ダイアログ ボックスの [一般] ペインの [タグ] フィールドで設定されます。 |
|
| 任意の MATLAB データ型をもつことができるユーザー指定のデータ。 |
|
|
|
|
共通ブロック プロパティ: ライブラリ
プロパティ | 説明 | 値 |
---|---|---|
| リンクが無効になっているブロックで、ブロックがリンクされているライブラリ ブロックの名前。 | 文字ベクトル |
BlockKeywords | 1 つ以上のキーワードをカスタム ライブラリ ブロックに関連付けます。 | 文字ベクトル | string スカラー | string 配列 |
| リンク付きブロックの場合、このプロパティの初期値は、リンクが作成された時点のライブラリの ModelVersion になります。値は、ライブラリのモデル バージョンがインクリメントされるたびに更新されます。 |
|
| パラメーター化されたリンクとそのライブラリ間で異なる、リンク内のブロックに対する変更内容の詳細で構成される配列。ブロック名とパラメーター値がリストされます。パラメーター化解除された状態にリセットするには、 | cell 配列 |
| ブロックのリンク ステータス。 リンク付きブロックのプログラムによる制御を参照してください。 |
|
| このブロックがリンクされるライブラリ ブロックの名前。 |
|
| ブロックのリンク ステータス。 | 'none' | 'resolved' | 'unresolved' | 'implicit' | 'inactive' | 'restore' | 'propagate' | 'propagateHierarchy' | 'restoreHierarchy' |
一部の共通ブロック プロパティは内部使用専用です。たとえば、次のプロパティは内部使用専用です。
DataTypeOverride_Compiled
Diagnostics
HiliteAncestors
IOType
MinMaxOverflowLogging_Compiled
ModelParamTableInfo
RequirementInfo
ブロック パラメーター値の最大サイズ制限
配列値を受け入れるブロック パラメーターの場合、配列内の要素数は、int_T
で表すことができる数を超えられません。この制限は、シミュレーションと Simulink Coder コード生成の両方に適用されます。
パラメーター編集フィールドに含めることができる最大文字数は 49,000 です。