Constant
ライブラリ:
Simulink /
Commonly Used Blocks
Simulink /
Sources
DSP System Toolbox /
Sources
HDL Coder /
Commonly Used Blocks
HDL Coder /
Sources
Constant ブロックの代替構成:
Eulers Number | Inf | NaN | Negative Inf | One | ...
説明
Constant ブロックは、実数または複素数の定数値信号を生成します。このブロックを使用して、定数信号入力を提供します。このブロックは、次の値に応じて、スカラー、ベクトル、または行列のいずれかの出力を生成します。
[定数値] パラメーターの次元
[ベクトル パラメーターを 1 次元として解釈] パラメーターの設定
ブロックの出力は、[定数値] パラメーターと同じ次元と要素をもちます。このパラメーターにベクトルを指定し、ブロックによってそれがベクトルとして解釈されるようにするには、[ベクトル パラメーターを 1 次元として解釈] チェック ボックスをオンにします。そうでない場合は、[定数値] パラメーターの値にベクトルを指定すると、ベクトルは行列として処理されます。
ヒント
定数列挙値を出力するには、代わりに Enumerated Constant ブロックの使用を検討してください。Constant ブロックには、[出力の最小値] や [出力の最大値] など、列挙型に適用されないブロック パラメーターが備わっています。
出力データ型としてバス オブジェクトを使用する場合
Constant ブロックでは、非バーチャル バスを出力データ型として使用することをサポートしています。バス オブジェクトを出力データ型として使用すると、モデルを簡略化できます。バス オブジェクトを出力データ型として使用する場合、[定数値] を 0 またはバス オブジェクトに適合する MATLAB® 構造体に設定します。
バスの定数値に構造体を使用する場合
指定する構造体には、バス オブジェクトが表すバスのすべての要素の値を含めなければなりません。ブロック出力は非バーチャル バス信号です。
Simulink.Bus.createMATLABStruct を使用すると、バスに対応する完全な構造体を作成できます。
Simulink.Bus.createObject を使用すると、MATLAB 構造体からバス オブジェクトを作成できます。
出力バスの信号要素が double 以外の数値データ型を使用する場合、uint16(37) などの型付き式または 37 などの型なし式を使用して構造体フィールドを指定できます。フィールドのデータ型を制御するには、バス オブジェクトを Simulink.Parameter オブジェクトのデータ型として使用します。型付き式または型なし式のどちらを使用するか決定するには、初期条件構造体フィールドのデータ型の制御を参照してください。
バス オブジェクトのデータ型を使用するためのコンフィギュレーション パラメーターの設定
バス オブジェクトを出力データ型として使用できるようにするには、シミュレーションを開始する前に、[コンフィギュレーション パラメーター] 、 [診断] 、 [データ有効性] 、 [詳細設定パラメーター] 、 [指定不足の初期化の検出] を [簡易] に設定します。詳細については、指定不足の初期化の検出を参照してください。
例
SimpleGain という名前のモデルを開いてシミュレートします。
mdl = "SimpleGain";
open_system(mdl)
sim(mdl);
このモデルは次の方程式を表しています。
Constant ブロックから Gain ブロックに定数値 2 が提供されます。
Gain ブロックは入力に 5 を乗算します。
Display ブロックに乗算の結果が表示されます。
拡張例
時相論理を使ったバンバン制御
この例では、Stateflow® を使用してボイラーのバンバン温度制御システムをモデル化する方法を示します。ボイラーのダイナミクスが Simulink® でモデル化されます。
跳ねるボールのシミュレーション
この例では、跳ねるボールの 2 つのモデルを使用して、Zeno 動作があるハイブリッド動的システムをモデル化する異なるアプローチを示します。Zeno 動作の簡略的な特徴として、特定の複合システムに対して一定の時間間隔で無限個のイベントが発生することが挙げられます。ボールがエネルギーを失うにつれ、連続したより短い時間間隔で地面と衝突するようになります。
端子
出力
定数値。実数または複素数のスカラー、ベクトル、行列または N 次元配列として指定します。既定では、Constant ブロックは次元、データ型および実数/複素数が [定数値] パラメーターと同じ信号を出力します。ただし、固定小数点データ型や列挙データ型など、Simulink® がサポートする任意のデータ型として出力を指定することができます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus
パラメーター
メイン
ブロックによって出力される定数値を指定します。
既定値は、追加するブロックによって異なります。
1— Constant ブロックまたは One ブロック0— Zero ブロックinf— Inf ブロック-inf— Negative Inf ブロックexp(1)— Eulers Number ブロックpi— Pi ブロックNaN— NaN ブロック
MATLAB によって行列として評価される任意の式を入力できます。これには Boolean キーワード true および false が含まれます。
[出力データ型] をバス オブジェクトに設定する場合、次のいずれかのオプションを指定できます。
バス オブジェクトに対応する完全な MATLAB 構造体
バス オブジェクトのグラウンド値に対応する構造体を示す
0
詳細については、出力データ型としてバス オブジェクトを使用する場合を参照してください。
非バス データ型の場合、Simulink は、最近値への丸め手法および飽和のオーバーフロー アクションを使用して、このパラメーターをこの値データ型から指定された出力データ型にオフラインで変換します。
依存関係
[出力データ型] で Simulink.ValueType オブジェクトが指定されている場合は、定数値のデータ型は無視されます。
このパラメーターで Simulink.Parameter オブジェクトが指定されていて、[出力データ型] で Simulink.ValueType オブジェクトが指定されている場合は、以下のようになります。
ブロックは
Simulink.ValueTypeオブジェクトで指定されている最小値、最大値、およびデータ型を使用します。ブロックは
Simulink.Parameterオブジェクトで指定されている単位を使用します。オブジェクトで指定されている次元および実数/複素数が一致している必要があります。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | Value |
| 値: | scalar in quotes | vector in quotes | matrix in quotes | array in quotes |
| データ型: | char | string |
[定数値] パラメーターが N 要素の行または列ベクトルの場合、長さ N のベクトルを出力するにはこのチェック ボックスをオンにします。
このチェック ボックスをオンにすると、[定数値] パラメーターが
N要素の行または列ベクトルとして評価される場合に、ブロックは長さNのベクトルを出力します。このチェック ボックスをオフにすると、[定数値] パラメーターが
N要素の行または列ベクトルとして評価される場合に、ブロックは次元が 1 行N列またはN行 1 列の行列を出力します。たとえば、ブロックは次元が 1 行N列またはN行 1 列の行列を出力します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | VectorParams1D |
| 値: | 'on' (既定値) | 'off' |
たとえば、[定数値] パラメーターの調整結果として、シミュレーション中に Constant ブロックの出力が変化する時間間隔を指定します。
inf の既定値はブロックの出力が変化しないことを示します。この設定は、ブロックの出力を再計算する必要性をなくすことによって、シミュレーションとコードの生成を高速化します。
詳細については、サンプル時間の指定を参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | SampleTime |
| 値: | 'inf' (既定値) | scalar in quotes | vector in quotes |
| データ型: | char | string |
信号属性
有限で実数の double のスカラー値としてチェックする出力範囲の下限値を指定します。
最小値を使用して以下が行われます。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
ヒント
[出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
依存関係
このパラメーターの値は、[出力データ型] で Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最小値が使用されます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | OutMin |
| 値: | '[ ]' (既定値) | scalar in quotes |
有限で実数の double のスカラー値としてチェックする出力範囲の上限値を指定します。
最大値を使用して以下が行われます。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
ヒント
[出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
依存関係
このパラメーターの値は、[出力データ型] で Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最大値が使用されます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | OutMax |
| 値: | '[ ]' (既定値) | scalar in quotes |
出力データ型を指定します。
データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、
をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
次のいずれかのオプションを指定できます。
継承したデータ型
組み込みの Simulink データ型 — たとえば、
[single]や[uint8]を指定します。Simulink でサポートされているデータ型を参照してください。固定小数点データ型 — 関数
fixdtを使用します。たとえば、[fixdt(1,16,0)]を指定します。列挙データ型 —
Enum:が前に付いた型名を使用します。たとえば、[Enum: myEnumType]を指定します。バス データ型 —
Bus:が前に付いたSimulink.Busオブジェクトの名前を使用します。たとえば、[Bus: myBusObject]を指定します。値の型 (R2023b 以降) —
ValueType:が前に付いたSimulink.ValueTypeオブジェクトの名前を使用します。たとえば、[ValueType: windVelocity]を指定します。指定する値のタイプではDimensionsModeが'Fixed'に設定されている必要があります。カスタムのデータ型 — 型を指定する MATLAB 式を使用します。たとえば、
DataTypeModeプロパティが'Fixed-point: unspecified scaling'以外の値に設定されているSimulink.NumericTypeオブジェクトを指定できます。
Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトをデータ型として指定した場合、Constant ブロックの [出力の最小値] パラメーターおよび [出力の最大値] パラメーターは無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトの対応するプロパティが使用されます。たとえば、ブロックで [出力の最小値] が 0 に設定されているとします。ブロックの [出力データ型] で ValueType オブジェクトが指定されており、その最小値として 1 が設定されている場合、ブロックは最小値として 0 ではなく 1 を使用します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | OutDataTypeStr |
| 値: | 'Inherit: Inherit from 'Constant value'' (既定値) | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>' | 'ValueType: <object name>' | '<data type expression>' |
固定小数点ツールが、ブロックに指定した [出力データ型] をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
| パラメーター: | LockScale |
| 値: | 'off' (既定値) | 'on' |
指定するデータのカテゴリを選択します。
継承— データ型の規則の継承。[継承]を選択すると、右にある 2 番目のメニューが有効になります。以下の選択肢のいずれかを選択します。'定数値' から継承(既定の設定)逆伝播による継承
組み込み— 組み込みデータ型を指定します。[組み込み]を選択すると、右にある 2 番目のメニューが有効になります。以下の選択肢のいずれかを選択します。double(既定値)singlehalfint8uint8int16uint16int32uint32int64uint64boolean
固定小数点— 固定小数点データ型。列挙型— 列挙型のデータ型。[列挙型]を選択すると、右のテキスト ボックスが有効になります。そこにクラス名を入力できます。バス オブジェクト— バス オブジェクト。[バス オブジェクト]を選択すると、右のテキスト ボックスが有効になり、バスの構造を定義するために使用するバス オブジェクトの名前を入力できます。バス オブジェクトを作成または変更するには、テキスト ボックスの右にある [編集] をクリックします。値のタイプ(R2023b 以降) — 値のタイプ。[値のタイプ]を選択すると、右のテキスト ボックスが有効になり、出力信号のプロパティを定義するために使用する値のタイプの名前を入力できます。値のタイプを作成または変更するには、テキスト ボックスの右にある [編集] をクリックします。式— 評価結果がデータ型となる式。[式]を選択すると、右のテキスト ボックスが有効になります。そこに式を入力できます。バス オブジェクトを式として指定しないでください。
この信号のデータ型オーバーライド モードを選択します。
[継承]を選択すると、コンテキストからデータ型オーバーライド設定が継承されます。コンテキストとはブロック、Simulink.Signalオブジェクト、または信号を使用している Stateflow® チャートです。[オフ]を選択すると、コンテキストのデータ型オーバーライド設定が無視され、信号に対して指定された固定小数点データ型が使用されます。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[データ型アシスタントを表示] ボタンをクリックして、[モード] を [組み込み] または [固定小数点] に設定します。
ヒント
個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。
固定小数点データが符号付きであるか符号なしであるかを指定します。符号付きデータでは正の値と負の値を表現できますが、符号なしデータでは正の値のみを表現できます。
[符号付き]。符号付き固定小数点データを指定します。[符号なし]。符号なし固定小数点データを指定します。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点] に設定します。
オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点] に設定します。
量子化された整数をもつ語のビット サイズを指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点] に設定します。
固定小数点データ型の小数部の長さを正または負の整数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [2 進小数点] に設定します。
固定小数点データ型の傾きを指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [傾きとバイアス] に設定します。
固定小数点データ型のバイアスを任意の実数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [傾きとバイアス] に設定します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
代替構成
Eulers Number ブロックは [定数値] を exp(1) に設定します。詳細については、exp を参照してください。
ライブラリ:
Simulink /
Quick Insert /
Sources
Inf ブロックは [定数値] を inf に設定します。詳細については、Inf を参照してください。
ライブラリ:
Simulink /
Quick Insert /
Sources
NaN ブロックは [定数値] を NaN に設定します。詳細については、NaN を参照してください。
ライブラリ:
Simulink /
Quick Insert /
Sources
Negative Inf ブロックは [定数値] を -inf に設定します。詳細については、Inf を参照してください。
ライブラリ:
Simulink /
Quick Insert /
Sources
One ブロックは Constant ブロックと名前のみ異なります。
ライブラリ:
Simulink /
Quick Insert /
Sources
Pi ブロックは [定数値] を pi に設定します。詳細については、pi を参照してください。
ライブラリ:
Simulink /
Quick Insert /
Sources
Zero ブロックは [定数値] を 0 に設定します。
ライブラリ:
Simulink /
Quick Insert /
Sources
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
調整可能なパラメーターを HDL コード生成用の Constant ブロックで使用できます。詳細については、調整可能なパラメーターの DUT 端子を生成する (HDL Coder)を参照してください。
| アーキテクチャ | パラメーター | 説明 |
|---|---|---|
defaultConstant | なし | この実装は Constant ブロックの値を出力します。 |
Logic Value | なし | 既定では、この実装は信号内の各ビットにつき 'Z' を 1 文字出力します。たとえば、4 ビット信号の場合、実装は 'ZZZZ' を出力します。 |
{'Value', 'Z'} | 信号が高インピーダンス状態の場合、このパラメーター値を使用します。この実装は信号内の各ビットにつき 'Z' を 1 文字出力します。たとえば、4 ビット信号の場合、実装は 'ZZZZ' を出力します。 | |
{'Value', 'X'} | 信号が不明な状態の場合、このパラメーター値を使用します。この実装は信号内の各ビットにつき 'X' を 1 文字出力します。たとえば、4 ビット信号の場合、実装は 'XXXX' を出力します。 |
| ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
| InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
| OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
このブロックは、複素信号のコード生成をサポートしています。
[Logic Value]実装はdoubleデータ型をサポートしていません。double型の定数値にこの実装を指定した場合、コード生成エラーが発生します。[サンプル時間] が
infに設定された Constant ブロックは、無限のサンプル時間がテスト対象デバイス (DUT) の出力に伝播する場合、遅延の均衡化でサポートされません。HDL コード生成で無限のサンプル レートのエラーが発生する場合は、[サンプル時間] を[-1]に設定します。
Simulink.ValueType オブジェクトのサポートこのブロックは、Simulink.ValueType オブジェクトのコード生成をサポートしています。値のタイプの詳細については、Specify Common Set of Signal Properties as Value Typeを参照してください。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入[出力データ型] パラメーターでは、次元が固定されている Simulink.ValueType オブジェクトがサポートされます。
Constant ブロックのデータ型として値のタイプを指定すると、値のタイプはブロックで指定されている最小値と最大値および定数値のデータ型をオーバーライドします。値のタイプは定数値の次元、実数/複素数、および単位を検証します。これらのプロパティが一致していない場合、警告またはエラーが出されます。
たとえば、Constant ブロックで以下のようになっているとします。
[定数値] が
Simulink.Parameterオブジェクトに設定されていて、単位がft/sである[出力データ型] が
Simulink.ValueTypeオブジェクトに設定されていて、単位がm/sである
モデルのコンパイル時に、単位の不一致に関する警告が出されます。Constant ブロックでは単位として ft/s が使用されます。
もう 1 つの例として、Constant ブロックが以下のようになっているとします。
[定数値] が
[2 3]に設定されている[出力データ型] が
Simulink.ValueTypeオブジェクトに設定されていて、次元が1である
モデルのコンパイル時に、次元の不一致に関するエラーが出されます。実数/複素数の不一致もエラーになります。
Constant ブロックでは値のタイプの記述は使用されません。
値のタイプの詳細については、Specify Common Set of Signal Properties as Value Typeを参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)



