メインコンテンツ

指定不足のデータ型

信号のデータ型をソフトウェアで推論できない場合に行う診断アクション

モデル コンフィギュレーション ペイン: 診断 / データ有効性

説明

[指定不足のデータ型] パラメーターは、データ型の伝播時に信号のデータ型をソフトウェアで推論できない場合に行う診断アクションを指定します。

設定

なし (既定値) | 警告 | エラー
なし

データ型の伝播時に信号のデータ型をソフトウェアで推論できない場合、診断は発行されません。

警告

データ型の伝播時に信号のデータ型をソフトウェアで推論できない場合に警告が発行されます。

エラー

データ型の伝播時に信号のデータ型をソフトウェアで判定できない場合、エラーが発行され、シミュレーションが終了します。

すべて展開する

以下の例では、コンフィギュレーション パラメーター [指定不足のデータ型] を使用して、指定不足のデータ型を特定して解決する方法を示します。

  1. モデル例 UnderspecifiedDataTypes を開きます。

  2. [指定不足のデータ型] コンフィギュレーション パラメーターを warning に設定します。

  3. ブロック線図を更新します。モデル内の信号はデータ型 uint8 を使用しており、モデルでは警告が生成されます。

  4. 診断ビューアーを開きます。Constant ブロックの出力信号のデータ型が指定不足であることを示す警告が表示されます。

  5. Constant ブロックのダイアログ ボックスを開きます。[信号属性] タブで、[出力データ型]Inherit: Inherit via back propagation に設定されています。Constant ブロックの出力は、データ型を接続先ブロックから継承します。この場合、接続先は Sum ブロックです。

  6. Sum ブロックのダイアログ ボックスを開きます。[信号属性] タブで、[アキュムレータのデータ型]Inherit: Inherit via internal rule に設定されています。Sum ブロックは、すべての入力信号を選択されたアキュムレータのデータ型にキャストします。この場合、アキュムレータのデータ型は継承されたデータ型として指定されます。

  7. Inport ブロックのダイアログ ボックスを開きます。[信号属性] タブで、[データ型]uint8 に設定されています。

ソース ブロックと接続先ブロックはそれぞれ継承されたデータ型を適用するため、Constant ブロックの出力信号のデータ型は指定不足です。信号は、継承する明示的なデータ型を特定できません。このような場合、Simulink はヒューリスティックなルールを適用して、使用するデータ型を選択します。

指定不足のデータ型を解決するには、以下のいずれかの方法を使用します。

  • Constant ブロックのダイアログ ボックスの [信号属性] タブで、[出力データ型]uint8 などの特定の数値型として指定します。

  • Sum ブロックのダイアログ ボックスの [信号属性] タブで、[すべての入力が同じデータ型をもつ] チェック ボックスをオンにします。この設定により、Sum ブロックでは 1 番目の入力のデータ型 uint8 を 2 番目の入力の指定不足のデータ型に適用します。

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティ影響なし
効率性影響なし
安全対策エラー

プログラムでの使用

パラメーター: UnderSpecifiedDataTypeMsg
型: string | 文字ベクトル
値: "none" | "warning" | "error"
既定の設定: "none"

バージョン履歴

R2006a より前に導入