推奨されたデータ型を適用した後のデータ型の伝播エラー
特定の条件下で、固定小数点ツールは、モデルと互換しないデータ型を推奨する場合があります。以下のトピックでは、この問題の原因となる可能性のあるモデル コンフィギュレーションと、問題の解決方法を説明します。
ヒント
モデルをオートスケールする前に、データ型オーバーライドをオンにせずにブロック線図を正常に更新できるか常に確認してください。
共有データ型グループ
共有データ型グループの表示
固定小数点ツールの結果を、同じデータ型を共有しなければならないグループに整理すると、デバッグ処理に役立ちます。
結果が属するデータ型グループを表示するには、スプレッドシートに [DTGroup] 列を追加します。列追加のボタン をクリックします。メニューから [DTGroup] を選択します。
[DTGroup] 列ヘッダーをクリックすると、結果がこの列によって並べ替えられます。
共有グループ内のロックされたデータ型
固定小数点ツールによる変更に対してオブジェクトがロックされている場合、固定小数点ツールはオブジェクトに対して新しいデータ型を推奨しません。同じデータ型を共有しなければならない結果グループ内の 1 つの結果がロックされている場合、固定小数点ツールは、ロックされたオブジェクトを除く、グループ内の他のすべてのオブジェクトに対してデータ型を推奨します。グループに対して推奨されたデータ型がロックされたデータ型と互換性がない場合、伝播エラーが発生します。
互換性がないデータ型の推奨を回避するためには、次のいずれかを実行します。
固定小数点ツールの変更に対してグループ内のすべてのオブジェクトをロックする。
ロックされたデータ型を含むグループでオブジェクトのロックを解除する。
固定小数点ツールの [ProposedDT] 列には、固定小数点ツールによる変更に対してロックされたすべての結果について [ロック済み
] が表示されます。
共有データ型グループの一部がスコープ外
共有データ型グループ内の結果が設計対象のシステムのスコープ外のデータを共有している場合、固定小数点ツールはデータ型を推奨できません。
データ型の推奨を取得するには、次のいずれかを実行します。
設計対象のシステム内のオブジェクトが、選択したシステム外のオブジェクトと出力データ型を共有していないか確認する。設計対象のシステム内のオブジェクトがシステム外のオブジェクトとデータ型を共有していないことを確認する方法の 1 つは、Data Type Conversion ブロックをシステム境界に挿入することです。
データ型を共有しなければならないすべてのオブジェクトが設計対象のシステムのスコープ内であるか確認する。
Model Reference ブロック
モデル参照の境界にまたがるデータ型を共有するシステムでは、データ型の伝播エラーが発生する可能性があります。
データ型の伝播エラーを回避するには、次の点に注意します。
モデル参照境界間で同じ信号オブジェクトを使用しない。
モデル参照境界に Data Type Conversion ブロックを挿入する。
ブロック制約
特定のブロックには、そのブロックでサポートできるデータ型に対する制約があります。たとえば、Merge ブロックではすべての入力で同じデータ型を使用する必要があります。
Communications Toolbox™、DSP System Toolbox™ および Computer Vision Toolbox™ ライブラリの特定のブロックには、データ型の制約があります。固定小数点ツールはこの要件を認識していないため、自動データ型指定にそれを使用しません。したがって、ツールはブロック要件と一致しないデータ型を推奨する場合があります。この場合は、ブロックの制約に準拠するように推奨されたデータ型を手動で編集します。
これらの制約の詳細については、各ブロック参照のページを参照してください。
内部ブロックの規則
Sum ブロック
Sum ブロックには、出力データ型とアキュムレータ データ型の両方が含まれます。特定の条件下では、アキュムレータ データ型を [継承: 内部ルールによる継承
] に設定すると、データ型の伝播エラーが発生する可能性があります。
互換するデータ型の推奨を取得するには、次のいずれかを実行します。
アキュムレータ データ型を [
継承: 内部ルールによる継承
] 以外の値に変更し、モデルのデータ型を再推奨して互換するデータ型の推奨を取得する。固定小数点ツールによる変更に対してブロックをロックする。