Main Content

指定不足のデータ型

説明

データ型の伝播時に信号のデータ型を Simulink® によって推測できなかった場合に行う診断アクションを選択します。

カテゴリ: 診断

指定不足のデータ型の特定と解決

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

  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 番目の入力の指定不足のデータ型に適用します。

設定

既定の設定: なし

なし

Simulink ソフトウェアはいかなるアクションも実行しません。

警告

Simulink ソフトウェアが警告を表示します。

エラー

Simulink ソフトウェアはシミュレーションを終了し、エラー メッセージを表示します。

コマンド ライン情報

パラメーター: UnderSpecifiedDataTypeMsg
値: 'none' | 'warning' | 'error'
既定の設定: 'none'

推奨設定

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

関連するトピック