メインコンテンツ

UDP Receive

アドオンが必要: この機能には Embedded Coder Support Package for AMD SoC Devices アドオンが必要です。

  • UDP Receive block

ライブラリ:
Embedded Coder Support Package for AMD SoC Devices

説明

UDP Receive ブロックは、IP ネットワーク ポートからユーザー データグラム プロトコル (UDP) パケットを受信してバッファーに保存します。それぞれのサンプルで、ブロックは単一の UDP パケットの内容をデータ ベクトルとして出力します。

端子

出力

すべて展開する

UDP Receive ブロックは、受信した UDP パケットを N 行 1 列のデータ ベクトルとして出力します。ベクトルのデータ型と長さ N が [メッセージのデータ型] パラメーターと [メッセージの最大長] パラメーターでそれぞれ設定されます。

この端子は [可変サイズの信号の出力] が有効な間は名前なしになります。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

この端子は、端子 Message のメッセージ ベクトル信号の長さを出力します。

この端子は [可変サイズの信号の出力] が有効な間は非表示になります。

データ型: single

パラメーター

すべて展開する

ブロック パラメーターを対話形式で編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

ブロック パラメーターの値をプログラムで設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムで取得するには、get_param 関数を使用します。

UDP データ パケットを受信するハードウェア ボードの IP ポート番号を入力します。

メモ

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

sudo matlab

プログラムでの使用

ブロック パラメーター: localURL

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

プログラムでの使用

ブロック パラメーター: remoteURL

受信バッファーは、バッファー オーバーフローによるデータ損失を避けるのに十分な大きさにしてください。

プログラムでの使用

ブロック パラメーター: recvBufferSize

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

[可変サイズの信号の出力] を無効にしている場合、ブロックは [メッセージの最大長] と同じ長さの固定長出力を出力します。

プログラムでの使用

ブロック パラメーター: dims

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

プログラムでの使用

ブロック パラメーター: signalDatatype

モデルで可変長の信号をサポートするには、このパラメーターをオンにします。固定長の信号をサポートするには、このパラメーターをオフにします。このパラメーターをオフにすると、ブロックで次のようになります。

  • Message 出力から [メッセージの最大長] で設定された固定長のデータ ベクトルが出力されます。

  • Length 出力から有効なデータの長さが出力されます。

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

いずれの場合も、[メッセージの最大長] を超えるデータはブロックで切り捨てられます。

プログラムでの使用

ブロック パラメーター: isVarSize

それぞれのサンプルについて、この時間の長さだけ UDP パケットを待機してからスケジューラに制御を戻します。既定値は inf で、この値は無期限に待機することを示します。

プログラムでの使用

ブロック パラメーター: blockingTime

このブロックをスケジューラで実行する頻度を指定します。ゼロより大きい値を入力します。リアルタイムの動作では、このオプションを大きい値に設定すると UDP メッセージが除外される可能性が低くなります。

プログラムでの使用

ブロック パラメーター: sampletime

拡張機能

すべて展開する

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

バージョン履歴

R2016b で導入