主要内容

激活A.州流程通过发送输入事件来实现图表

一个输入事件在状态流之外发生®但仅在该图表中可见。此类型的事件启用其他Simulink金宝app®块,包括其他状态流程图,用于通知特定图表外部发生的事件。要定义输入事件,请执行以下操作:

  1. 将事件添加到StateFlow图表,如下所述在图表中定义事件

  2. 设定范围事件的属性来自Simulink的金宝app输入。单个触发端口显示在Simulink模型中的状态溢块的顶部。金宝app

  3. 输入事件可以通过控制信号(边缘触发)或来自Simulink块的函数调用的改变来激活状态流图。金宝app

    • 要指定边缘触发的输入事件,请设置触发属性设置为以下选项之一:

      • 升起

      • 落下

      • 任何一个

    • 要指定函数呼叫输入事件,请设置触发财产函数调用

    您无法在同一状态流图中混合边缘触发和功能呼叫输入事件。混合这些输入事件会导致编译时误差。

有关更多信息,请参阅通过广播事件同步模型组件

激活A.州流程使用边缘触发器的图表

边缘触发的输入事件导致状态溢图在模拟当前时间步长期间执行。利用这种类型的输入事件,控制信号的变化充当触发器。

边缘触发类型

描述

升起

上升沿触发。当控制信号从零或负值变为正值时,激活图表。

落下

下降沿触发器。当控制信号从正值变为零或负值时,将激活图表。

任何一个

边缘触发上升或下降。当控制信号在任一方向上变化时,当控制信号交叉零时激活图表。

在所有情况下,控制信号的值必须将零交叉为有效的边缘触发。例如,从-1到1改变的信号是有效的上升沿触发。从1到2变化的信号不是有效的上升沿触发。

何时使用边缘触发的输入事件

使用边缘触发的输入事件在您的型号需要常规或定期图表执行时激活图表。例如,在该模型中,边缘触发的输入事件以规则的间隔激活边缘到功能图表。有关更多信息,请参阅在一步中向子系统安排子系统

多个边缘触发输入事件的行为

在任何给定的时间步,输入事件都会根据其端口号按升序进行检查。对于每个有效事件,图表将唤醒一次。对于边缘触发的输入事件,多个边缘可以在同一时间步中发生,在该时间步中多次唤醒图表。在这种情况下,事件会根据其端口号按升序唤醒图表。

激活A.州流程使用函数调用的图表

函数调用输入事件会导致在模拟的当前时间步长期间执行状态流程图。对于此类输入事件,还必须为调用状态流程图的块定义函数调用输出事件。

何时使用函数调用输入事件

使用函数调用输入事件在函数调用的同时从图表中从图表中访问输出数据时激活图表。例如,在此模型中,函数呼叫输入事件激活循环调度程序图表。有关更多信息,请参阅在一步中向子系统安排子系统

多函数呼叫输入事件的行为

对于函数调用输入事件,仅存在一个触发器事件。事件的调用方显式调用并执行图表。单个时间步中只有一个函数调用有效。

控制信号的输入事件相关联

在图表中定义一个或多个输入事件时,图表块的顶部会显示一个触发器端口。多个外部Simulink块可以通过连接到触发器端口的信号向量触发输入事件金宝app港口属性指定连接到触发器端口的控制信号向量的索引。

默认情况下,港口值按您添加输入事件的顺序显示。您可以通过修改港口事件的属性。当你换衣服的时候港口输入事件的属性港口剩余输入事件的值自动重新定制。

输入事件允许的数据类型

对于触发端口的多个输入事件,所有信号必须具有相同的数据类型。使用不同数据类型的信号作为输入事件导致模拟期间的错误。例如,您可以使用MUX的两个输入信号双倍的用作图表的输入事件。

金宝app使用Type Tourd的两个信号作为输入事件的Simulink模型到StateFlow Chart。

您无法使用不同数据类型的两个输入信号,例如布尔值双倍的

金宝app使用Type Flow Clack的型布尔和Double的信号信号的Simulink模型作为输入事件的信号。此配置产生运行时错误。

相关话题