メインコンテンツ

Simulink.Signal

信号または離散状態のインスタンス固有のプロパティを指定

説明

このオブジェクトによって、データ型、数値型、次元など、信号または離散状態の属性の割り当てまたは検証に使用できるワークスペース オブジェクトを作成できます。

以下の目的に信号オブジェクトを使用できます。

  • 信号ソースによってまだ割り当てられていない信号属性 (-1 または auto の値をもつもの) に値を割り当てます。

  • 信号ソースによって明示的に値が割り当てられている信号属性を検証します。そのような属性は、-1 または auto 以外の値をもっています。検証が正常に行われると信号が意図した属性をもっていることが保証されます。

Simulink.Signal オブジェクトは、MATLAB® ワークスペースまたはモデル ワークスペースで作成できます。

信号オブジェクトを使用して信号または離散状態の属性を割り当てるか、検証するには、信号または離散状態に Simulink.Signal オブジェクトを参照するワークスペース変数と同じ名前を付けます。

信号オブジェクトの使用の詳細については、Simulink.Signal オブジェクトを使用した信号の属性の指定および制御およびデータ オブジェクトを参照してください。

風速のようなアプリケーション固有のタイプに基づく信号のプロパティの割り当てまたは検証には、Simulink.ValueType オブジェクトを使用します。

作成

次の方法で Simulink.Signal オブジェクトを作成します。

説明

signalObj = Simulink.Signal は、既定のプロパティ値をもつ Simulink.Signal オブジェクトを返します。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

Simulink® Coder™ ソフトウェアがこの信号のコードを生成するために使用する情報。このプロパティの値は Simulink.CoderInfo オブジェクトです。

モデル ワークスペースの Simulink.Signal オブジェクトでは、[コード生成] タブが使用できません。また、ストレージ クラスは常に 'Auto' に設定されます。ただし、コード マッピング エディターでオブジェクトのストレージ クラスを設定することができます。この設定を行っても、CoderInfo プロパティは更新されません。詳細については、コード マッピング エディター – C (Simulink Coder)およびCode Mappings – C++ Editor (Embedded Coder)を参照してください。

詳細については、C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)および生成されたコードでのデータ表示を制御するストレージ クラスの選択 (Embedded Coder)を参照してください。

この信号の説明。このフィールドは、この信号の説明を記述するためのものです

このプロパティは、Simulink Report Generator コード生成用に使われます。

Embedded Coder® のライセンスがあれば、次のように生成コードの変数宣言に対するコメントとして信号の説明を追加できます。

  • 信号オブジェクトのストレージ クラスを 'Auto' 以外に指定します。

  • モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成][コメント] ペインで、モデル コンフィギュレーション パラメーターの [Simulink データ オブジェクトの説明] を選択します。詳細については、Simulink データ オブジェクトの説明 (Embedded Coder)を参照してください。

例: 'This signal represents the rotation speed of the engine.'

データ型: char | 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 オブジェクトの MinMax、および Unit のプロパティは無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトの対応するプロパティが使用されます。

例: 'auto'

例: 'int8'

例: 'fixdt(1,16,5)'

例: 'myAliasTypeObject'

例: 'Enum: myEnumType'

例: 'ValueType: myValueType'

例: 'Bus: myBusObject'

ヒント

データ型を対話形式で編集する場合に [データ型アシスタント] を表示するには、[データ型アシスタントを表示] ボタン をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

データ型: char | string

この信号がもつことができる最小値

既定値は [] (指定なし) です。有限で実数の double のスカラー値を指定します。

この値はソフトウェアで次のように使用されます。

  • ブロック線図の更新やシミュレーションの開始時に、ソフトウェアは信号の初期値が最小値より小さいか、あるいは最小値が信号のデータ型の範囲外である場合にエラーを生成します。

  • [シミュレーション範囲のチェック] 診断を有効にすると、ソフトウェアは信号値が最小値より小さい場合、シミュレーション中に警告を出します (Simulation range checkingを参照)。

例: -0.92

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最小値が使用されます。

ヒント

固定小数点データ型の信号オブジェクトについて、ダイアログ ボックスに整数格納の [最小値] プロパティが表示されます。これは信号が取るべき最小値で、整数格納値として指定されます。値は実際の最小値から派生します。

データ型: double

この信号がもつことができる最大値

既定値は [] (指定なし) です。有限で実数の double のスカラー値を指定します。

この値はソフトウェアで次のように使用されます。

  • ブロック線図の更新やシミュレーションの開始時に、ソフトウェアは信号の初期値が最大値より大きいか、あるいは最大値が信号のデータ型の範囲外である場合にエラーを生成します。

  • [シミュレーション範囲のチェック] 診断を有効にすると、ソフトウェアは信号値が最大値より大きい場合、シミュレーション中に警告を出します (Simulation range checkingを参照)。

例: 5.32

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている最大値が使用されます。

ヒント

固定小数点データ型の信号オブジェクトについて、ダイアログ ボックスに整数格納の [最大値] プロパティが表示されます。これは信号が取るべき最大値で、整数格納値として指定されます。値は実際の最大値から派生します。

データ型: double

この信号の値を表現するために使用するインチなどの物理単位。

詳細については、Simulink モデルでの単位の指定を参照してください。

例: 'degC'

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている単位が使用されます。

データ型: char | string

この信号のサイズを指定するスカラーまたはベクトル

有効な値は、任意の次元を指定する -1 (既定の設定)、サイズ N のベクトル信号を指定する NMxN 行列信号を指定する [M N] です。

シンボリック次元を使用するには、文字ベクトルを指定します。

例: [1 3]

例: '[1 myDimParam]'

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトで指定されている次元が使用されます。

データ型: double | char | string

信号の次元モード。有効な値は次のとおりです。

  • 'auto' — 可変サイズの信号と固定サイズの信号が許可されます。

  • 'Fixed' — 固定サイズの信号のみが許可されます。可変サイズの信号は許可されません。

  • 'Variable' — 可変サイズの信号のみが許可されます。

可変サイズの信号の詳細については、可変サイズの信号の基礎を参照してください。

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている次元モードが使用されます。

この信号の数値型を指定する文字ベクトル。有効な値は 'auto''real'、または 'complex' です。

既定値 'auto' は、ソフトウェアで実数/複素数を判断するように指定します。

依存関係

このプロパティの値は、DataTypeSimulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトが指定されている場合は無視されます。代わりに、Simulink.ValueType オブジェクトまたは Simulink.Bus オブジェクトの Simulink.BusElement オブジェクトで指定されている実数/複素数が使用されます。

この信号の値を計算するレート。

詳細については、サンプル時間の指定を参照してください。

例: 0.001

例: 2

データ型: double

シミュレーション前の信号または状態値は最初のタイム ステップを取ります。

ワークスペース変数の名前を含む、スカラー数値または配列と評価される任意の MATLAB 式を指定できます。

MATLAB コマンド ウィンドウまたはスクリプトで、数字を使用する場合でも、初期値は文字ベクトルとして指定します。

mySigObject.InitialValue = '5.3';
mySigObject.InitialValue = 'myNumericVariable';

double 以外の数値データ型を使用する信号の初期値を指定するには、信号のデータ型に初期値をキャストします。たとえば、データ型が single の信号の初期値として 73.3 を使用する場合は 'single(73.3)' と指定できます。

バス オブジェクトを信号オブジェクトのデータ型として使用する場合、InitialValue0 か、バス オブジェクトと一致する 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')

信号オブジェクトを使用してモデル内の信号の特性を制御するには、ワークスペースでオブジェクトを作成し、信号と同じ名前を使用します。

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')

拡張機能

すべて展開する

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入