メインコンテンツ

UDP Receive

UDP パケットを受信する

  • UDP Receive block

ライブラリ:
Embedded Coder / Embedded Targets / Host Communication

説明

UDP Receive ブロックは、IP ネットワーク ポートから UDP パケットを受信してバッファーに保存します。UDP 送信プロトコルの性質上、UDP Send ブロックを使用して送信したすべてのデータ パケットが受信側で必ずしも受信されるとは限りません。それぞれのサンプルで、ブロックは単一の UDP パケットの内容をデータ ベクトルとして出力します。

ブロックが UDP パケットを受信するローカル IP ポート番号は、生成されたコードで調整可能です。このブロック用に生成されたコードは、プリビルドされた .dll ファイルに依存します。このコードを MATLAB® 環境外で実行したり、再展開したりできますが、追加の .dll ファイルについて考慮する必要があります。packNGo 関数は、このコードの実行またはリビルドに必要な要素を含む ZIP ファイルを作成します。詳細については、How To Run a Generated Executable Outside MATLAB (DSP System Toolbox)を参照してください。

端子

出力

すべて展開する

IP ネットワーク ポートから受信された UDP パケット。データ ベクトルとして示されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

パラメーター

すべて展開する

UDP パケットを受信する IP ポート番号を指定します。このパラメーターは、生成されたコードでは調整可能ですが、シミュレーション中には調整できません。

Linux® で 1024 番未満の IP ポート番号を設定するには、root 権限で MATLAB を実行します。たとえば、Linux コマンド ラインで次のように入力します。

sudo matlab

UDP パケットを受け入れる送信元 IP アドレスを指定します。特定の IP アドレスを指定すると、その他のアドレスからの UDP パケットがブロックされます。任意の IP アドレスからのパケットも受け入れるには、「'0.0.0.0'」と指定します。

UDP パケットを受信するバッファーのサイズをバイト単位で指定します。バッファーは、バッファー オーバーフローによるデータ損失を避けるのに十分な大きさにしてください。

データ出力ベクトルの最大長 (ベクトル要素の数) を指定します。このパラメーターは、UDP パケットのデータ サイズ以上の値に設定します。この長さを超えるデータはシステムで切り捨てられます。

パラメーターの依存関係

[可変サイズの信号の出力] を無効にすると、ブロック出力はこのパラメーターで指定された長さになります。

メッセージ出力のベクトル要素のデータ型を指定します。データ型を UDP パケットの作成に使用されるデータ入力に一致させます。

ブロックがメッセージを複素数データとして受信するかどうかを指定します。メッセージを複素数データとして受信するには、このパラメーターをオンにします。受信メッセージが実数データの場合は、このパラメーターをオフにします。

モデルで可変長の信号をサポートするかどうかを指定します。モデルで可変長の信号をサポートする場合は、このパラメーターをオンにします。その場合、以下のようになります。

  • 出力ベクトルの長さは、UDP パケット内のデータ量によって変化します。

  • ブロックは、単一のラベルなし出力からデータ ベクトルを出力します。

モデルで可変長の信号をサポートしない場合は、このパラメーターをオフにします。その場合、以下のようになります。

  • ブロックは、[メッセージの最大長] で指定された長さと同じ固定長の出力を出力します。

  • UDP パケットに含まれるデータが固定長の出力より少ない場合、無効なデータが差分に含まれます。

  • ブロックは、[Message] 出力からデータ ベクトルを出力します。

  • ブロックは、[Length] 出力から有効なデータの長さを出力します。

  • [Data type for Length] パラメーターが有効になります。

パラメーターの依存関係

このパラメーターを無効にすると、ブロックは、[メッセージの最大長] で指定された長さの出力を出力します。

各サンプルについて、制御をスケジューラに返す前に UDP パケットを待機する秒数を指定します。無期限に待機するには、inf を指定します。

メモ

このパラメーターは Embedded Coder® UDP Receive ブロックにのみ適用されます。

スケジューラが UDP Receive ブロックを呼び出す頻度を秒単位で指定します。ゼロより大きい値を入力します。リアルタイムの動作では、このパラメーターを小さい値に設定すると UDP メッセージが除外される可能性が低くなります。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2011a で導入