Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

コード生成

hisl_0052: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[データの初期化]

ID: タイトルhisl_0052: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[データの初期化]
説明

モデル コンフィギュレーション パラメーター設定が次のように構成されているモデルの変数を明示的に初期化します。

  • [システム ターゲット ファイル]autosar.tlc 以外の ERT ベースのシステム ターゲット ファイルに設定されている

  • [コード インターフェイスのパッケージ化]Nonreusable function または Reusable function に設定されている。

これらのモデルについて、次のモデル コンフィギュレーション パラメーターをクリアすることにより、データを完全に定義し、内部と外部のデータをゼロに初期化するコード生成を構成できます。

  • ルート レベル I/O のゼロ初期化を削除

  • 内部データのゼロ初期化を削除

メモ
  • ターゲット環境が I/O と状態変数を初期化する方法を提供している場合は、[ルート レベル I/O のゼロ初期化を削除] パラメーターと [内部データのゼロ初期化を削除] パラメーターをクリアする代わりに、ターゲット環境の初期化方法を使用することを検討してください。

  • モデルでデータ コード インターフェイスが構成されている場合は次のようになります。

    • データ スコープが Imported であるストレージ クラスにマッピングされたデータについては、Simulink で [ルート レベル I/O のゼロ初期化を削除] パラメーターが選択されます。インポートされるデータは生成コードで定義されず、そのようなデータのゼロ初期化はターゲット環境で行います。

    • データ スコープが Exported であるストレージ クラスにマッピングされたデータについては、[ルート レベル I/O のゼロ初期化を削除] パラメーターをクリアします。

  • モデルがサービス コード インターフェイスを使用するように構成されている場合、Outside Execution または During Execution のデータ通信方法が構成されたサービス インターフェイスにマッピングされたルートレベルの入力端子と出力端子については、Simulink で [ルート レベル I/O のゼロ初期化を削除] パラメーターが選択されます。通信のデータはターゲット環境で定義され、初期化もターゲット環境で行います。サービス インターフェイスが Direct Access のデータ通信方法を使用するように構成されている場合、コード ジェネレーターでストレージ クラスが適用され、結果としてデータ インターフェイスの動作になります。

根拠生成コードで完全に定義されたデータをサポートする。
モデル アドバイザー チェックCheck safety-related optimization settings for data initialization (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.3.b 'Software architecture is consistent’

  • IEC 61508-3, Table A.4 (3) 'Defensive Programming’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1d) 'Use of defensive implementation techniques'

  • EN 50128, Table A.3 (1) 'Defensive Programming'

参考

Simulink® ドキュメンテーションの以下のパラメーターに関する情報:

最終更新R2023a

hisl_0053: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[範囲外の値をラップする浮動小数点から整数への変換コードを削除]

ID: タイトルhisl_0053: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[範囲外の値をラップする浮動小数点から整数への変換コードを削除]
説明

検証可能なコードをサポートするために、コンフィギュレーション パラメーター [範囲外の値をラップする浮動小数点から整数への変換コードを削除] を選択します。

メモ

オーバーフローをラッパー コードで処理するのではなく、オーバーフローを避けてください。

[整数オーバーフローで飽和] コンフィギュレーション パラメーターがクリアされているブロックの場合、[範囲外の値をラップする浮動小数点から整数への変換コードを削除] を選択解除することによって、範囲外の値をラップするコードが追加されて、テストできない到達不能コードになる可能性があります。

根拠検証可能なコードの生成をサポートする。
モデル アドバイザー チェックCheck safety-related optimization settings for data type conversions (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.1.g 'Algorithms are accurate’
    DO-331, Section MB.6.3.2.g 'Algorithms are accurate’

  • IEC 61508-3, Table A.4 (3) 'Defensive Programming’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1d) 'Use of defensive implementation techniques'

  • EN 50128, Table A.3 (1) 'Defensive Programming'

  • MISRA C:2012, Rule 2.1

  • INT32-C. 符号付き整数演算がオーバーフローを引き起こさないことを保証する

参考Simulink ドキュメンテーションの範囲外の値をラップする浮動小数点から整数への変換コードを削除 (Simulink Coder)
最終更新R2021b

hisl_0054: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[除算演算の例外処理を防止するコードを削除]

ID: タイトルhisl_0054: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[除算演算の例外処理を防止するコードを削除]
説明

演算のロバスト性をサポートするために、コンフィギュレーション パラメーター [除算演算の例外処理を防止するコードを削除] をクリアします。

メモ

ゼロ除算の例外を避けてください。[除算演習の例外処理に対して保護されたコードの削除] をクリアすると、固定小数点データのゼロ除算を防ぐコードが生成されます。

このコンフィギュレーション パラメーターは、[システム ターゲット ファイル] が ERT ベースのターゲットである場合にのみ適用できます。

根拠固定小数点コードのゼロ除算の例外を防ぐ。
モデル アドバイザー チェックCheck safety-related optimization settings for division arithmetic exceptions (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.1.g 'Algorithms are accurate’
    DO-331, Section MB.6.3.2.g 'Algorithms are accurate’

  • IEC 61508-3, Table A.3 (3) 'Language Subset’
    IEC 61508-3 Table A.4 (3) 'Defensive Programming’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1(b) 'Use of language subsets'
    ISO 26262-6, Table 1(d) 'Use of defensive implementation techniques'

  • EN 50128, Table A.4 (11) 'Language Subset'
    EN 50128, Table A.3 (1) 'Defensive Programming'

  • MISRA C:2012, Dir 4.1

  • INT33-C. 除算および剰余演算がゼロ除算エラーを引き起こさないことを保証する

参考Simulink ドキュメンテーションの除算演算の例外処理を防止するコードを削除 (Embedded Coder)
最終更新R2021b

hisl_0056: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[指定した最小値と最大値を使用した最適化]

ID: タイトルhisl_0056: [コンフィギュレーション パラメーター]、[コード生成]、[最適化]、[指定した最小値と最大値を使用した最適化]
説明検証可能なコードをサポートするには、コンフィギュレーション パラメーター [指定した最小値と最大値を使用した最適化] をクリアします。
メモ[指定した最小値と最大値を使用した最適化] を選択すると、コードが関連付けられていない要件となり、トレーサビリティの目的に違反する可能性があります。
根拠モデルと生成コード間のトレーサビリティをサポートする。
モデル アドバイザー チェックCheck safety-related optimization settings for specified minimum and maximum values (Simulink Check)
参考文献
  • DO-331 Section MB.MB.6.3.4.e 'Source code is traceable to low-level requirements’'

  • IEC 61508-3, Table A.4 (3) 'Defensive Programming’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1d) 'Use of defensive implementation techniques

  • EN 50128, Table A.3 (1) 'Defensive Programming'

参考
最終更新R2018b

hisl_0038: [コンフィギュレーション パラメーター]、[コード生成]、[コメント]

ID: タイトルhisl_0038: [コンフィギュレーション パラメーター]、[コード生成]、[コメント]
説明

[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[コメント] ペインで、次のパラメーターを選択します。

A

コメントを含める

B

Simulink ブロックのコメント

C

消去されたブロックを表示

D

[''Model default'' ストレージ クラスに対する詳細なコメント]

E

要件のブロック コメント化

根拠A

コメントを含めることで、コードとモデルの間のトレーサビリティが向上する。

B

ブロックのコードについて説明するコメントを含めることで、コードとモデルの間のトレーサビリティが向上する。

C

モデルから削除されたブロックのコードについて説明するコメントを含めることで、コードとモデルの間のトレーサビリティが向上する。

D

パラメーター変数とソース ブロックの名前をコメントとして model_prm.h のモデル パラメーター構造体宣言に含めることで、コードとモデルの間のトレーサビリティが向上する。

E

Simulink ブロックに割り当てられた要件の説明をコメントとして含めることで、コードとモデルの間のトレーサビリティが向上する。

モデル アドバイザー チェックCheck safety-related code generation settings for comments (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.4.e 'Source code is traceable to low-level requirements‘

  • IEC 61508-3, Table A.3 (3) 'Language subset’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1e) 'Use of well-trusted design principles'

  • EN 50128, Table A.4 (11) 'Language Subset'

参考モデル コンフィギュレーション パラメーター: コメント (Embedded Coder)
最終更新R2021a

hisl_0039: [コンフィギュレーション パラメーター]、[コード生成]、[インターフェイス]

ID: タイトルhisl_0039: [コンフィギュレーション パラメーター]、[コード生成]、[インターフェイス]
説明

高信頼性システムの開発に使用されるモデルの場合は、[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[インターフェイス] ペインで、[ソフトウェア環境][コード インターフェイス][データ交換インターフェイス] の各パラメーターを次のように設定する。

A

[サポート: 非有限数] をオフにする。

B

[サポート: 連続時間] をオフにする。

C

[サポート: インラインでない S-Function] をオフにする。

D

[クラシック コール インターフェイス] をオフにする。

E

[1 つの出力/更新関数] を選択する。

F

[終了関数が必要] をオフにする。

G

[リアルタイム モデル データ構造のエラー ステータス フィールドを削除] を選択する。

H

[MAT ファイルのログ] をオフにする。

根拠A

リアルタイムの安全性関連システムに対しては、非有限数のサポートは推奨されない。

B

リアルタイムの安全性関連システムに対しては、連続時間のサポートは推奨されない。

C

インラインでない S-Function のサポートには非有限数のサポートが必要だが、リアルタイムの安全性関連システムでは推奨されていない。

D

リアルタイムの安全性関連システムに対して推奨されていない 2012a 以前の GRT ターゲットのメイン プログラム モジュールと互換性のあるモデル関数呼び出しを排除するため。代わりに ERT ベースのターゲットを使用する。

E

出力関数と更新関数の両方に対する単一の呼び出しを作成することで、リアルタイム オペレーティング システム (RTOS) へのインターフェイスを単純化し、生成されたコードの検証を簡略化するため。

F

リアルタイムの安全性関連システムに対して推奨されていない model_terminate 関数を排除するため。

G

テストでは達成できない可能性があるエラー ステータスの記録と監視に必要な追加コードを排除するため。

H

組み込みターゲットによってサポートされていない MAT ファイルへのテスト ポイントの記録に必要な追加コードを排除するため。

モデル アドバイザー チェックCheck safety-related code generation interface settings (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.1.c 'High-level requirements are compatible with target computer’
    DO-331, Section MB.6.3.2.c ‘Low-level requirements are compatible with target computer

  • IEC 61508-3, Table A.3 (3) 'Language subset’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) 'Use of language subsets'

  • EN 50128, Table A.4 (11) 'Language Subset'

参考モデル コンフィギュレーション パラメーター: コード生成インターフェイス (Embedded Coder)
最終更新R2023b

hisl_0047: [コンフィギュレーション パラメーター]、[コード生成]、[コード スタイル]

ID: タイトルhisl_0047: [コンフィギュレーション パラメーター]、[コード生成]、[コード スタイル]
説明

[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[コード スタイル] ペインで、次のパラメーターを設定します。

A

Parentheses level (Embedded Coder)[標準 (標準準拠のためのかっこ)] または [最大 (かっこで優先度を指定)] に設定する。

B

Preserve operand order in expression (Embedded Coder)を選択する。

メモこれらのコンフィギュレーション パラメーターは、コンフィギュレーション パラメーターシステム ターゲット ファイル (Simulink Coder)ert.tlc に設定されているときに利用できます。
根拠A

予期しない結果を防止するため。

B

生成されたコードのトレーサビリティを向上させるため。

モデル アドバイザー チェックCheck safety-related code generation settings for code style (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.1.c 'High-level requirements are compatible with target computer’
    DO-331, Section MB.6.3.2.c ‘Low-level requirements are compatible with target computer
    DO-331, Section MB.6.3.4.e ‘Source code is traceable to low-level requirements’

  • IEC 61508-3, Table A.3 (3) 'Language subset’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) 'Use of language subsets'

  • EN 50128, Table A.4 (11) 'Language Subset'

  • MISRA C:2012, Rule 12.1

参考Model Configuration Parameters: Code Style (Embedded Coder)
最終更新R2019b

hisl_0049: [コンフィギュレーション パラメーター]、[コード生成]、[識別子]

ID: タイトルhisl_0049: [コンフィギュレーション パラメーター]、[コード生成]、[識別子]
説明モデルの変更時に、パラメーター名と信号名がコード生成中に変更される可能性を最小化するために、コンフィギュレーション パラメーター [マングルの最小の長さ]4 以上に設定します。
根拠

コード レビューの実行に要する労力を軽減する。

モデル アドバイザー チェックCheck safety-related code generation identifier settings (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.4.e ‘Source code is traceable to low-level requirements’

  • IEC 61508-3, Table A.3 (3) 'Language subset’

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) 'Use of language subsets'

  • EN 50128, Table A.4 (11) 'Language Subset'

参考モデル コンフィギュレーション パラメーター: コード生成識別子 (Embedded Coder)
最終更新R2021a

hisl_0074: [コンフィギュレーション パラメーター]、[診断]、[バリアントに関するモデル化の問題]

ID: タイトルhisl_0074: [コンフィギュレーション パラメーター]、[診断]、[バリアントに関するモデル化の問題]
説明次のコンフィギュレーション パラメーターを [エラー] に設定します。
  • バリアント条件の算術演算

  • 信号のソースと接続先におけるバリアント条件の不一致

根拠シミュレーションと生成コードの動作の一貫性を維持し、生成コード内の未使用の変数の作成を防止するため。
モデル アドバイザー チェックCheck safety-related diagnostic settings for variants (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.2.b 'Low-level requirements are accurate and consistent'

  • IEC 61508–3, Table A.4 (7) 'Use of trusted / verified software modules and components'

  • MISRA C:2012, Rule 2.2

  • ISO 26262-6, Table 1 (1c) 'Enforcement of strong typing'

    ISO 26262-6, Table 1 (1f) 'Use of unambiguous graphical representation'

    ISO 26262-6, Table 1 (1e) 'Use of well-trusted design principles'

参考
最終更新R2021b

hisl_0075: ライブラリ リンクの使用方法

ID: タイトルhisl_0075: ライブラリ リンクの使用方法
説明シミュレーションと生成コードの動作の一貫性を維持するには、モデル内での無効化されたライブラリ リンクとパラメーター付きライブラリ リンクを回避します。
根拠意図しないシミュレーション結果を回避するため。
モデル アドバイザー チェックCheck for disabled and parameterized library links (Simulink Check)
参考文献
  • DO-331, Section MB.6.3.2.b 'Low-level requirements are accurate and consistent'

  • DO-331, Section MB.6.3.3.b ‘Software architecture is consistent’

  • IEC 61508-3, Table A.3 (3) 'Language subset'

  • IEC 62304, 5.5.3 - Software Unit acceptance criteria

  • ISO 26262-6, Table 1 (1b) 'Use of language subsets'

  • ISO 26262-6, Table 1 (1f) 'Use of unambiguous graphical representation'

  • EN 50128, Table A.4 (11) 'Language Subset'

最終更新R2022a

推奨:

パラメーター付きのライブラリ リンクを作成するのではなく、マスク ライブラリ リンクを使用してライブラリ ブロック内のパラメーター値を変更することをお勧めします。

モデル内のマスク パラメーターのゲイン値を変更しても、パラメーター付きリンクは作成されません。

非推奨:

コマンド ウィンドウで set_param を使用してゲイン値を変更すると、パラメーター付きライブラリ リンクが発生します。これにより、意図しない動作が生じる場合があります。