Main Content

固定小数点のインストルメンテーションおよびデータ型オーバーライド

浮動小数点から固定小数点へのモデルの変換には、固定小数点のインストルメンテーションとデータ型オーバーライドの設定が必要です。ただし、変換後にこれらの設定を残したままにすると、予期しない結果が生じる可能性があります。

[範囲の収集] ボタンをクリックすると、固定小数点ツールで固定小数点のインストルメンテーションが自動で有効になります。既定では、固定小数点ツールは、モデルに設定されている現在のデータ型オーバーライドを使用します。また、データ型を double、single、またはスケーリングされた double でオーバーライドすることもできます。シミュレーションまたは派生の完了時に、固定小数点のインストルメンテーションが自動で無効になり、ツールでデータ型オーバーライドが選択されていた場合はデータ型オーバーライドが削除されます。[組み込み型によるシミュレーション] をクリックすると、シミュレーションの間、インストルメンテーションが有効になります。モデルのデータ型オーバーライドの設定には影響しません。

インストルメンテーションの設定の制御

固定小数点のインストルメンテーション モードは、どのオブジェクトがシミュレーション中に最小、最大、オーバーフロー データのログを作成するかを制御します。インストルメンテーションは、固定小数点ツールを使用してシミュレーション範囲を収集するために必要です。これらの範囲はモデルのデータ型の推奨に使用されます。モデルを固定小数点に頻繁に変換していない場合は、固定小数点のインストルメンテーションを無効にしてモデルへのシミュレーション速度を最大に戻します。

固定小数点ツール外でインストルメンテーションを有効にするには、コマンド ラインで MinMaxOverflowLogging パラメーターを MinMaxAndOverflow または OverflowOnly に設定します。

set_param('MyModel','MinMaxOverflowLogging','MinMaxAndOverflow')

インストルメンテーションには Fixed-Point Designer™ のライセンスが必要です。モデルでインストルメンテーションを無効にするには、パラメーターを ForceOff または UseLocalSettings にします。

set_param('MyModel','MinMaxOverflowLogging','UseLocalSettings')

データ型オーバーライドの制御

データ型オーバーライドを使用して、double、single またはスケーリングされた double データ型を使用したモデルをシミュレートします。Fixed-Point Designer ソフトウェアがない場合でも、データ型オーバーライドを構成し、固定小数点データ型を指定するモデルのシミュレーションが行えます。この設定を使用して、シミュレーション中はデータ型が浮動小数点データ型で一時的にオーバーライドされます。

set_param('MyModel','DataTypeOverride','Double')

モデルの真の動作を観察するには、データ型オーバーライド パラメーターを UseLocalSettings または Off に設定します。

set_param('MyModel','DataTypeOverride','Off')

モデル参照階層に対するインストルメンテーションの設定とデータ型のオーバーライド

参照モデルが含まれるモデルのシミュレーションを実行する場合、最上位モデルのデータ型オーバーライドと固定小数点のインストルメンテーションの設定によって、参照モデルの設定が制御されることはありません。これらの設定は、参照モデルで個別に指定しなければなりません。設定に矛盾がある場合、たとえば、最上位モデルの [データ型オーバーライド設定] を [double] にし、参照モデルでは [ローカル設定を使用] を設定し、参照モデルで固定小数点データ型を使用する場合、データ型伝播の問題が発生する可能性があります。

参照モデルのいずれかのインスタンスで、固定小数点のインストルメンテーションおよびデータ型オーバーライドの設定を変更すると、モデルのすべてのインスタンスと参照モデル自体の設定が変更されます。

データ型オーバーライドの制限事項

次のブロックではデータ型オーバーライドはサポートされていません。

  • アクション言語として MATLAB を使用する Stateflow® Chart ブロック

  • アクション言語として MATLAB を使用する State Transition Table® ブロック

  • アクション言語として MATLAB を使用する Truth Table® ブロック

  • Test Sequence ブロック

  • MATLAB Function ブロック

  • MATLAB Discrete-Event System ブロック

  • Requirements Table ブロック

関連するトピック