Main Content

Receive

  • Receive block

ライブラリ:
Simulink / Messages & Events
SimEvents

Receive ブロックの代替構成:
Message Receive

説明

Receive ブロックは受信したメッセージからデータを抽出し、出力信号端子に書き出します。ブロックが実行されるときに新しいメッセージがない場合は、ブロックは [キューが空のときの値のソース] の値を使用します。ReceiveMessage Receive は同じブロックです。

  • [最後の値をホールド] を選択すると最後のメッセージから読み取ったデータを保持します。

  • [初期値を使用] を選択すると既定のデータを書き込みます。

端子

入力

すべて展開する

メッセージの入力端子。

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

出力

すべて展開する

ブロックがメッセージを正常に受信した場合は 1 を、そうでない場合は 0 を出力します。

依存関係

この端子を有効にするには [受信ステータスの表示] というラベルのチェック ボックスをオンにします。

データ型: double

信号の出力端子。

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

パラメーター

すべて展開する

メッセージの受信に内部キューを使用する場合は、このチェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: UseInternalQueue
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

このチェック ボックスの選択によって、2 つのキュー上書きポリシーの間での選択を行います。

  • このチェック ボックスをオンにすると、キューが満杯の場合に受信メッセージが最も古いメッセージを上書きします。

  • このチェック ボックスをオフにすると、キューが満杯の場合にブロックは新しいメッセージを受け取りません。

依存関係

このパラメーターは、[内部キューの使用] というラベルのチェック ボックスをオンにすると表示されます。

プログラムでの使用

ブロック パラメーター: QueueOverwriting
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on' (Simulink の場合) および 'off' (SimEvents の場合)

メッセージ キューの容量を指定します。キューの長さは、1 から 226-1 までの正の整数として指定できます。

依存関係

このパラメーターは、[内部キューの使用] というラベルのチェック ボックスをオンにすると表示されます。

プログラムでの使用

ブロック パラメーター: QueueLength
: 文字ベクトル
: '16' | スカラー
既定の設定: '16'

ブロックは 3 つのメッセージの並べ替えポリシーをサポートします。

  • 先入れ先出し (FIFO) — ストレージ内の最も古いメッセージが最初に出ていく。

  • 後入れ先出し (LIFO) — ストレージ内の最も新しいメッセージが最初に出ていく。

  • 優先 — メッセージやエンティティは優先順位に基づいて並べ替えられる。

    優先順位キューは、[Overwrite the oldest element if queue is full] チェック ボックスがオフであるときのみ使用できます。

    メモ

    優先順位キューは非バスのスカラーのみを受け入れ、fixed point データ型はサポートしません。

依存関係

このパラメーターは、[内部キューの使用] というラベルのチェック ボックスをオンにすると表示されます。

プログラムでの使用

ブロック パラメーター: QueueType
: 文字ベクトル
値: 'FIFO' | 'LIFO' | 'Priority'
既定の設定: 'FIFO'

優先順位に基づいてメッセージの並べ替えの方向を選択します。

  • 昇順 — 小さい優先順位値をもつメッセージがキューの先頭に来ます。

  • 降順 — 大きい優先順位値をもつメッセージがキューの先頭に来ます。

依存関係

このパラメーターは、ボックス [内部キューの使用] および [キュー タイプ][優先] というラベルのチェック ボックスがオンのときにのみ表示されます。

プログラムでの使用

ブロック パラメーター: PriorityOrder
: 文字ベクトル
: 'Ascending' | 'Descending'
既定の設定: 'Ascending'

メッセージが受信されたかどうかを表示するにはこのチェック ボックスをオンにします。このチェック ボックスがオンの場合、ブロックは、メッセージが正常に受信された場合には 1 を、そうでない場合は 0 を出力します。

プログラムでの使用

ブロック パラメーター: ShowQueueStatus
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'off'

最初のメッセージが到着する前のキューの初期データ値を入力します。既定の値 [](unspecified) は、データ型が double の 0 として取り扱われます。

このブロックを使用して非バーチャル バス信号を初期化するには、初期値を MATLAB® 構造体として指定します。構造体を使用した非バーチャル バス信号の初期化についての詳細は、バス要素の初期条件の指定を参照してください。

プログラムでの使用

ブロック パラメーター: InitialValue
: 文字ベクトル
: '[]' | スカラー
既定の設定: '[]'

受信したメッセージ キューが空だったときに受け取る値を指定します。

  • 最後の値をホールド (既定) — 最後のメッセージから読み取ったデータを保持します。

    まず、ブロックがメッセージの受信を試みて失敗した場合、ブロックは初期値を出力します。

  • 初期値を使用 — 既定のデータを書き込みます。

依存関係

このパラメーターは、[内部キューの使用] というラベルのチェック ボックスをオンにすると表示されます。

プログラムでの使用

ブロック パラメーター: ValueSourceWhenQueueIsEmpty
: 文字ベクトル
: 'Hold last value' | 'Use initial value'
既定の設定: 'Hold last value'

サンプル時間を継承するには、このパラメーターを -1 に設定します。詳細については、サンプル時間の指定を参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
: 文字ベクトル
: '-1' | スカラー
既定の設定: '-1'

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | integer | single | string

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

代替構成

すべて展開する

Message Receive ブロックは [内部キューの使用] パラメーターを選択し、[キュー タイプ] を FIFO、[キューの長さ] を 16 に設定します。

ライブラリ:
Simulink / Messages & Events
SimEvents

拡張機能

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

バージョン履歴

R2016a で導入

参考

(SimEvents)