主要内容

与交流Stateflow通过发送消息绘制图表

在statflow内部和之间进行通信®在Simulink中的图金宝app表®模型,使用消息。一个消息是一个状态垃圾对象,用于在本地或图表之间传送数据。从发件人图表中,您可以发送或转发包含数据的消息。在接收图表中,队列收到消息并保持它,直到图表可以评估它。

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

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

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

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

当图表转换或状态操作评估消息时,图表确定队列是否包含任何消息。如果它,图表会从队列中删除该消息。该消息仍然有效,直到时间步骤结束或直到图表向前或丢弃它。虽然该消息有效,但其他转换或操作可以访问消息数据,并且图表不会从队列中删除另一个消息。该图表在当前时间步骤结束时损失所有有效消息。

在图表中定义消息

您可以使用符号窗格,StateFlow Editor菜单或Model Explorer添加消息到StateFlow图表。

通过符号窗格添加消息

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

  2. 单击创建消息图标

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

    • 输入消息

    • 当地消息

    • 输出消息

  4. 编辑消息的名称。

  5. 要获取输入和输出消息,请单击港口字段并选择端口号。

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

添加消息使用Stateflow编辑菜单

  1. 在StateFlow编辑器中,选择与要添加的消息的范围对应的选项。

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

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

通过模型资源管理器添加消息

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

  2. 在里面模型层次结构窗格中,选择要使新消息可见的statflow层次结构中的对象。您选择的对象将成为新消息的父对象。

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

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

寿命A.Stateflow信息

一个statflow消息有一个有限的生存期。属性将消息发送到接收队列时,生命周期开始发送操作符。该消息仍然在队列中,直到过渡或状态行动评估它或图表接收它使用收到操作符。

当图表评估或接收它时,消息变得有效。消息仍然有效,直到:

  • 当前时间步骤的结束,当图表破坏任何剩余的有效消息时。

  • 属性将消息转发到另一个队列向前操作符。消息在新队列中继续其生命周期。

  • 该图表通过使用丢弃

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

要在模拟期间查看消息的交换,请添加一个顺序查看器阻塞到您的Simulink模金宝app型。的顺序查看器块显示:

  • 发送消息

  • 接收到的消息

  • 转发消息

  • 下降的消息

  • 销毁的消息

  • 丢弃的消息

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

消息的局限性

您不能在以下情况下使用消息:

  • 摩尔图表

  • 原子子图表

  • 断点条件表达式

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

另请参阅

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

相关话题