主要内容

消息触发子系统消息轮询子系统

子系统,其执行由消息输入控制

  • 库:
  • Simulink /消息和事件

  • 消息触发子系统块的块图标

描述

这个方块是子系统块预先配置为创建基于消息输入执行的子系统的起点。根据执行时间的不同,块有不同的名称。

  • 一个消息触发子系统当消息在控制端口可用时,块就执行,与块采样时间无关。

  • 一个消息轮询子系统块定期检查消息,如果在控制端口上有消息可用,则执行该消息。

在子系统内部,a触发块显示输出端口,该端口输出携带消息有效负载的数据信号。

消息触发子系统

一个消息触发子系统块启用基于事件的消息触发器。只要在控制端口上有消息可用,该块就会执行,与采样时间无关。该块包含一个触发触发类型设置为消息触发时间设置为消息可用

该区块以两种模式运行,定时和即时。

  • 预定的模式,子系统的执行顺序可以在Schedule Editor中进行调度,以建模异步行为。您可以延迟子系统的执行以遵循特定的Simulink®任务,同时保持在同一时间步骤。触发器端口前面的Queue块可以在消息进入子系统之前缓冲消息。当消息到达队列块,它会引发一个事件,触发子系统根据调度从Queue块中提取消息。如果没有队列块在消息源和触发器端口之间,Simulink将触发器端口视为具有一个内部的、覆盖类型的队列,其容量为1,类似于收到块。触发端口可以连接到根级轮廓尺寸块,用于对软件组件建模。消息触发子系统可以放在导出函数模型中,例如,函数调用子系统。

    若要使用计划模式,请选择调度为非周期分区的复选框。触发块。

  • 直接的方式当消息在控制端口上可用时,子系统立即执行,控制端口将消息推送到子系统,而不使用队列缓冲消息。

    若要使用立即模式,请清除调度为非周期分区的复选框。触发块。

消息轮询子系统

一个消息轮询子系统块在每个时间步上有条件地执行,根据消息在控制端口上是否可用。该块包含一个触发触发类型设置为消息触发时间设置为在采样时间命中时

该块在每个时间步中尝试从控制端口前面的队列中提取一条消息。如果没有队列块之间的消息源和控制端口,Simulink将控制端口视为具有一个内部的,覆盖类型的队列,容量为1,类似于收到块。如果队列不为空,则提取消息并执行子系统,将消息有效负载作为输入。每个时间步骤只提取一个消息。如果在当前时间步骤中队列中有多个消息,则在下一个时间步骤中提取下一个消息。如果队列为空,子系统不会在该时间步中执行。的“块”对话框中可以设置采样时间消息轮询子系统块。看到样品时间

港口

输入

全部展开

放置一个触发触发类型设置为消息在一个子系统块将外部消息输入端口添加到块中。

使用Trigger端口来控制子系统的执行,并向子系统传递数据。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

输出

全部展开

放置一个外港阻塞在子系统块向该块添加一个外部输出端口。接口上的端口标签子系统类的名称匹配外港块。

使用外港块向本地环境发送信号。

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车

参数

消息触发子系统而且消息轮询子系统块参数,请参见子系统

触发块参数,请参见触发

块特征

数据类型

布尔一个|公共汽车一个|一个|枚举一个|不动点一个|一半一个|整数一个|一个|字符串一个

直接引线

没有

多维信号

是的一个

适应信号

是的一个

讨论二阶导数过零检测

没有

一个实际的数据类型或功能支持取决于块实现。

扩展功能

版本历史

在R2022a中引入

Baidu
map