このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
システムレベルs函数の使用または外部環境でのコード実行により,生成したコードを検証します。
参照項目:
生成したコードのさまざまなテスト方法
生成したコードの仿金宝app真软件®内でのテスト方法
生成したコードの仿金宝app真软件®外でのテスト方法
モデル例とこのシリーズの他の例の詳細については,Cコード生成のためのコントロールアルゴリズムモデルの準備を参照してください。
金宝app仿真软件®では,生成したコードの動作を検証するために複数のシステムテスト方法がサポートされています。
Windows®ランタイム実行可能ファイル: Microsoft®Windows®実行可能ファイルを生成し,コマンドプロンプトからその実行可能ファイルを実行します。
利点:簡単に作成でき,コード評価にCデバッガーを利用可能
欠点:ターゲットハードウェアのエミュレーションが部分的
ソフトウェアインザループ(SIL)テスト:功能を使用して,生成したコードを仿真软件モデルに含めま金宝appす。
利点:簡単に作成でき,仿金宝app真软件テスト環境を再利用でき,コード評価にCデバッガーを利用可能
欠点:ターゲットハードウェアのエミュレーションが部分的
プロセッサインザループ(公益诉讼)テスト:非リアルタイムのコシミュレーションを実行します。ターゲットプロセッサがモデルのある一部分(通常,コントローラー)を実行する間,仿真软金宝app件はモデルの別の部分(通常,プラントモデル)を実行します。コードをターゲットプロセッサにダウンロードした後,プロセッサインザループテクノロジーは,コシミュレーション中の仿真软件とタ金宝appーゲット間の通信を処理します。
利点:仿金宝app真软件テスト環境を再利用でき,シミュレーションとともにCデバッガーを利用でき,ターゲットプロセッサを伴う
欠点:テスト環境の設定に追加ステップが必要,プロセッサがリアルタイムで実行されない
ターゲット上のラピッドプロトタイピング:生成したコードをターゲットプロセッサ上でフルシステムの一部として実行します。
利点:実際のハードウェアの制約を判断でき,フルシステムでコンポーネントのテストを行える。プロセッサがリアルタイムで実行される
欠点:ハードウェアが必要であり,テスト環境の設定に追加ステップが必要である
エクスターナルモード:生成したコードをターゲットプロセッサ上でフルシステムの一部として実行します。
利点:実際のハードウェアの制約を判断でき,フルシステムでコンポーネントのテストを行える
欠点:ハードウェアが必要であり,テスト環境の設定に追加ステップが必要である
このシリーズの他の例で,金宝app仿真软件のシミュレーションによってシステムをテストします。そのテスト入力データは,テストハーネスモデルの信号生成器ブロックから得られます。
金宝app仿真软件®外部でシステムをテストする際,このテスト入力データを再利用できます。
金宝app仿真软件テストデータをファイルに保存します。
システムコードがアクセスできる形式でデータをフォーマットします。
データファイルをシステムコードプロシージャの一部として読み取ります。
金宝app仿真软件を使用して検証する場合,外部環境で得られたテスト出力データをMATLAB®が読み取り可能な形式で保存できます。
この例では,ファイルhardwareInputs.c
にはテストハーネスモデルの信号生成器ブロックからのデータが含まれています。
模型ブロックの作成とSIL用の構成
金宝app模型仿真软件はブロックからコードを生成し,そのコードをs函数にラップし,ソフトウェアインザループテストのためにこのs函数をモデル内に戻すことができます。
モデル例rtwdemo_PCG_Eval_P6
を開きます。
テストハーネスは模型ブロックを使用してモデル例にアクセスします。この例では,モデル例に対してソフトウェアインザループテストを実行します。
模型ブロックを右クリックし,[ブロックパラメーター(ModelReference)]を選択します。
[モデル名)にテストするモデルの名前を設定します。
[シミュレーションモード]を[Software-in-the-loop(银)
]に設定します。
模型ブロックに(银)
タグが表示されるようになりました。
SIL用にモデルを構成
ハードウェア実行パラメーターを調整して,モデル例rtwdemo_PCG_Eval_P6
,テストハーネスモデルrtwdemo_PCGEvalHarnessHTGTSIL
をSILシミュレーション用に構成します。
[コンフィギュレーションパラメーター]ダイアログボックスで,両方のモデルに対して(很久のサポート]チェックボックスをオンにします。
モデル例rtwdemo_PCG_Eval_P6
のコピーを現在のフォルダーに保存します。
模型ブロックSILの実行
この例では,テストハーネスモデルに,SILシミュレーション用に構成された模型ブロックが含まれます。
生成されたコードとシミュレーションから,同じ結果が得られます。
この例は,金宝app仿真软件環境外での統合コードの作成の統合の例題を拡張します。このケースでは,example_main.c
はシミュレーションされたハードウェアI / Oを使用します。
拡張されたexample_main.c
ファイルは,次の実行順で構成されています。
1.データの初期化(1回)
而< endTime
2.シミュレートされたハードウェア入力の読み取り
3.PI_cnrl_1
4.PI_ctrl_2
5.Pos_Command_Arbitration
6.シミュレートされたハードウェア出力の書き出し
结束时
2つの関数植物
およびhardwareInputs
は,入力テストデータを提供します。
Plant.c
:この関数は,テストハーネスのプラント部分から生成されたもので,スロットルコマンドに対するスロットル本体の応答をシミュレートします。
无效的植物(空白)
HardwareInputs.c
:この関数は,pos_req
信号を与えて,Input_Signal_Scaling
サブシステムからプラントフィードバック信号にノイズを追加します。
空白hardwareInputs(空白)
WriteDataForEval.c
内の手書きの関数は,テスト出力データをログ記録します。テスト終了後,この関数が実行され,データをPCG_Eval_ExternSimData.m
ファイルに書き込みます。データにアクセスするには,このスクリプトファイルをMATLABで実行します。その後,データを仿金宝app真软件®のシミュレーションデータと比較できます。
これらの追加ファイルを有効にするには,[コンフィギュレーションパラメーター],[コード生成],[カスタムコード],[追加のビルド情報]を使用してこれらのファイルを特定します。
Eclipse™環境で実行可能ファイルをビルドする前に,s函数インターフェイスを使用せずにコードを再生成します。
Eclipse™とGCCをインストールおよび使用する方法については,CygwinとEclipseのインストールと使い方を参照してください。
この例のファイルを自動的にインストールするには,このハイパーリンクをクリックしてください。
あるいは,手動でインストールするには,次のようにします。
ビルドフォルダー(Eclipse_Build_P6
)を作成します。
rtwdemo_PCG_Eval_P6.zip
ファイルをビルドフォルダーに解凍します。
ファイルrtwdemo_PCG_Eval_P6.c
、ert_main.c
およびrt_logging.c
はexample_main.c。
で置き換えられるために削除します。
Eclipse™で制御コードを実行します。writeDataForEval.c
内の関数は,eclipseData.m
ファイルを作成します。このファイルには,出力テストデータが格納されます。MATLAB® でスクリプト ファイルを実行し、この Eclipse™ データを読み込みます。次に、情节
を使用して,このデータを仿金宝app真软件®テストハーネスモデルによるデータと比較します。
このシリーズの次の例については,生成されたコードのパフォーマンス評価を参照してください。