消息触发子系统,消息轮询子系统
子系统,其执行由消息输入控制
- 库:
Simulink /消息和事件
描述
这个方块是子系统块预先配置为创建基于消息输入执行的子系统的起点。根据执行时间的不同,块有不同的名称。
一个消息触发子系统当消息在控制端口可用时,块就执行,与块采样时间无关。
一个消息轮询子系统块定期检查消息,如果在控制端口上有消息可用,则执行该消息。
在子系统内部,a触发块显示输出端口,该端口输出携带消息有效负载的数据信号。
消息触发子系统
一个消息触发子系统块启用基于事件的消息触发器。只要在控制端口上有消息可用,该块就会执行,与采样时间无关。该块包含一个触发块触发类型设置为消息
和触发时间设置为消息可用
.
该区块以两种模式运行,定时和即时。
在预定的模式,子系统的执行顺序可以在Schedule Editor中进行调度,以建模异步行为。您可以延迟子系统的执行以遵循特定的Simulink®任务,同时保持在同一时间步骤。触发器端口前面的Queue块可以在消息进入子系统之前缓冲消息。当消息到达队列块,它会引发一个事件,触发子系统根据调度从Queue块中提取消息。如果没有队列块在消息源和触发器端口之间,Simulink将触发器端口视为具有一个内部的、覆盖类型的队列,其容量为1,类似于收到块。触发端口可以连接到根级轮廓尺寸块,用于对软件组件建模。消息触发子系统可以放在导出函数模型中,例如,函数调用子系统。
若要使用计划模式,请选择调度为非周期分区的复选框。触发块。
在直接的方式当消息在控制端口上可用时,子系统立即执行,控制端口将消息推送到子系统,而不使用队列缓冲消息。
若要使用立即模式,请清除调度为非周期分区的复选框。触发块。
消息轮询子系统
一个消息轮询子系统块在每个时间步上有条件地执行,根据消息在控制端口上是否可用。该块包含一个触发块触发类型设置为消息
和触发时间设置为在采样时间命中时
.
该块在每个时间步中尝试从控制端口前面的队列中提取一条消息。如果没有队列块之间的消息源和控制端口,Simulink将控制端口视为具有一个内部的,覆盖类型的队列,容量为1,类似于收到块。如果队列不为空,则提取消息并执行子系统,将消息有效负载作为输入。每个时间步骤只提取一个消息。如果在当前时间步骤中队列中有多个消息,则在下一个时间步骤中提取下一个消息。如果队列为空,子系统不会在该时间步中执行。的“块”对话框中可以设置采样时间消息轮询子系统块。看到样品时间.
港口
输入
输出
模型的例子
块特征
扩展功能
版本历史
在R2022a中引入