Main Content

コード生成

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

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

データの完全な定義をサポートし、内部と外部のデータをゼロに初期化するには、次のコンフィギュレーション パラメーターをクリアします。

Aルート レベル I/O のゼロ初期化を削除
B内部データのゼロ初期化を削除
メモ:

すべての変数を明示的に初期化します。ターゲット システムのランタイム環境が I/O と状態変数を初期化する方法を提供している場合は、推奨設定の代わりにターゲットの初期化を使用することを検討してください。

コンフィギュレーション パラメーターは、これらの [コード生成] コンフィギュレーション パラメーターが次のように設定されている場合にのみ適用されます。

  • [システム ターゲット ファイル] が ERT ベースのターゲットのみ (autosar.tlc ターゲット タイプには適用されない)。

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

根拠A、B生成コードで完全に定義されたデータをサポートする。
モデル アドバイザー チェック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® ドキュメンテーションの以下のパラメーターに関する情報:

最終更新R2021a

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 ドキュメンテーションのRemove code that protects against division arithmetic exceptions (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

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

D

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

E

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

F

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

G

[終了関数の生成] をオフにする。

H

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

I

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

根拠A

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

B

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

C

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

D

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

E

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

F

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

G

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

H

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

I

組み込みターゲットによってサポートされていない 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)
最終更新R2021a

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 を使用してゲイン値を変更すると、パラメーター付きライブラリ リンクが発生します。これにより、意図しない動作が生じる場合があります。