队列,实体队列
对消息和实体进行排队
库:
金宝appSimulink /消息和事件
SimEvents
描述
该块根据到达的顺序或优先级在队列中存储实体或消息。当下游块准备接受队列头的每个元素时,队列头的每个元素都离开。的队列Block和实体队列块是具有不同默认值的相同块如果队列已满,则覆盖最老的元素复选框。
您可以指定队列的容量,以及当队列满时的策略。该块支持三种不同的消金宝app息或队列排序策略:先进先出(FIFO)、后进先出(LIFO)和优先级。优先级队列只能在如果队列已满,则覆盖最老的元素复选框被清除。
例子
港口
输入
Port_1- - - - - -输入实体或消息
标量|向量|矩阵
携带标量、总线或向量数据以进入队列的输入实体或消息。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|枚举
|公共汽车
|不动点
输出
Port_1- - - - - -输出实体或消息
标量|向量|矩阵
当下游块准备接受队列头部的实体或消息时,允许它们离开的输出端口。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|枚举
|公共汽车
|不动点
Port_d- - - - - -已经离开区块的实体数量
标量
已经离开区块的实体数量。
依赖关系
若要启用此端口,请选择如果队列已满,则覆盖最老的元素复选框,然后单击统计数据选项卡并选择标记的框离开的实体数量d.
数据类型:双
Port_n- - - - - -尚未离开区块的实体数量
标量
尚未离开区块的实体数量。
依赖关系
若要启用此端口,请选择如果队列已满,则覆盖最老的元素复选框,然后单击统计数据选项卡并选择标记的框块中的实体数,n.
数据类型:双
Port_w- - - - - -块中实体的平均等待时间
标量
块中实体的平均等待时间。
依赖关系
若要启用此端口,请选择如果队列已满,则覆盖最老的元素复选框,然后单击统计数据选项卡并选择标记的框平均等待,w.
数据类型:双
Port_l- - - - - -实体队列的平均长度
标量
Port_l输出实体队列的平均长度。
依赖关系
若要启用此端口,请选择如果队列已满,则覆盖最老的元素复选框,然后单击统计数据选项卡并选择标记的框平均队列长度,l.
数据类型:双
Port_ex- - - - - -提取的实体数量
标量
从该块中拉出的实体数。
依赖关系
若要启用此端口,请选择如果队列已满,则覆盖最老的元素复选框,然后单击统计数据选项卡并选择标记的框提取的实体数,例如.
数据类型:双
参数
如果队列已满,则覆盖最老的元素- - - - - -指定队列覆盖策略
on (Simulink的默认值金宝app®| off(默认为SimEvents。®)
选中此复选框可在两个队列覆盖策略之间进行选择。
如果选中复选框,则如果队列已满,传入消息将覆盖最早的消息。
此模式表示一个简单的消息缓冲区,您可以使用该缓冲区在Simulink组件和产品代码之间生成异步通信。金宝app
如果清除复选框,则如果队列已满,块将不接受新消息。
在此模式下,您可以使用事件操作和可视化统计信息操作实体数据。
要自定义实体或消息进入、退出或被阻止时的操作,请输入MATLAB®的代码
项行动
,退出操作
,或阻塞操作
字段事件动作选项卡。有关更多信息,请参见事件和事件处理(SimEvents).有关示例,请参见使用事件操作管理实体(SimEvents).
编程使用
块参数:QueueOverwriting |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“上” (适用于S金宝appimulink)和“关闭” (SimEvents) |
能力- - - - - -指定队列的容量
25(默认)|标量
指定队列的容量。
编程使用
块参数:能力 |
类型:字符向量 |
值:“25” |标量 |
默认的:“25” |
队列类型- - - - - -选择队列类型
先进先出
(默认)|后进先出
|优先级
选择队列类型。
先进先出
——先进先出后进先出
——方法暗含优先级
-按优先级顺序存储元素,参见服务高优先级的客户,根据优先级对实体进行排序(SimEvents).优先级
可以在清除如果队列已满,则覆盖最老的元素复选框。请注意
优先级队列不支持金宝app
不动点
数据类型。
编程使用
块参数:QueueType |
类型:字符向量 |
值:“先进先出” |“后进先出” |“优先” |
默认的:“先进先出” |
多播标记- - - - - -在接受通过多播源广播的实体时指定标记
一个
(默认)|字符向量
在接受通过多播源广播的实体时指定标记。的实体多播block需要SimEvents许可证。
依赖关系
属性时,此参数可见如果队列已满,则覆盖最老的元素复选框,并设置实体到达源来多播
.
编程使用
块参数:MulticastTag |
类型:字符向量 |
值:“一个” |字符向量 |
默认的:“一个” |
优先级的源- - - - - -指定实体的哪个属性决定其优先级
PriorityAttribute
(默认)|字符向量
指定实体的哪个属性决定其优先级。
依赖关系
属性时,此参数可见如果队列已满,则覆盖最老的元素复选框,并设置队列类型来优先级
.
编程使用
块参数:PrioritySource |
类型:字符向量 |
值:“PriorityAttribute” |字符向量 |
默认的:“PriorityAttribute” |
排序方向- - - - - -根据优先级选择排序方向
提升
(默认)|下行
根据优先级选择排序方向。
提升
-优先级值较小的元素出现在队列前面。下行
—优先级值更高的元素出现在队列前面。
依赖关系
属性时,此参数可见如果队列已满,则覆盖最老的元素复选框,并设置队列类型来优先级
.
编程使用
块参数:SortingDirection |
类型:字符向量 |
值:“提升” |“降序” |
默认的:“提升” |
实体到达源- - - - - -为实体选择到达源
输入端口
(默认)|多播
为实体选择到达源。
输入端口
—输入端口是消息或实体的来源。多播
- - - - - -实体多播块是实体的来源。的实体多播block需要SimEvents许可证。
依赖关系
属性时,此参数可见如果队列已满,则覆盖最老的元素复选框,并设置队列类型来优先级
.
编程使用
块参数:EntityArrivalSource |
类型:字符向量 |
值:输入端口的 |多播的 |
默认的:输入端口的 |
事件动作- - - - - -指定实体在某些事件中的行为
条目
(默认)|退出
|阻塞
指定实体在某些事件中的行为。方法中定义行为事件动作参数。的条目和退出动作在实体进入之后和实体退出之前被调用。的阻塞动作在实体被阻塞后被调用。有关更多信息,请参见事件和事件处理(SimEvents).
请注意
如果一个事件操作改变了一个实体,在事件操作完全完成并返回之后,将会发生相关的块行为,比如诉诸优先级队列,以及重新调度任何事件。
请注意
事件操作不支持金宝app不动点
数据类型。
依赖关系
属性时,事件操作可见如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:EntryAction, ExitAction, BlockedAction |
类型:字符向量 |
值: MATLAB代码 |
默认的:” |
离开的实体数量d- - - - - -输出已经离开块的实体数量
从
(默认)|在
已经离开区块的实体数量。
依赖关系
离开的实体数量d当您清除如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:NumberEntitiesDeparted |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“关闭” |
块中的实体数,n- - - - - -输出块中存在的尚未分离的实体数量
从
(默认)|在
在区块中存在,但尚未离开的实体数量。
依赖关系
块中的实体数,n当您清除如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:NumberEntitiesInBlock |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“关闭” |
平均等待,w- - - - - -输出平均等待时间
从
(默认)|在
实体离开块的等待时间之和除以它们的总数。等待时间之间是持续时间吗实体队列阻止实体的进入和退出。有关更多信息,请参见使用统计分析解释SimEvents模型(SimEvents).
依赖关系
平均等待,w当您清除如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:AverageWait |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“关闭” |
平均队列长度,l- - - - - -输出实体队列的平均长度
从
(默认)|在
累计时间加权平均队列大小。block通过以下方式计算该值:
将队列的大小乘以其持续时间,以计算时间加权队列大小
将所有时间加权队列大小相加,并在总时间中求平均值
有关更多信息,请参见使用统计分析解释SimEvents模型(SimEvents).
依赖关系
平均队列长度,l当您清除如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:AverageQueueLength |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“关闭” |
提取的实体数,例如- - - - - -从该块中提取的实体数
从
(默认)|在
方法从此块中取出的已提取实体的数目实体找到块。的实体找到block需要SimEvents许可证。如果提取的实体是队列中的第一个实体,则将下一个实体设置为离开块的挂起实体。属性在优先级队列中定义了优先级,且该属性被实体找到块时,队列再次排序。当提取一个实体时,离开的实体数量d,块中的实体数,n,平均等待,w,平均队列长度,l统计数据将相应地更新。有关查找和提取实体的更多信息,请参见在SimEvents模型中查找和提取实体(SimEvents).
依赖关系
提取的实体数,例如当您清除如果队列已满,则覆盖最老的元素复选框。
编程使用
块参数:NumEntitiesExtracted |
类型:字符向量 |
值:“上” |“关闭” |
默认的:“关闭” |
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
事件操作和统计信息不支持代码生成。金宝app
版本历史
在R2016a中引入
对MATLAB
Vous avez cliqué sur un lien qui对应à cette命令MATLAB:
倒exécuter la command, saisissez-la dans la fenêtre de command de MATLAB。Les navigateurs web ne 金宝appsupport pas Les command MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。