| Real-Time Workshop User's Guide | ![]() |
Host (ext_comm)ソースファイル
ext_commコンポーネントのソースファイルは、ディレクトリmatlabroot/rtw/ext_modeにあります。
ext_comm.cこのファイルは、externalモード通信のコアです。ターゲットとSimulink間のリレーステーションとして動作します。ext_comm.cは、共有データ構造体ExternalSimによってSimulinkと通信を行います。トランスポート層の呼び出しを使ってターゲットと通信を行います。
ext_commにより行われるタスクは、ターゲットとの接続の確立、パラメータのダウンロード、ターゲットとの接続の終了が含まれます。
ext_transport.cこのファイルは、必要なトランスポート層関数を実現します(ext_transport.cext_transport_share.hを含みます)。Real-Time Workshopに付属するext_transport.cのバージョンは、recv(), send(), socket()を含むTCP/IP関数を利用します。
ext_main.cこのファイルは、externalモードに対するMEX-ファイルラッパーです。ext_mainは、標準のmexFunction呼び出しによって、Simulinkとのインタフェースを行います (mexFunctionに関する情報については、MATLABのオンラインドキュメントの「External Interfaces」を参照)。ext_mainは、リクエストをSimulinkからext_commに送信する関数ディスパッチャesGetActionを含みます。
xt_convert.cこのファイルは、ホストからターゲットフォーマット(およびその反対)にデータを変換するための関数を含みます。関数は、バイト-スワッピング(bigからlittle- endian)、非IEEE浮動小数点数からIEEE倍精度への変換、その他の変換を含みます。これらの関数は、ext_comm.cによって、また、直接Simulinkから(関数のポインタによって)呼ばれます。
注意
スタムトランスポート層を実現するためにext_convertをカスタマイズする必要はありません。しかし、意図したターゲット用にext_convert をカスタマイズすることは必要です。たとえば、ターゲットがfloatext_convertはTIからIEEEへの変換を行うように変更しなければなりません。
|
extsim.hこのファイルは、ExternalSimデータ構造体とアクセスマクロを定義します。この構造体は、Simulinkとext_comm.cとの間の通信用に用いられます。
extutil.hこのファイルは、assertマクロのコンパイル用の条件文のみを含みます。
ターゲット(サーバ)のソースファイル
これらのファイルは、ランタイムインタフェースの一部分で、model.exe実行ファイルにリンクされます。これらは、ディレクトリmatlabroot/rtw/c/srcにあります。
ext_svr.cext_svr.cは、ホスト上のext_comm.cと同じですが、一般的により多くのタスクを行います。これは、ホストと生成コード間のリレーステーションとして動作します。ext_comm.cと同様に、ext_svr.cは、ホストとの接続の確立や終了のようなタスクを行います。ext_svr.cは、ダウンロードされたパラメータをターゲットモデルに書き込んだり、ターゲットのデータバッファからデータを抽出したり、それをホストに送信するバックグランドタスク関数を含みます。
Real-Time Workshopに付属するバージョンのext_svr.cは、recv(), send(), socket()を含むTCP/IP関数を利用します。
ext_svr_transport.cこのファイルは、必要なトランスポート層関数を実現します(ext_svr_transport.cは、クライアントおよびサーバの両方に共通な関数を含むext_transport_share.hを含みます)。Real-Time Workshopに付属するバージョンのext_svr_transport.cは、recv(), send(), socket()を含むTCP/IP関数を利用します。
updown.cupdown.cは、ターゲットモデルとの相互作用の詳細を取り扱います。パラメータのダウンロード中に、updown.cは、新規のパラメータをモデルのパラメータベクトルにインストールする作業を行います。データのアップロードに対して、updown.cは、モデルのblockioベクトルからデータを抽出し、データをアップロードバッファに書き出す関数を含みます。updown.cは、ext_svr.cとモデルコード(例, grt_main.c)の両方にサービスを提供します。これは、高い優先度をもつモデルの実行の一部分として呼ばれるコードと同様に、ext_svr.cのバックグランドタスクによって呼び出されるコードを含みます。
t_info.h and model.dtこれらのファイルは、データタイプの遷移情報を含み、それにより、異なるコンピュータアーキテクチャにおいてマルチデータタイプの構造体にアクセスが可能です。この情報は、ホストとターゲットのフォーマットのデータ変換で利用されます。
updown_util.hこのファイルは、assertマクロのコンパイル用の条件文のみを含みます。
その他のファイル
xt_share.hホストとターゲットモジュールの両方で必要なメッセージコードの定義やその他の定義を含みます。
ext_transport_share.hトランスポート層のホストとターゲットモジュールの両方で必要な関数やデータ構造体を含みます。Real-Time Workshopに付属するバージョンのext_transport_share.hは、TCP/IP通信固有です。
| Externalモード通信の概要 | トランスポート層の実現のためのガイドライン | ![]() |