MATLAB Coder アプリでのプロセッサインザループ実行
プロセッサインザループ (PIL) 実行を使用して、クロスコンパイルされたオブジェクト コードの数値的動作を元の MATLAB® 関数を基準に検証します。
PIL 実行を開始する前に、ターゲット接続構成を定義しなければなりません。Processor-in-the-Loop Execution from Command Lineで、PIL Execution of Code Generated for a Kalman Estimatorの例の手順 1 と 2 で、PIL 実行の接続構成を開発用コンピューターで設定および登録する方法を説明しています。
MATLAB Coder™ アプリを開くために、MATLAB ツールストリップの [アプリ] タブの [コード生成] の下で、アプリ アイコンをクリックします。アプリで、[MATLAB Coder プロジェクトの作成] ダイアログ ボックスが開きます。
プロジェクトを開くために、[開く] をクリックして、MATLAB Coder プロジェクト ファイルが格納されているフォルダーに移動し、ファイルを選択します。たとえば、
kalman_filter01.coderprjです。ツールストリップの [MATLAB Coder] タブの [準備] セクションで、以下を行います。
[言語] を指定します。
[出力タイプ] を [スタティック ライブラリ (.lib)] または [ダイナミック ライブラリ (.dll)] に設定します。
[設定]、[ハードウェア] のリストで [なし - 以下のデバイスを選択] を選択します。
[設定]、[すべての設定を表示] を開きます。[ハードウェア] ペインで [デバイス ベンダー] と [デバイス タイプ] を指定します。これらの設定は、ターゲット接続構成の
rtwTargetInfo.mファイルにあるターゲット ハードウェア設定と一致していなければなりません。ホストベースの PIL の場合は、ホスト コンピューターと一致する設定を選択します。以下に例を示します。Windows® 64 ビット システムの場合、[デバイス ベンダー] を
[Intel]、[デバイス タイプ] を[x86-64 (Windows64)]に設定します。さらに、[long long を有効にする] を[はい]に設定します。Linux® 64 ビット システムの場合、[デバイス ベンダー] を
[Intel]、[デバイス タイプ] を[x86-64 (Linux 64)]に設定します。Mac OS X システムの場合、[デバイス ベンダー] を
[Intel]、[デバイス タイプ] を[x86-64 (Mac OS X)]に設定します。
ツールストリップの [生成] セクションで、[コード生成]、[コードを生成してビルド] をクリックします。
ツールストリップの [検証] セクションで、[PIL を使用して実行]、[実行ファイル] オプションを使用して、元の MATLAB 関数を呼び出すテスト ファイルを指定します (たとえば
test01_ui.m)。[検証モード] が [生成されたコードを使用] に設定されていることを確認します。
必要に応じて、[SIL または PIL でソースレベル デバッグを有効にする] チェック ボックスをオンにします。
MATLAB Coder アプリは以下を行います。
codegen\lib\kalman01など、スタンドアロン ライブラリを生成する。codegen\lib\kalman01\pilなど、SIL インターフェイス コードを生成する。テスト ファイルを実行し、MATLAB 関数への呼び出しを、ライブラリ内で生成されたコードへの呼び出しと置き換える。
コマンド ウィンドウに PIL 実行からのメッセージを表示する。
PIL 実行からの結果が元の MATLAB 関数からの結果と一致することを検証します。
PIL 実行プロセスを終了するには、コマンド ウィンドウで、
To terminate executionに続くリンクをクリックします (たとえばclear kalman01_pil)。
メモ
Windows オペレーティング システムで、Windows ファイアウォールが SIL または PIL の実行をブロックする可能性があります。[Windows セキュリティの重要な警告] ダイアログ ボックスを使用して実行を許可します。たとえば、Windows 7 で、[アクセスを許可する] をクリックします。