激活Stateflow的通过发送输入事件图表

一个输入事件发生状态流外®图表,但仅在该图表是可见的。这种类型的事件使其他的Simulink万博1manbetx®块,包括其它Stateflow图,以通知外面上发生的事件的一个具体图。要定义输入事件:

  1. 一个事件添加到状态流图表,如在定义事件的图表

  2. 设置范围属性为事件从Simulink中输万博1manbetx入。单个触发端口出现在Simulink模型的状态流块的顶部。万博1manbetx

  3. 输入事件可以通过在一个控制信号的变化(边缘触发)或者从一个Simulink模块的功能调用激活状态流图表。万博1manbetx

    • 要指定边沿触发输入事件,设置触发属性的其中一个选项:

      • 升起

      • 落下

    • 要指定函数调用输入事件,设置触发属性函数调用

    你不能混用同一个Stateflow的图表中边沿触发和函数调用输入事件。解析和模拟混合期间在这些错误输入事件的结果。

欲了解更多信息,请参阅同步模型组件通过广播活动

激活Stateflow的利用边沿触发图表

边缘触发输入事件引起状态流图表模拟的当前时间步长期间执行。利用这种类型的输入事件的,在一个控制信号的变化作为触发。

边沿触发类型

描述

升起

上升沿触发。当控制信号从零或负值到正值改变图表被激活。

落下

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

上升沿或下降沿触发。当控制信号过零时,因为它在任何一个方向改变图表被激活。

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

何时使用边沿触发事件

使用边沿触发输入事件激活的图表时,你的模型需要定期或周期表执行。例如,在模型sf_loop_scheduler,边缘触发输入事件激活边缘功能图表以规则的间隔。欲了解更多信息,请参阅调度子系统中多次单步

多边沿触发输入事件的行为

在任何给定的时间步,输入事件在基于端口序号升序检查。图表唤醒每进行一次有效的事件。对于边沿触发输入事件,可发生在相同的时间步长的多个边缘,唤醒所述图表不止一次在时间步长。在这种情况下,事件唤醒基于端口序号升序图表。

激活Stateflow的利用函数调用图表

甲函数调用的输入事件引起状态流图表模拟的当前时间步长期间执行。对于这种类型的输入事件的,还必须定义调用Stateflow的图表块一个函数调用输出事件。

当使用一个函数调用输入事件

使用函数调用输入事件激活的图表时,您模型需要在同一时间步长的函数调用从图表中获取输出数据。例如,在模型sf_loop_scheduler,一个函数调用的输入事件激活循环调度图表。欲了解更多信息,请参阅调度子系统中多次单步

多个函数调用输入事件的行为

对于函数调用输入事件,只是一个触发事件的存在。事件的调用者明确要求,并执行图表。只有一个函数调用是在一个时间步有效。

与控制信号输入活动的协会

当在图表中定义一个或多个输入事件,单触发端口出现在图表块的顶侧。多个外部Simulink模块可以通过万博1manbetx连接到所述触发端口的信号的矢量触发输入事件。该港口的输入事件的属性指定到控制信号矢量的索引,其连接于所述触发端口。

默认,港口值出现在您添加输入事件的顺序。您可以通过修改更改这些任务港口事件的性质。当您更改港口属性的输入事件,则港口对于剩余的输入事件值自动重新编号。

允许使用的输入事件的数据类型

对于多个输入事件的触发端口,所有信号必须有相同的数据类型。仿真期间的错误使用不同的数据类型作为输入事件的结果的信号。例如,可以多路复用器型的两个输入信号为输入事件的图表使用。

你不能复用两种不同的数据类型的输入信号,如布尔

相关话题