Constant
定数値の生成
ライブラリ:
Simulink /
Commonly Used Blocks
Simulink /
Sources
DSP System Toolbox /
Sources
HDL Coder /
Commonly Used Blocks
HDL Coder /
Sources
説明
Constant ブロックは、実数または複素数の定数値信号を生成します。このブロックを使用して、定数信号入力を提供します。このブロックは、次の値に応じて、スカラー、ベクトル、または行列のいずれかの出力を生成します。
[定数値] パラメーターの次元
[ベクトル パラメーターを 1 次元として解釈] パラメーターの設定
ブロックの出力は、[定数値] パラメーターと同じ次元と要素をもちます。このパラメーターにベクトルを指定し、ブロックによってそれがベクトルとして解釈されるようにするには、[ベクトル パラメーターを 1 次元として解釈] チェック ボックスをオンにします。そうでない場合は、[定数値] パラメーターの値にベクトルを指定すると、ベクトルは行列として処理されます。
ヒント
定数列挙値を出力するには、代わりに Enumerated Constant ブロックの使用を検討してください。Constant ブロックには、[出力の最小値] や [出力の最大値] など、列挙型に適用されないブロック パラメーターが備わっています。
出力データ型としてバス オブジェクトを使用する場合
Constant ブロックでは、非バーチャル バスを出力データ型として使用することをサポートしています。バス オブジェクトを出力データ型として使用すると、モデルを簡略化できます。バス オブジェクトを出力データ型として使用する場合、[定数値] を 0
またはバス オブジェクトに適合する MATLAB® 構造体に設定します。
バスの定数値に構造体を使用する場合
指定する構造体には、バス オブジェクトが表すバスのすべての要素の値を含めなければなりません。ブロック出力は非バーチャル バス信号です。
Simulink.Bus.createMATLABStruct
を使用すると、バスに対応する完全な構造体を作成できます。
Simulink.Bus.createObject
を使用すると、MATLAB 構造体からバス オブジェクトを作成できます。
出力バスの信号要素が double
以外の数値データ型を使用する場合、uint16(37)
などの型付き式または 37
などの型なし式を使用して構造体フィールドを指定できます。フィールドのデータ型を制御するには、バス オブジェクトを Simulink.Parameter
オブジェクトのデータ型として使用します。型付き式または型なし式のどちらを使用するか決定するには、初期条件構造体フィールドのデータ型の制御を参照してください。
バス オブジェクトのデータ型を使用するためのコンフィギュレーション パラメーターの設定
バス オブジェクトを出力データ型として使用できるようにするには、シミュレーションを開始する前に、[コンフィギュレーション パラメーター] 、 [診断] 、 [データ有効性] 、 [詳細設定パラメーター] 、 [指定不足の初期化の検出] を [簡易]
に設定します。詳細については、Underspecified initialization detectionを参照してください。
端子
出力
Port_1 — 定数値
スカラー | ベクトル | 行列 | N 次元配列
定数値。実数または複素数のスカラー、ベクトル、行列または N 次元配列として指定します。既定では、Constant ブロックは次元、データ型および実数/複素数が [定数値] パラメーターと同じ信号を出力します。ただし、固定小数点データ型や列挙データ型など、Simulink® がサポートする任意のデータ型として出力を指定することができます。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
パラメーター
メイン
定数値 — 定数の出力値
1
(既定値) | スカラー | ベクトル | 行列 | N 次元配列
ブロックによって出力される定数値を指定します。
MATLAB によって行列として評価される任意の式を入力できます。これには Boolean キーワード
true
およびfalse
が含まれます。[出力データ型] をバス オブジェクトに設定する場合、次のいずれかのオプションを指定できます。
バス オブジェクトに対応する完全な MATLAB 構造体
バス オブジェクトのグラウンド値に対応する構造体を示す
0
詳細については、出力データ型としてバス オブジェクトを使用する場合を参照してください。
非バス データ型の場合、Simulink は、最近値への丸め手法および飽和のオーバーフロー アクションを使用して、このパラメーターをこの値データ型から指定された出力データ型にオフラインで変換します。
依存関係
[出力データ型] で Simulink.ValueType
オブジェクトが指定されている場合は、定数値のデータ型は無視されます。
このパラメーターで Simulink.Parameter
オブジェクトが指定されていて、[出力データ型] で Simulink.ValueType
オブジェクトが指定されている場合は、以下のようになります。
ブロックは
Simulink.ValueType
オブジェクトで指定されている最小値、最大値、およびデータ型を使用します。ブロックは
Simulink.Parameter
オブジェクトで指定されている単位を使用します。オブジェクトで指定されている次元および実数/複素数が一致している必要があります。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | Value |
値: | '1' (既定値) | scalar in quotes | vector in quotes | matrix in quotes | array in quotes |
データ型: | char | string |
ベクトル パラメーターを 1 次元として解釈 — ベクトルを 1 次元として処理
on
(既定値) | off
[定数値] パラメーターが N
要素の行または列ベクトルの場合、長さ N
のベクトルを出力するにはこのチェック ボックスをオンにします。
このチェック ボックスをオンにすると、[定数値] パラメーターが
N
要素の行または列ベクトルとして評価される場合に、ブロックは長さN
のベクトルを出力します。このチェック ボックスをオフにすると、[定数値] パラメーターが
N
要素の行または列ベクトルとして評価される場合に、ブロックは次元が 1 行N
列またはN
行 1 列の行列を出力します。たとえば、ブロックは次元が 1 行N
列またはN
行 1 列の行列を出力します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | VectorParams1D |
値: | 'on' (既定値) | 'off' |
サンプル時間 — サンプリング間隔
inf
(既定値) | スカラー | ベクトル
たとえば、[定数値] パラメーターの調整結果として、シミュレーション中に 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 |
出力データ型 — 出力データ型
継承: '定数値' からの継承
(既定値) | 継承: 逆伝播による継承
| double
| single
| half
| int8
| int16
| ...
出力データ型を指定します。
データ属性の設定には [データ型アシスタント] が役立ちます。[データ型アシスタント] を使用するには、 をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
次のいずれかのオプションを指定できます。
継承したデータ型
組み込みの 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>' |
固定小数点ツールによる変更に対して出力データ型の設定をロックする — 固定小数点ツールが出力データ型をオーバーライドするのを防止
off
(既定値) | on
固定小数点ツールが、ブロックに指定した [出力データ型] をオーバーライドしないようにするには、このパラメーターを選択します。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | LockScale |
値: | 'off' (既定値) | 'on' |
モード — 指定するデータのカテゴリ
継承
(既定値) | 組み込み
| 固定小数点
| 列挙型
| バス オブジェクト
| 値のタイプ
| 式
指定するデータのカテゴリを選択します。
継承
— データ型の規則の継承。[継承]
を選択すると、右にある 2 番目のメニューが有効になります。以下の選択肢のいずれかを選択します。'定数値' から継承
(既定の設定)逆伝播による継承
組み込み
— 組み込みデータ型を指定します。[組み込み]
を選択すると、右にある 2 番目のメニューが有効になります。以下の選択肢のいずれかを選択します。double
(既定値)single
half
int8
uint8
int16
uint16
int32
uint32
int64
uint64
boolean
固定小数点
— 固定小数点データ型。列挙型
— 列挙型のデータ型。[列挙型]
を選択すると、右のテキスト ボックスが有効になります。そこにクラス名を入力できます。バス オブジェクト
— バス オブジェクト。[バス オブジェクト]
を選択すると、右のテキスト ボックスが有効になり、バスの構造を定義するために使用するバス オブジェクトの名前を入力できます。バス オブジェクトを作成または変更するには、テキスト ボックスの右にある [編集] をクリックします。値のタイプ
(R2023b 以降) — 値のタイプ。[値のタイプ]
を選択すると、右のテキスト ボックスが有効になり、出力信号のプロパティを定義するために使用する値のタイプの名前を入力できます。値のタイプを作成または変更するには、テキスト ボックスの右にある [編集] をクリックします。式
— 評価結果がデータ型となる式。[式]
を選択すると、右のテキスト ボックスが有効になります。そこに式を入力できます。バス オブジェクトを式として指定しないでください。
データ型オーバーライド — この信号のデータ型オーバーライド モードを指定します。
継承
| オフ
この信号のデータ型オーバーライド モードを選択します。
[継承]
を選択すると、コンテキストからデータ型オーバーライド設定が継承されます。コンテキストとはブロック、Simulink.Signal
オブジェクト、または信号を使用している Stateflow® チャートです。[オフ]
を選択すると、コンテキストのデータ型オーバーライド設定が無視され、信号に対して指定された固定小数点データ型が使用されます。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[データ型アシスタントを表示] ボタンをクリックして、[モード] を [組み込み]
または [固定小数点]
に設定します。
ヒント
個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。
符号属性 — 符号付きまたは符号なしを指定
符号付き
(既定値) | 符号なし
固定小数点データが符号付きであるか符号なしであるかを指定します。符号付きデータでは正の値と負の値を表現できますが、符号なしデータでは正の値のみを表現できます。
[符号付き]
。符号付き固定小数点データを指定します。[符号なし]
。符号なし固定小数点データを指定します。
詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
スケーリング — 固定小数点データのスケーリング方法
最高精度
(既定値) | 2 進小数点
| 勾配とバイアス
オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
語長 — 量子化された整数をもつ語のビット サイズ
16
(既定値) | 0 ~ 32 の整数
量子化された整数をもつ語のビット サイズを指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[モード] を [固定小数点]
に設定します。
小数部の長さ — 固定小数点データ型の小数部の長さを指定します。
0
(既定値) | スカラー整数
固定小数点データ型の小数部の長さを正または負の整数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [2 進小数点]
に設定します。
勾配 — 固定小数点データ型の勾配を指定
2^0
(既定値) | 正の実数値のスカラー
固定小数点データ型の勾配を指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
バイアス — 固定小数点データ型のバイアスを指定
0
(既定値) | 実数値のスカラー
固定小数点データ型のバイアスを任意の実数として指定します。詳細については、固定小数点データ型の指定を参照してください。
依存関係
このパラメーターを有効にするには、[スケーリング] を [勾配とバイアス]
に設定します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
調整可能なパラメーターを HDL コード生成用の Constant ブロックで使用できます。詳細については、調整可能なパラメーターの DUT 端子を生成する (HDL Coder)を参照してください。
アーキテクチャ | パラメーター | 説明 |
---|---|---|
default Constant | なし | この実装は 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 より前に導入R2023b: [出力データ型] を Simulink.ValueType
オブジェクトに設定
[出力データ型] パラメーターでは、次元が固定されている 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 コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)