Simulink モデルのカスタム C/C++ コードのカバレッジ
サポートされている C/C++ S-Function、外部 C/C++ コードを呼び出す MATLAB Function ブロック、C/C++ コードをもつ C Caller ブロック、またはシミュレーション用のカスタム C/C++ コードを実装する Stateflow® チャートを含むモデルのカバレッジを記録する場合、C/C++ S-Function、MATLAB Function ブロック、または Stateflow チャート内の C/C++ コードのカバレッジが記録されます。カスタム コードのカバレッジ結果は、モデルの他の部分と同じレポート上で参照できます。レポート内の各 S-Function ブロック、各 MATLAB Function ブロック、または各 Stateflow チャートは、ブロック内の C/C++ コードの詳細なカバレッジ レポートにリンクされます。
MATLAB Function ブロック、C Caller ブロック、および Stateflow チャート内にあるカスタム C/C++ コードのコード カバレッジの有効化
Simulink® モデル内のカスタム C/C++ コードのコード カバレッジを有効にするには、次を行います。
[コンフィギュレーション パラメーター] の [シミュレーション ターゲット] ペインで、[カスタム コードのインポート] を選択します。
[コンフィギュレーション パラメーター] の [シミュレーション ターゲット] ペインで、[カスタム コード解析を有効にする] を選択します。
Simulink Coverage™ は、MATLAB Function ブロック、C Caller ブロック、および Stateflow チャート内のカスタム C/C++ コードのコード カバレッジを記録します。
S-Function のコード カバレッジ
S-Function をモデル カバレッジ互換にする
関数 legacy_code
、S-Function Builder ブロック、または関数 mex
を使用して S-Function を作成する場合、方法を適切に調整して S-Function にモデル カバレッジとの互換性を持たせます。
これらの 3 つの方法の詳細については、C/C++ S-Function の実装を参照してください。
関数 legacy_code
を使用する S-Function
レガシ コード ツールのプロパティを表すフィールドで、MATLAB® 構造体を初期化します。
def = legacy_code('initialize')
オプション
def.Options.supportCoverage
をオンにしてモデル カバレッジを有効にします。def.Options.supportCoverageAndDesignVerifier = true;
構造体
def
を使用し、通常の方法で S-Function を生成します。例については、S-Function のカバレッジを参照してください。
S-Function Builder を使用する S-Function
ライブラリ ブラウザー内の User-Defined Functions ライブラリから S-Function Builder ブロックのインスタンスをモデルにコピーします。
ブロックをダブルクリックして [S-Function Builder] ダイアログ ボックスを開きます。
[ビルド情報] タブで [カバレッジのサポートを有効にする] を選択します。
関数 mex
を使用する S-Function. 関数 mex
を使用してソース ファイルをコンパイルしてリンクする場合、代わりに関数 slcovmex
を使用します。関数 slcovmex
はソース コードをコンパイルし、カバレッジとも互換させます。
この関数は関数 mex
と同じ構文で、同じオプションを取ります。さらに、モデル カバレッジに関連するいくつかのオプションを指定できます。詳細については、slcovmex
を参照してください。
S-Function のカバレッジ レポートの生成
Simulink エディターの [モデル化] タブで [モデル設定] を選択します。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [カバレッジ] ペインの [解析に含める] の下にある [C/C++ S-Function] を選択します。
シミュレーションを実行すると、カバレッジ レポートにはモデル内の C/C++ S-Function ブロックのカバレッジ メトリクスが記載されます。レポート内の各 S-Function ブロックは、ブロック内の C/C++ コードの詳細なカバレッジ レポートにリンクされます。