Simulink とターゲット ハードウェアの間のエクスターナル モードの接続性の設定
エクスターナル モード シミュレーションについて、target 名前空間を使用して Simulink® とターゲット ハードウェアの間の接続性を指定できます。
次の図は、エクスターナル モード シミュレーションのコンポーネントの概要を示したものです。

target 名前空間は、コンポーネントの実装用のクラスを提供します。次の表に主なクラスを示します。
| コンポーネント | クラス | 目的 |
|---|---|---|
| ターゲット ハードウェア | | MATLAB® にターゲット ハードウェアの記述を提供します。 |
| 展開ツール | | 次の目的でクラスを使用できます。
[カスタム ハードウェア上で実行] アプリの [監視と調整]、[展開]、[接続]、および [開始] の機能を提供するには、 |
| ||
| ||
| 接続性 | | Simulink とターゲット ハードウェアの間のデータ転送用の通信プロトコルを提供します。 |
| ターゲット ハードウェアに通信チャネルと rtiostream API 実装の詳細を提供します。 | |
| ターゲット ハードウェアへの開発用コンピューターの接続に関する詳細を提供します。 |
XCP エクスターナル モード シミュレーションの接続性のカスタマイズ
ERT (ert.tlc) および GRT (grt.tlc) システム ターゲット ファイルを使用して生成されるコードについて、XCP 通信プロトコルを使用したエクスターナル モード シミュレーションを実行できます。
開発用コンピューター上。
他のターゲット ハードウェア上 (サポート パッケージを使用)。
カスタム ターゲット ハードウェアのシステム ターゲット ファイルが ERT または GRT システム ターゲット ファイルから派生している場合、target 名前空間のクラスを使用して接続性をカスタマイズします。たとえば target.ExternalMode や target.CommunicationInterface です。

この例では、XCP ベースのエクスターナル モード シミュレーションの接続性をカスタマイズする方法を示します。Simulink とターゲット ハードウェアの間の接続性を設定するには、次を行います。
TCP/IP またはシリアルのエクスターナル モード シミュレーションの接続性のカスタマイズ
TCP/IP またはシリアルのエクスターナル モード シミュレーションについて、次のワークフローを通じて接続性をカスタマイズできます。
トランスポート プロトコルと通信プロトコルを実装する。
target名前空間を使用してターゲット アプリケーションの実行ツールを指定する。
Simulink とターゲット ハードウェアの間の接続性の設定にはXCP エクスターナル モード シミュレーションの接続性のカスタマイズで説明したワークフローを使用しますが、次の点が異なります。
手順 1 の後に、クライアントおよびサーバーの通信プロトコルの選択およびTCP/IP またはシリアルのエクスターナル モード通信のためのトランスポート層の作成の情報を使用して、TCP/IP またはシリアル プロトコル用のクライアント側とサーバー側のエクスターナル モード通信を実装します。
手順 5、手順 6、および手順 7 は実行しません。
手順 8 ではボード オブジェクトのみを追加できます。
手順 10 で、Simulink とターゲット ハードウェアの間の接続を指定するには、[コンフィギュレーション パラメーター] ダイアログ ボックスで、次を行います。
[トランスポート層] リストから
[TCPIP]または[シリアル]を選択します。[MEX ファイルの引数] フィールドに「
'localhost' 1 0」と入力します。
実行ツール テンプレート
この節では、target.ExecutionTool サービス インターフェイスの疑似コードの例を示します。このツールは、ターゲット ハードウェアでアプリケーションを開始して追跡します。
classdef MyExecutionTool < target.ExecutionTool methods function errFlag = startApplication(this) % Call "customDownloadTool" to download the application. [status, result] = ... system(sprintf('customDownloadTool %s', this.Application)); if status == 0 errFlag = false; else disp(result); errFlag = true; end end function errFlag = stopApplication(~) % Add code here to stop the application, if possible. errFlag = false; end function [status, errFlag] = getApplicationStatus(~) % Add code here to return the application status, if known. status = target.ApplicationStatus.Unknown; errFlag = false; end end end
参考
トピック
- エクスターナル モード シミュレーションによるパラメーター調整、信号監視、コード実行プロファイリング
- XCP 通信を使用したエクスターナル モード シミュレーション
- クライアントおよびサーバーの通信プロトコルの選択
- TCP/IP またはシリアルのエクスターナル モード通信のためのトランスポート層の作成
- Set Up PIL Connectivity by Using Target Framework
- Define Custom Emulator for Target Connectivity


