Queue
メッセージとエンティティのエンキュー
ライブラリ:
Simulink /
Messages & Events
SimEvents
Queue ブロックの代替構成:
Entity Queue
説明
このブロックは、エンティティまたはメッセージを到着順または優先順位に基づいてキューに保存します。キューの先頭の各要素は、下流のブロックが受け入れ準備ができたときにキューを出ます。
キューの容量、およびキューが満杯のときのポリシーを指定できます。ブロックは、先入れ先出し (FIFO)、後入れ先出し (LIFO)、優先順位順の 3 つの異なるメッセージまたはキューの並べ替えポリシーをサポートしています。優先順位キューは、[Overwrite the oldest element if queue is full] チェック ボックスがオフであるときのみ使用できます。
例
端子
入力
キューに入るスカラー、バス、またはベクトル データを伝達する入力エンティティまたはメッセージ。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus | fixed point
出力
下流のブロックで受け入れ準備ができたときにキューの先頭のエンティティまたはメッセージがキューを出ることができるようにする出力端子。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus | fixed point
ブロックを出たエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [Number of entities departed, d] チェック ボックスを選択します。
データ型: double
まだブロックを出ていないエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [ブロックでのエンティティ出力数、n] チェック ボックスを選択します。
データ型: double
ブロック内のエンティティの平均待機時間。
依存関係
この端子を有効にするには、[統計] タブで [Average wait, w] チェック ボックスを選択します。
データ型: double
[Port_l] はエンティティ キューの平均の長さを出力します。
依存関係
この端子を有効にするには、[統計] タブで [Average queue length, l] チェック ボックスを選択します。
データ型: double
このブロックから引き出されたエンティティの数。
依存関係
この端子を有効にするには、[統計] タブで [Number of entities extracted, ex] チェック ボックスを選択します。
データ型: double
パラメーター
このチェック ボックスの選択によって、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 の場合) |
キューの容量を指定します。
プログラムでの使用
ブロック パラメーター: Capacity |
| 型: 文字ベクトル |
値: '25' | スカラー |
既定の設定: '25' |
キューのタイプを選択します。
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' |
マルチキャスト ソースを介してエンティティのブロードキャストを受け入れるときにタグを指定します。Entity Multicast ブロックには SimEvents ライセンスが必要です。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Entity arrival source] を [Multicast] に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: MulticastTag |
| 型: 文字ベクトル |
値: 'A' | 文字ベクトル |
既定の設定: 'A' |
作成したカスタム エンティティ属性または entitySys.priority 属性のいずれかとして、優先順位のソースを具体的に指定します。
たとえば、Entity Generator ブロックの [Entity type] タブで、エンティティに対する height と width という 2 つの新しい属性を追加したとします。これらの属性は、文字ベクトルの形式で [Priority source] パラメーターのオプションとして表示されます。パラメーターの値によってエンティティの優先順位が決まります。
メモ
既定のテキスト プロンプトの PriorityAttribute を優先順位のソースに置き換えないと、モデルのコンパイル中にエラーが生成されます。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Queue type] を [Priority] に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: PrioritySource |
| 型: 文字ベクトル |
値: 'entity' | 'entitySys.priority' | 文字ベクトル |
優先順位に基づく並べ替えの方向を選択します。
昇順— 優先順位の値が小さい要素がキューの前方に表示されます。降順— 優先順位の値が大きい要素がキューの前方に表示されます。
依存関係
このパラメーターは、[Overwrite the oldest element if queue is full] チェック ボックスをオフにして、[Queue type] を [Priority] に設定すると表示されます。
プログラムでの使用
ブロック パラメーター: SortingDirection |
| 型: 文字ベクトル |
値: 'Ascending' | 'Descending'
|
既定の設定: 'Ascending' |
エンティティの到着元を選択します。
入力端子— 入力端子がメッセージやエンティティのソースです。Multicast— Entity Multicast ブロックがエンティティのソースです。Entity Multicast ブロックには SimEvents ライセンスが必要です。
依存関係
このパラメーターは、[キューが満杯の場合は最も古い要素を上書き] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: EntityArrivalSource |
| 型: 文字ベクトル |
値: 'Input port' | 'Multicast'
|
既定の設定: 'Input port' |
特定のイベントでのエンティティの動作を指定します。動作を [Event action] パラメーターで指定します。[Entry] アクションおよび [Exit] アクションは、エンティティが入った直後、およびエンティティが出る直前に呼び出されます。[Blocked] アクションは、エンティティがブロックされた後に呼び出されます。詳細については、Events and Event Actions (SimEvents)を参照してください。
メモ
イベント アクションによってエンティティが変更された場合、イベント アクションが完全に終了して制御が戻った後に、関連するブロックの動作 (優先順位キューの並べ替えやイベントのスケジュール変更など) が発生します。
メモ
イベント アクションは fixed point データ型をサポートしません。
依存関係
イベント アクションは [キューが満杯の場合は最も古い要素を上書き] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: EntryAction, ExitAction, BlockedAction |
| 型: 文字ベクトル |
| 値: MATLAB コード |
既定の設定: '' |
ブロックを出たエンティティの数。
依存関係
[Number of entities departed, d] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: NumberEntitiesDeparted |
| 型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
ブロック内に存在し、まだ出ていないエンティティの数。
依存関係
[Number of entities in block, n] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: NumberEntitiesInBlock |
| 型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
ブロックを出るエンティティの待機時間の合計をそのその総数で除算した値。"待機時間" とは、エンティティが Entity Queue ブロックに入ってから出るまでの期間です。詳細については、Interpret SimEvents Models Using Statistical Analysis (SimEvents)を参照してください。
依存関係
[Average wait, w] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: AverageWait |
| 型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
時間により重み付けされた平均のキュー サイズの累積。ブロックはこの値を次のように計算します。
キューのサイズに期間を乗算して時間により重み付けされたキューのサイズを計算
時間により重み付けされたキューのサイズをすべて合計し、総時間で平均を計算
詳細については、Interpret SimEvents Models Using Statistical Analysis (SimEvents)を参照してください。
依存関係
[Average queue length, l] は、[Overwrite the oldest element if queue is full] チェック ボックスをオフにすると表示されます。
プログラムでの使用
ブロック パラメーター: AverageQueueLength |
| 型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
このブロックから 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 ブロックは [キューが満杯の場合は最も古い要素を上書き] パラメーターをオフにし、[容量] パラメーターを 25 に設定し、[キュー タイプ] パラメーターを FIFO に設定します。
ライブラリ:
Simulink /
Messages & Events
SimEvents
拡張機能
コード生成は、イベント アクションおよび統計ではサポートされません。
メッセージ キューが含まれていてマルチタスクが有効になっているモデルのコードを生成する際、そのモデルがマルチタスク環境に展開される場合は同時実行タスクの動作を有効にします。そうでない場合、生成コードでデータ破損が発生する可能性があります。同時実行タスクの動作を有効にするにはAllow tasks to execute concurrently on targetを選択します。
バージョン履歴
R2016a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)


