主要内容

沟通Stateflow通过发送信息绘制图表

在状态流内部和之间进行通信®在Simulink中绘制金宝app图表®建模,使用消息。一个消息是一个在本地或图表之间通信数据的状态流对象。从发件人图表中,您可以发送或转发包含数据的邮件。在接收图中,队列接收消息并保存它,直到图表能够对其进行评估。

消息结合了数据和事件的一些功能。与数据一样,消息也可以传输数字和文本信息。与事件一样,消息也可以触发转换和状态操作。然而:

  • 消息不会触发图表唤醒。相反,消息被排队等待,直到图表被唤醒。当图表被唤醒时,它可以响应队列中的消息。

  • 如果接收方图表不能立即响应,消息不会丢失。

有关更多信息,请参见查看状态流消息、事件和数据之间的差异

当图表转换或状态操作计算消息时,图表将确定队列是否包含任何消息。如果是,图表将从队列中删除该消息。该消息一直有效,直到时间步骤结束,或者直到图表转发或丢弃它。当消息有效时,其他转换或操作可以访问消息数据,并且图表不会从队列中删除另一条消息。图表将在当前时间步长结束时销毁所有有效消息。

在图表中定义消息

控件将消息添加到状态流程图中符号窗格、状态流编辑器菜单或模型资源管理器。

通过符号窗格添加消息

  1. 建模选项卡,在设计数据中,选择符号面板

  2. 单击创建消息图标

  3. 在新消息行中,在类型,点击图标,选择:

    • 输入消息

    • 当地消息

    • 输出消息

  4. 编辑消息的名称。

  5. 对于输入和输出消息,单击港口字段,并选择端口号。

  6. 要为消息指定属性,请打开属性检查器。在符号窗格,右键单击消息所在行并选择探索。有关更多信息,请参见为消息设置属性

添加消息Stateflow编辑菜单

  1. 在statflow Editor中,选择与要添加的消息范围相对应的选项。

    范围 选项
    输入 建模选项卡,在设计数据中,选择信息输入
    输出 建模选项卡,在设计数据中,选择消息输出
    当地的 建模选项卡,在设计数据中,选择消息

  2. 在“消息”对话框中指定数据属性。有关更多信息,请参见为消息设置属性

通过模型浏览器添加消息

  1. 建模选项卡,在设计数据中,选择模型浏览器

  2. 模型层次结构窗格中,选择要在其中显示新消息的Stateflow层次结构中的对象。您选择的对象将成为新消息的父对象。

  3. 在模型资源管理器菜单中,选择添加>消息。具有默认定义的新消息将出现在内容窗格。

  4. 消息窗格中,指定消息的属性。有关更多信息,请参见为消息设置属性

人的一生Stateflow消息

状态流消息具有有限的生存期。将消息发送到接收队列时,生命周期开始发送操作符。消息保持在队列中,直到发生转换或状态操作对其进行评估,或者图表通过使用收到操作符。

当图表对消息进行评估或接收时,该消息将变为有效。该消息将一直有效,直到:

  • 当前时间步长的结束,当图表销毁所有剩余的有效消息时。

  • 方法将消息转发到另一个队列向前操作符。消息在新队列中继续其生存期。

  • 图表通过使用丢弃

当消息有效时,其他转换和操作可以评估消息并访问其数据。要检查消息是否有效,请使用isvalid操作符。

若要查看仿真过程中的消息交换情况,请添加a顺序查看器块到您的Simulink模型金宝app。的顺序查看器块显示:

  • 发送消息

  • 接收到的消息

  • 转发消息

  • 下降的消息

  • 摧毁了消息

  • 丢弃的消息

有关更多信息,请参见使用序列查看器可视化消息、事件和实体

消息的限制

不能在:中使用消息:

  • 摩尔的图表

  • 原子子图表

  • 断点条件表达式

在使用C作为操作语言的图表中,消息不支持多词定点数据。金宝app

另请参阅

|||||(金宝app模型)|

相关的话题