Simulink.Signal
信号または離散状態のインスタンス固有のプロパティを指定
説明
このオブジェクトによって、データ型、数値型、次元など、信号または離散状態の属性の割り当てまたは検証に使用できるワークスペース オブジェクトを作成できます。
以下の目的に信号オブジェクトを使用できます。
信号ソースによってまだ割り当てられていない信号属性 (
-1
またはauto
の値をもつもの) に値を割り当てます。信号ソースによって明示的に値が割り当てられている信号属性を検証します。そのような属性は、
-1
またはauto
以外の値をもっています。検証が正常に行われると信号が意図した属性をもっていることが保証されます。
Simulink.Signal
オブジェクトは、MATLAB® ワークスペースまたはモデル ワークスペースで作成できます。
信号オブジェクトを使用して信号または離散状態の属性を割り当てるか、検証するには、信号または離散状態に Simulink.Signal
オブジェクトを参照するワークスペース変数と同じ名前を付けます。
信号オブジェクトの使用の詳細については、Simulink.Signal オブジェクトを使用した信号の属性の指定および制御およびデータ オブジェクトを参照してください。
風速のようなアプリケーション固有のタイプに基づく信号のプロパティの割り当てまたは検証には、Simulink.ValueType
オブジェクトを使用します。
作成
次の方法で Simulink.Signal
オブジェクトを作成します。
モデル データ エディターを使用する。信号の場合を参照してください。
モデル エクスプローラーを使用する。組み込みのデータ クラス パッケージ Simulink からのデータ オブジェクトの作成を参照してください。
信号プロパティのダイアログ ボックスまたはモデルのプロパティ インスペクターから直接実行する。[信号プロパティ] ダイアログ ボックスでの信号オブジェクトの作成を参照してください。
以下で説明する関数
Simulink.Signal
を使用する。
説明
signalObj = Simulink.Signal
は、既定のプロパティ値をもつ Simulink.Signal
オブジェクトを返します。
プロパティ
CoderInfo
— 信号のコード生成に関する仕様
Simulink.CoderInfo
オブジェクト
この プロパティ は読み取り専用です。
Simulink® Coder™ ソフトウェアがこの信号のコードを生成するために使用する情報。このプロパティの値は Simulink.CoderInfo
オブジェクトです。
モデル ワークスペース内の Simulink.Signal
オブジェクトのストレージ クラスは 'Auto'
でなければなりません。
詳細については、C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)および生成されたコードでのデータ表示を制御するストレージ クラスの選択 (Embedded Coder)を参照してください。
Description
— 信号のカスタムの説明
''
(既定値) | 文字ベクトル | string スカラー
この信号の説明。このフィールドは、この信号の説明を記述するためのものです
このプロパティは、Simulink Report Generator コード生成用に使われます。
Embedded Coder® のライセンスがあれば、次のように生成コードの変数宣言に対するコメントとして信号の説明を追加できます。
信号オブジェクトのストレージ クラスを
'Auto'
以外に指定します。モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成] 、 [コメント] ペインで、モデル コンフィギュレーション パラメーターの [Simulink データ オブジェクトの説明] を選択します。詳細については、Simulink data object descriptions (Embedded Coder)を参照してください。
例: 'This signal represents the rotation speed of the engine.'
データ型: char
| string
DataType
— 信号のデータ型
'auto'
(既定値) | 文字ベクトル | string スカラー
この信号のデータ型を指定する文字ベクトル
既定値 'auto'
は、ソフトウェアでデータ型を判断するように指定します。
たとえば 'uint8'
や 'single'
などの組み込みデータ型を指定できます。その他のオプションについては、Simulink でサポートされているデータ型を参照してください。
固定小数点データ型を指定するには、関数 fixdt
を使用します。たとえば、'fixdt(1,16,5)'
を指定します。
カスタム データ型を指定するには、たとえば Simulink.NumericType
オブジェクトを参照するベース ワークスペース変数など、型を指定する MATLAB 式を入力します。
列挙データ型を指定するには、Enum:
が前に付いた型名を使用します。たとえば、'Enum: myEnumType'
を指定します。
Simulink.ValueType
オブジェクトをデータ型として指定するには、ValueType:
が前に付いたオブジェクトの名前を使用します。たとえば、'ValueType: myValueType'
を指定します。
Simulink.Bus
オブジェクトをデータ型として指定するには、Bus:
が前に付いたバス オブジェクトの名前を使用します。たとえば、'Bus: myBusObject'
を指定します。バス オブジェクトをデータ型として指定する場合に必要な手順の詳細については、バス サポートを参照してください。
Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトをデータ型として指定する場合、Simulink.Signal
オブジェクトの一部のプロパティは無視されます。たとえば、Simulink.Signal
オブジェクトの Min
、Max
、および Unit
のプロパティは無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトの対応するプロパティが使用されます。
例: 'auto'
例: 'int8'
例: 'fixdt(1,16,5)'
例: 'myAliasTypeObject'
例: 'Enum: myEnumType'
例: 'ValueType: myValueType'
例: 'Bus: myBusObject'
ヒント
データ型を対話形式で編集する場合に [データ型アシスタント] を表示するには、[データ型アシスタントを表示] ボタン をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
データ型: char
| string
Min
— 信号の最小値
[]
(既定値) | 実数の double
のスカラー
この信号がもつことができる最小値
既定値は []
(指定なし) です。有限で実数の double のスカラー値を指定します。
この値はソフトウェアで次のように使用されます。
ブロック線図の更新やシミュレーションの開始時に、ソフトウェアは信号の初期値が最小値より小さいか、あるいは最小値が信号のデータ型の範囲外である場合にエラーを生成します。
[シミュレーション範囲のチェック] 診断を有効にすると、ソフトウェアは信号値が最小値より小さい場合、シミュレーション中に警告を出します (シミュレーション範囲のチェックを参照)。
例: -0.92
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトで指定されている最小値が使用されます。
ヒント
固定小数点データ型の信号オブジェクトについて、ダイアログ ボックスに整数格納の [最小値] プロパティが表示されます。これは信号が取るべき最小値で、整数格納値として指定されます。値は実際の最小値から派生します。
データ型: double
Max
— 信号の最大値
[]
(既定値) | 実数の double
のスカラー
この信号がもつことができる最大値
既定値は []
(指定なし) です。有限で実数の double のスカラー値を指定します。
この値はソフトウェアで次のように使用されます。
ブロック線図の更新やシミュレーションの開始時に、ソフトウェアは信号の初期値が最大値より大きいか、あるいは最大値が信号のデータ型の範囲外である場合にエラーを生成します。
[シミュレーション範囲のチェック] 診断を有効にすると、ソフトウェアは信号値が最大値より大きい場合、シミュレーション中に警告を出します (シミュレーション範囲のチェックを参照)。
例: 5.32
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトで指定されている最大値が使用されます。
ヒント
固定小数点データ型の信号オブジェクトについて、ダイアログ ボックスに整数格納の [最大値] プロパティが表示されます。これは信号が取るべき最大値で、整数格納値として指定されます。値は実際の最大値から派生します。
データ型: double
Unit
— 信号値の物理単位
''
(既定値) | 文字ベクトル | string スカラー
この信号の値を表現するために使用するインチなどの物理単位。
詳細については、Simulink モデルでの単位の指定を参照してください。
例: 'degC'
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトで指定されている単位が使用されます。
データ型: char
| string
Dimensions
— 信号の次元
-1
(既定値) | 行ベクトル | 文字ベクトル | string スカラー
この信号のサイズを指定するスカラーまたはベクトル
有効な値は、任意の次元を指定する -1
(既定の設定)、サイズ N
のベクトル信号を指定する N
、MxN
行列信号を指定する [M N]
です。
シンボリック次元を使用するには、文字ベクトルを指定します。
例: [1 3]
例: '[1 myDimParam]'
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトで指定されている次元が使用されます。
データ型: double
| char
| string
DimensionsMode
— 信号の次元モード
'auto'
(既定値) | 'Fixed'
| 'Variable'
信号の次元モード。有効な値は次のとおりです。
'auto'
— 可変サイズの信号と固定サイズの信号が許可されます。'Fixed'
— 固定サイズの信号のみが許可されます。可変サイズの信号は許可されません。'Variable'
— 可変サイズの信号のみが許可されます。
可変サイズの信号の詳細については、可変サイズの信号の基礎を参照してください。
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトで指定されている次元モードが使用されます。
Complexity
— 信号の数値の実数/複素数
'auto'
(既定値) | 'real'
| 'complex'
この信号の数値型を指定する文字ベクトル。有効な値は 'auto'
、'real'
、または 'complex'
です。
既定値 'auto'
は、ソフトウェアで実数/複素数を判断するように指定します。
依存関係
このプロパティの値は、DataType
で Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType
オブジェクトまたは Simulink.Bus
オブジェクトの Simulink.BusElement
オブジェクトで指定されている実数/複素数が使用されます。
SampleTime
— 信号のサンプル時間
-1
(既定値) | double
スカラーまたは配列
InitialValue
— 信号または状態の初期値
''
(既定値) | 文字ベクトル | string スカラー
シミュレーション前の信号または状態値は最初のタイム ステップを取ります。
ワークスペース変数の名前を含む、スカラー数値または配列と評価される任意の MATLAB 式を指定できます。
MATLAB コマンド ウィンドウまたはスクリプトで、数字を使用する場合でも、初期値は文字ベクトルとして指定します。
mySigObject.InitialValue = '5.3';
mySigObject.InitialValue = 'myNumericVariable';
double
以外の数値データ型を使用する信号の初期値を指定するには、信号のデータ型に初期値をキャストします。たとえば、データ型が single
の信号の初期値として 73.3
を使用する場合は 'single(73.3)'
と指定できます。
バス オブジェクトを信号オブジェクトのデータ型として使用する場合、InitialValue
を 0
か、バス オブジェクトと一致する MATLAB 構造体を含む文字ベクトルに設定します。詳細については、バス サポートを参照してください。
初期値が MATLAB 構造体として評価される場合、[コンフィギュレーション パラメーター] ダイアログ ボックスで、[指定不足の初期化の検出] を [簡易]
に設定します。
必要な場合、型、実数/複素数、次元が対応するブロック パラメーターの値と整合するように初期値が変換されます。無効な値または式を指定した場合は、モデルの更新時にエラー メッセージが表示されます。また、ソフトウェアで初期値の範囲チェックが実行されます。信号の初期値が、指定した最小値と最大値およびデータ型に対応する範囲外であるときに警告が表示されます。
クラシック初期化モード: このモードでは、以下の信号と状態を表す信号オブジェクトの初期値設定は、対応するブロック パラメーターの初期値が未定義 ([]
と指定) の場合はその初期値をオーバーライドします。
条件付き実行サブシステムと Merge ブロックの出力信号
ブロックの状態
簡易初期化モード: このモードでは、条件付きで実行されるサブシステムの Outport ブロックに接続されている信号線に信号オブジェクトが付属している場合、Simulink.Signal
オブジェクトから初期値を使用します。
例: '15.23'
例: 'myInitParam'
データ型: char
| string
例
ブロック端子の信号に対する信号オブジェクトの作成
信号オブジェクトを使用してモデル内の信号の特性を制御するには、ワークスペースでオブジェクトを作成し、信号と同じ名前を使用します。
mySig
という名前の信号オブジェクトを作成します。
mySig = Simulink.Signal;
信号オブジェクトのデータ型を 'boolean'
に設定します。
mySig.DataType = 'boolean';
ターゲットの信号を作成するブロック端子のハンドルを取得します。
portHandles = get_param('myModel/myBlock','portHandles'); outportHandle = portHandles.Outport;
出力信号の名前を信号オブジェクトの名前と一致するように指定します。端子のパラメーター 'Name'
を使用します。
set_param(outportHandle,'Name','mySig')
端子のパラメーター 'MustResolveToSignalObject'
を 'on'
に設定して、モデル内の信号で信号オブジェクトに格納されているプロパティを使用するように強制します。
set_param(outportHandle,'MustResolveToSignalObject','on')
ルートレベルの Outport ブロックの信号に対する信号オブジェクトの作成
信号オブジェクトを使用してモデル内の信号の特性を制御するには、ワークスペースでオブジェクトを作成し、信号と同じ名前を使用します。
mySig
という名前の信号オブジェクトを作成します。
mySig = Simulink.Signal;
信号オブジェクトのデータ型を 'boolean'
に設定します。
mySig.DataType = 'boolean';
出力信号の名前を信号オブジェクトの名前と一致するように指定します。ブロックのパラメーター 'SignalName'
を使用します。
set_param('myModel/myOutport','SignalName','mySig')
ブロックのパラメーター 'MustResolveToSignalObject'
を 'on'
に設定して、モデル内の信号で信号オブジェクトに格納されているプロパティを使用するように強制します。
set_param('myModel/myOutport','MustResolveToSignalObject','on')
状態に対する信号オブジェクトの作成
信号オブジェクトを使用して Discrete-Time Integrator ブロックなどのブロックの状態の特性を制御できます。
myState
という名前の信号オブジェクトを作成します。
myState = Simulink.Signal;
信号オブジェクトのデータ型を 'int16'
に設定します。
myState.DataType = 'int16';
状態の名前を信号オブジェクトの名前と一致するように指定します。ブロックのパラメーター 'StateName'
を使用します。
set_param('myModel/myBlock','StateName','myState')
ブロックのパラメーター 'StateMustResolveToSignalObject'
を 'on'
に設定して、モデル内の状態で信号オブジェクトに格納されているプロパティを使用するように強制します。
set_param('myModel/myBlock','StateMustResolveToSignalObject','on')
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
生成されたコード内の Simulink.Signal
オブジェクトの外観を制御するには、[ストレージ クラス] プロパティを使用します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入R2023b: Simulink.ValueType
オブジェクトは親の記述をオーバーライドしない
Simulink.ValueType
オブジェクトを Simulink.Signal
オブジェクトのデータ型として指定した場合、値の型のオブジェクトは Simulink.Signal
オブジェクトの記述をオーバーライドしなくなります。
参考
Simulink.Parameter
| Simulink.CoderInfo
| AUTOSAR.Signal
(AUTOSAR Blockset)
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)