Main Content

配列範囲の超過

説明

S-Function で使用される Simulink® の割り当てメモリが、出力や状態、または作業ベクトルへの書き込み時に、割り当てられた配列の範囲を超える書き込みを行わないようにします。

カテゴリ: 診断

設定

既定の設定: なし

なし

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

警告

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

エラー

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

ヒント

  • モデル シミュレーション時の各ブロックインスタンスの実行によって、そのブロックに割り当てられていないメモリ位置にデータが書き込まれているかどうかを確認するには、このオプションを使用します。これが起きるのは、モデルに含まれているユーザー作成の S-Function にバグがある場合だけです。

  • このオプションを有効にすると、モデルの実行が大幅に遅くなります。そのため、モデルに含まれているユーザー作成の S-Function にバグがあることが疑われる場合にのみ、このオプションを有効にしてください。

  • このオプションを選択すると、ブロックがそのブロックに割り当てられたメモリ以外の場所にシミュレーション時に書き込みを行っているかどうかが Simulink によってチェックされます。通常、これが起きるのは、モデルに含まれているユーザー作成の S-Function にバグがある場合だけです。

  • このオプションの使用方法についての詳細は、Handle Errors in S-Functionsの「Checking Array Bounds」を参照してください。

  • アクセラレータ モードで参照されるモデルに対して、[配列範囲の超過] パラメーター設定を なし 以外の値に設定した場合、Simulink はその設定を無視します。

    モデル アドバイザーを使用して、高速シミュレーションの最中に Simulink によってコンフィギュレーション パラメーター設定が変更される参照モデルを特定できます。

    1. Simulink エディターの [モデル化] タブで、[モデル アドバイザー] をクリックし、[OK] をクリックします。

    2. [タスク別] を選択します。

    3. [高速化されたモデル参照シミュレーション中に無視された診断設定をチェック] チェックを実行します。

コマンド ライン情報

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

推奨設定

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

関連するトピック