Queue
メッセージとエンティティのエンキュー
ライブラリ:
Simulink /
Messages & Events
SimEvents
Queue ブロックの代替構成:
Entity Queue
説明
このブロックは、到着順または優先順位に基づいて、エンティティまたはメッセージをキューに保存します。キューの先頭の各要素は、下流のブロックが受け入れ準備ができたときにキューを出ます。
キューの容量、およびキューが満杯のときのポリシーを指定できます。ブロックは、先入れ先出し (FIFO)、後入れ先出し (LIFO)、優先順位順の 3 つの異なるメッセージまたはキューの並べ替えポリシーをサポートしています。優先順位キューは、[Overwrite the oldest element if queue is full] チェック ボックスがオフであるときのみ使用できます。
例
端子
入力
Port_1 — 入力エンティティまたはメッセージ
スカラー | ベクトル | 行列
キューに入るスカラー、バス、またはベクトル データを伝達する入力エンティティまたはメッセージ。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| enumerated
| bus
| fixed point
出力
Port_1 — 出力エンティティまたはメッセージ
スカラー | ベクトル | 行列
下流のブロックで受け入れ準備ができたときにキューの先頭のエンティティまたはメッセージがキューを出ることができるようにする出力端子。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| enumerated
| bus
| fixed point
Port_d — ブロックを出たエンティティの数
スカラー
ブロックを出たエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [Number of entities departed, d] チェック ボックスを選択します。
データ型: double
Port_n — まだブロックを出ていないエンティティの数
スカラー
まだブロックを出ていないエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [ブロックでのエンティティ出力数、n] チェック ボックスを選択します。
データ型: double
Port_w — ブロック内のエンティティの平均待機時間
スカラー
ブロック内のエンティティの平均待機時間。
依存関係
この端子を有効にするには、[統計] タブで [Average wait, w] チェック ボックスを選択します。
データ型: double
Port_l — エンティティ キューの平均の長さ
スカラー
[Port_l] はエンティティ キューの平均の長さを出力します。
依存関係
この端子を有効にするには、[統計] タブで [Average queue length, l] チェック ボックスを選択します。
データ型: double
Port_ex — 抽出されたエンティティの数
スカラー
このブロックから引き出されたエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [Number of entities extracted, ex] チェック ボックスを選択します。
データ型: double
パラメーター
Overwrite the oldest element if queue is full — キューの上書きポリシーの指定
オン (Simulink® の既定値) | オフ (SimEvents® の既定値)
このチェック ボックスの選択によって、2 つのキュー上書きポリシーの間での選択を行います。
このチェック ボックスをオンにすると、キューが満杯の場合に受信メッセージが最も古いメッセージを上書きします。
このモードは、Simulink のコンポーネントと量産コードとの間の非同期通信を生成するのに使用できる、シンプルなメッセージ バッファーを表します。
このチェック ボックスをオフにすると、キューが満杯の場合にブロックは新しいメッセージを受け取りません。
このモードでは、イベント アクションを使用してエンティティ データを操作し、統計を可視化できます。
エンティティやメッセージが入るとき、出るとき、またはブロックされるときのアクションをカスタマイズするには、[Event actions] タブの
Entry action
、Exit action
、またはBlocked action
フィールドに MATLAB® コードを入力します。詳細については、Events and Event Actions (SimEvents)を参照してください。例については、Manage Entities Using Event Actions (SimEvents)を参照してください。
プログラムでの使用
ブロック パラメーター: QueueOverwriting |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' (Simulink の場合) および 'off' (SimEvents の場合) |
容量 — キューの容量を指定
25 (既定値) | スカラー
キューの容量を指定します。
プログラムでの使用
ブロック パラメーター: Capacity |
型: 文字ベクトル |
値: '25' | スカラー |
既定の設定: '25' |
キュー タイプ — キューのタイプを選択
FIFO
(既定値) | LIFO
| Priority
キューのタイプを選択します。
FIFO
— 先入れ先出しLIFO
— 後入れ先出し優先順位
— 優先順位の順に要素を保存。Serve High-Priority Customers by Sorting Entities Based on Priority (SimEvents)を参照してください。[Priority]
は [Overwrite the oldest element if queue is full] チェック ボックスをオフにすると選択できます。メモ
優先順位キューは
fixed point
データ型をサポートしません。
プログラムでの使用
ブロック パラメーター: QueueType |
型: 文字ベクトル |
値: 'FIFO' | 'LIFO' | 'Priority' |
既定の設定: 'FIFO' |
マルチキャスト タグ — マルチキャスト ソースを介してエンティティのブロードキャストを受け入れるときにタグを指定
A
(既定値) | 文字ベクトル
マルチキャスト ソースを介してエンティティのブロードキャストを受け入れるときにタグを指定します。Entity Multicast ブロックには SimEvents ライセンスが必要です。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Entity arrival source] を [Multicast]
に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: MulticastTag |
型: 文字ベクトル |
値: 'A' | 文字ベクトル |
既定の設定: 'A' |
優先順位のソース — エンティティのどの属性が優先順位を決定するかを指定
PriorityAttribute
(既定値) | 文字ベクトル
エンティティのどの属性が優先順位を決定するかを指定します。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Queue type] を [Priority]
に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: PrioritySource |
型: 文字ベクトル |
値: 'PriorityAttribute' | 文字ベクトル |
既定の設定: 'PriorityAttribute' |
並べ替える方向 — 優先順位に基づく並べ替え方向の選択
[昇順]
(既定値) | [降順]
優先順位に基づく並べ替えの方向を選択します。
昇順
— 優先順位の値が小さい要素がキューの前方に表示されます。降順
— 優先順位の値が大きい要素がキューの前方に表示されます。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Queue type] を [Priority]
に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: SortingDirection |
型: 文字ベクトル |
値: 'Ascending' | 'Descending'
|
既定の設定: 'Ascending' |
Entity arrival source — エンティティの到着元の選択
入力端子
(既定値) | Multicast
エンティティの到着元を選択します。
入力端子
— 入力端子がメッセージやエンティティのソースです。Multicast
— Entity Multicast ブロックがエンティティのソースです。Entity Multicast ブロックには SimEvents ライセンスが必要です。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Queue type] を [Priority]
に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: EntityArrivalSource |
型: 文字ベクトル |
値: 'Input port' | 'Multicast'
|
既定の設定: 'Input port' |
イベント アクション — 特定のイベントでのエンティティの動作を指定
Entry
(既定値) | Exit
| Blocked
特定のイベントでのエンティティの動作を指定します。動作を [Event action] パラメーターで指定します。[Entry] アクションおよび [Exit] アクションは、エンティティが入った直後、およびエンティティが出る直前に呼び出されます。[Blocked] アクションは、エンティティがブロックされた後に呼び出されます。詳細については、Events and Event Actions (SimEvents)を参照してください。
メモ
イベント アクションによってエンティティが変更された場合、イベント アクションが完全に終了して制御が戻った後に、関連するブロックの動作 (優先順位キューの並べ替えやイベントのスケジュール変更など) が発生します。
メモ
イベント アクションは fixed point
データ型をサポートしません。
依存関係
イベント アクションは [キューが満杯の場合は最も古い要素を上書き] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: EntryAction, ExitAction, BlockedAction |
型: 文字ベクトル |
値: MATLAB コード |
既定の設定: '' |
離脱したエンティティの数、d — ブロックを出たエンティティの数を出力
off
(既定値) | on
ブロックを出たエンティティの数。
依存関係
[Number of entities departed, d] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: NumberEntitiesDeparted |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
ブロックでのエンティティ出力数、n — ブロック内に存在し、まだ出ていないエンティティの数を出力
off
(既定値) | on
ブロック内に存在し、まだ出ていないエンティティの数。
依存関係
[Number of entities in block, n] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: NumberEntitiesInBlock |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
Average wait, w — 平均の待機時間を出力
off
(既定値) | on
ブロックを出るエンティティの待機時間の合計をそのその総数で除算した値。"待機時間" とは、エンティティが Entity Queue ブロックに入ってから出るまでの期間です。詳細については、Interpret SimEvents Models Using Statistical Analysis (SimEvents)を参照してください。
依存関係
[Average wait, w] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: AverageWait |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
Average queue length, l — エンティティ キューの平均の長さを出力
off
(既定値) | on
時間により重み付けされた平均のキュー サイズの累積。ブロックはこの値を次のように計算します。
キューのサイズに期間を乗算して時間により重み付けされたキューのサイズを計算
時間により重み付けされたキューのサイズをすべて合計し、総時間で平均を計算
詳細については、Interpret SimEvents Models Using Statistical Analysis (SimEvents)を参照してください。
依存関係
[Average queue length, l] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: AverageQueueLength |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
Number of entities extracted, ex — このブロックから抽出されたエンティティの数
off
(既定値) | on
このブロックから Entity Find ブロックによって引き出された、抽出されたエンティティの数を出力します。Entity Find ブロックには、SimEvents ライセンスが必要です。抽出されたエンティティがキューの最初のエンティティである場合、次のエンティティはブロックを出る保留中のエンティティとして設定されます。優先順位キューでエンティティの属性が優先順位を定義する場合で、その属性が Entity Find ブロックによって変更される場合、キューは再度並べ替えられます。エンティティが抽出されると、[Number of entities departed, d]、[Number of entities in block, n]、[Average wait, w]、および [Average queue length, l] の統計がそれに従って更新されます。エンティティの検出と抽出の詳細については、Find and Extract Entities in SimEvents Models (SimEvents)を参照してください。
依存関係
[Number of entities extracted, ex] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: NumEntitiesExtracted |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
代替構成
Entity Queue — メッセージとエンティティのエンキュー
Entity Queue ブロックは [キューが満杯の場合は最も古い要素を上書き] パラメーターをオフにし、[容量] パラメーターを 25 に設定し、[キュー タイプ] パラメーターを FIFO に設定します。
ライブラリ:
Simulink /
Messages & Events
SimEvents
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
コード生成は、イベント アクションおよび統計ではサポートされません。
バージョン履歴
R2016a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)