TCP/IP Receive
リモート ホストから TCP/IP ネットワーク経由でデータを受信する
アドオンが必要: この機能には MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms アドオンが必要です。
ライブラリ:
NVIDIA Jetson and NVIDIA DRIVE /
Network
説明
リモート ホストまたは別のターゲット ハードウェアからネットワーク経由でデータを受信します。接続モードをサーバーとして設定する場合は、ローカル ポートを指定しなければなりません。このローカル ポートは TCP/IP サーバーのリスニング ポートとして機能します。ブロックをクライアントとして設定する場合、データを受信する TCP/IP サーバーのリモート アドレスおよびリモート ポートを指定しなければなりません。ブロックは、ブロッキング モードまたは非ブロッキング モードでデータを受け入れます。[Data] 端子の出力は、各タイム ステップで要求されたデータを格納します。[Status] 端子は、指定されたタイム ステップで新しいデータを受信するかどうかを示す 0 または 1 を格納します。[Status] 端子の値が 1 の場合、[Data] 端子からのデータが有効であることを示します。
ブロッキング モードのとき、モデルは要求されたデータが利用可能になるのを待機している間、実行をブロックします。

タイム ステップ 1 で、ブロックは 4 つのデータ値を要求し、TCP/IP 受信バッファーは 4 つのデータ値を取得します。実行が開始されます。
タイム ステップ 2 で、ブロックはデータを再び要求しますが、TCP/IP 受信バッファーは 3 つのデータ値のみを取得します。バッファーが 4 番目のデータ値を受信するか、タイムアウト値が経過するまで、実行は一時停止されます。その後、実行が再開されます。
タイム ステップ 3 で、ブロックはデータを要求し、バッファーは 5 つのデータ値を受け取ります。ブロックは最初の 4 つのデータ値を返し、残りのデータ値は次の受信サイクルに使用されます。
非ブロッキング モードでは、モデルは連続的に実行されます。

タイム ステップ 1 で、ブロックはデータを要求し、バッファーは 4 つのデータ値を取得します。ブロックは [Status] 端子の値を 0 に変更し、新しく要求されたデータが利用可能であることを示します。この時点で、[Data] 端子には、新しく受信したデータ値が格納されています。ブロックは [Data] 端子の値を 0 にリセットします。
タイム ステップ 2 で、ブロックはデータを再び要求しますが、バッファーは 3 つの値のみを取得します。データ サイズは 4 として指定されているため、ブロックは値 3 を返すことができません。そのため、ブロックは [Status] 端子の値を 1 に設定し、新しいデータがないことを示します。[Data] 端子のすべての値は 0 になります。この時点で、バッファーには 3 つのデータ値があります。しかし、このフェーズでは、ブロッキング モードとは異なり実行は停止されません。
タイム ステップ 3 で、バッファーには 5 つのデータ値があり、ブロックは最初の 4 つのデータ値を受信した順番に返し、[Status] 端子の値を 0 に変更します。残りのデータ値は次の受信サイクルに使用されます。
端子
出力
パラメーター
バージョン履歴
R2020b で導入