最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

生成された実行可能プログラムの結果の検証

モデルに対して生成された実行可能プログラムの結果が、シミュレーションの結果と一致するかどうかを検証します。

検証のためのモデルの構成

  1. 信号 Force: f(t): 1X の値を監視する Dashboard Scope ブロックを構成します。Dashboard Scope ブロックをダブルクリックします。[ブロック パラメーター] ダイアログ ボックスで、次を確認します。

    • ブロックが信号 Force: f(t): 1 および X に接続されている。Dashboard ブロックを信号に接続するには、モデル キャンバスで、信号を選択します。[ブロック パラメーター] ダイアログ ボックスで、信号名を選択します。

    • [最小値]-10 に設定されている。

    • [最大値]10 に設定されている。

    変更を適用し、ダイアログ ボックスを閉じます。

  2. ノブを使用して減衰ゲインの値を変更できるように Knob ブロックを構成します。Knob ブロックをダブルクリックします。[ブロック パラメーター] ダイアログ ボックスで、次を確認します。

    • ブロックがパラメーター Damping:Gain に接続されている。Dashboard ブロックをパラメーターに接続するには、モデル キャンバスで、パラメーターを使用するブロックを選択します。[ブロック パラメーター] ダイアログ ボックスで、パラメーター名を選択します。

    • [最小値]200 に設定されている。

    • [最大値]600 に設定されている。

    • [目盛りの間隔]100 に設定されている。

    変更を適用し、ダイアログ ボックスを閉じます。

  3. [モデル コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。[C コード] タブの [設定] をクリックします。

  4. Simulink® と生成された実行可能プログラムが、ワークスペース データのログをシミュレーション データ インスペクターに記録するようにモデルを構成します。[データのインポート/エクスポート] をクリックします。モデルが次の設定で構成されていることを確認します。

    選択されたパラメーター設定されている名前
    時間tout
    状態xout
    出力yout
    信号のログlogsout
    データ ストアdsmout
    ワークスペース データのログをシミュレーション データ インスペクターに記録 
  5. 実行可能プログラムのビルド用にモデルを構成します。[コード生成] をクリックします。パラメーターコード生成のみがクリアされていることを確認します。

  6. 実行可能プログラムを作成するためのツールチェーンを構成および検証します。パラメーターツールチェーン[Automatically locate an installed toolchain] に設定されていることを確認します。次に、[ツールチェーンの検証] ボタンを検索してクリックします。検証レポートに、チェックが成功したかどうかが示されます。

  7. データがメモリに保存され、実行可能プログラムの実行中にアクセス可能になるようにパラメーターと信号を構成します。C コードでモデルを効率的に実装するために、モデルに含まれるすべてのパラメーター、信号、状態に対してメモリを割り当てません。モデル アルゴリズムでデータの出力を計算する必要がない場合、コード生成の最適化によって、データ用のストレージが削除されます。プロトタイピング中にデータにアクセスできるようにデータ用のストレージを割り当てる場合は、一部の最適化を無効にします。

    [コード生成][最適化] をクリックします。次を確認します。

    • 既定のパラメーター動作[調整可能] に設定されている。この設定により、生成されたコードで Gain ブロックの [ゲイン] パラメーターなどブロック パラメーターが調整可能になります。

    • 信号ストレージの再利用がクリアされている。この設定により、コード ジェネレーターは信号線にストレージを割り当てます。実行可能プログラムの実行中に、これらの信号の値を監視できます。

  8. 非有限データ (NaNInf など) および関連する演算を生成するようにコード ジェネレーターを構成します。[コード生成][インターフェイス]をクリックします。パラメーターサポート: 非有限数が選択されていることを確認します。

  9. 通信チャネルを構成します。Simulink® でモデルから生成された実行可能プログラムと通信するには、通信チャネルに対するサポートをモデルに含めなければなりません。この例では、通信チャネルのトランスポート層として XCP on TCP/IP を使用します。次のパラメーター設定を確認します。

  10. MAT ファイルのログを無効にします。データを MATLAB® ベース ワークスペースからシミュレーション データ インスペクターに読み込みます。パラメーターMAT ファイルのログがクリアされていることを確認します。

  11. 構成の変更を適用し、[モデル コンフィギュレーション パラメーター] ダイアログ ボックスを閉じて、モデルを保存します。

モデルのシミュレーションと結果の表示

  1. Simulink エディターから、[シミュレーション] タブで、[実行] をクリックします。[実行] ボタンのクロックは、シミュレーション ペーシングが有効であることを示します。シミュレーション ペーシングによってシミュレーション速度が遅くなり、システムの動作を確認できるようになります。遅いレートでシミュレーションを可視化すると、基盤のシステム設計を理解し、およびほぼリアルタイムでの動作の例示中に設計の問題を特定するのが容易になります。

    シミュレーション中、Dashboard Scope ブロックには、信号 Force: f(t):1 および X の動作が表示されます。

  2. Simulink エディターで、[シミュレーション] タブの [データ インスペクター] をクリックします。シミュレーション データ インスペクターが開き、インポートされたシミュレーション実行のデータが示されます。

  3. 実行を展開します (展開していない場合)。次に、データをプロットするために、データ信号 X および Force: f(t):1 を選択します。

これらの結果は、シミュレーション データ インスペクターに残しておきます。後で、シミュレーション データをモデルから生成された実行可能プログラムで生成された出力データと比較します。

実行可能プログラムのビルドと実行および結果の表示

モデルの実行可能プログラムをビルドおよび実行します。

  1. [監視および調整] をクリックします。Simulink では次が行われます。

    1. 実行可能ファイルをビルドします。ビルド プロセス中に、Building が Simulink エディター ウィンドウの左下隅に表示されます。コード生成レポートが表示され、テキスト Ready が示されると、プロセスが完了します。

      • Windows® では、コード ジェネレーターによって現在の作業フォルダーに以下のファイルが作成および保存されます。

        • rtwdemo_secondOrderSystem.exe – 実行可能プログラム ファイル

        • rtwdemo_secondOrderSystem.pdb – パラメーターと信号のデバッグ シンボル ファイル

      • Linux® では、コード ジェネレーターによって、ELF 実行可能プログラム ファイル rtwdemo_secondOrderSystem に DWARF 形式のデバッグ情報が作成および保存され、ファイルは現在の作業フォルダーに保存されます。

    2. 実行可能プログラムを開発用コンピューターに個別のプロセスとして配布します。

    3. Simulink モデルを実行可能プログラムに接続します。

    4. モデルの実行可能プログラム コードを実行します。

シミュレーションと実行可能プログラムの結果の比較

シミュレーション データ インスペクターを使用して、実行可能プログラムの結果をシミュレーションの結果と比較します。

  1. シミュレーション データ インスペクターで、実行可能プログラムの実行結果 Run 2: rtwdemo_secondOrderSystem を検証します。

  2. [比較] をクリックします。

  3. 比較するデータの実行を選択します。この例の場合は、[ベースライン] リストから、[Run 1: rtwdemo_secondOrderSystem] を選択します。[比較対象] リストから、[Run 2: rtwdemo_secondOrderSystem] を選択します。

  4. シミュレーション データ インスペクターの右上隅で、[比較] をクリックします。

  5. シミュレーション データ インスペクターには、実行可能プログラム コードからの XForce: f(t):1 の出力がシミュレーションのデータ出力の許容誤差から外れていることが示されます。X の結果のプロットを確認するには、[File Comparisons] で、X の行を選択します。

  6. Force: f(t):1 の比較プロットを検証します。[File Comparisons] で、Force: f(t):1 の行を選択します。

  7. 絶対/相対許容誤差値を指定して、数値の不一致が有意かどうかを判断します。このチュートリアルでは、[グローバルな絶対許容誤差]1e-12 に設定します。次に、[比較] をクリックします。XForce: f(t):1 の比較は許容誤差内です。

    数値の整合性の検証と許容誤差の詳細については、モデルと生成されたコードのシミュレーション結果における数値の整合性を参照してください。

次に、プログラム実行中にパラメーターを調整します。