主要内容

图表执行类型

设备的生命周期Stateflow图表

Stateflow®图表会经历几个执行阶段:

阶段 描述
不活跃的 图表没有活动状态
活跃的 图表具有活动状态
睡觉 图表有活动状态,但没有要处理的事件

当Simuli金宝appnk®模型首先触发状态流图表,图表是不活动的,没有活动状态。在图表执行并完全处理了来自Simulink模型的初始触发事件后,它将控制权转移回模型并进入睡眠状态。金宝app在下一个Simulink金宝app触发事件中,图表从睡眠阶段变为活动阶段。

看到使用事件执行图表

执行非活动图表

当图表处于非活动状态,并且首先由来自Simulink模型的事件触发时,它首先执行其默认流程图集(请参阅金宝app一套流程图的执行顺序).如果此操作没有导致进入某个状态,并且图表具有并行分解,则每个并行状态都是活动的(请参阅输入图表或状态).

如果执行默认流路径没有导致状态进入,则会发生状态不一致错误。

执行活动图表

当一个图表第一次被Simulink模型触发后,它就是一个活动图表。金宝app当图表从模型接收到另一个事件时,它将作为活动图表再次执行。如果图表没有状态,那么每次执行都相当于初始化一个图表。否则,将执行活动子态。并行状态的执行顺序与它们变得活跃的顺序相同。

在初始化时执行图表

默认情况下,图表第一次被唤醒时,它将执行默认的转换路径。此时,图表可以访问输入、写入输出和广播事件。

如果希望图表从已知配置开始执行,可以启用初始化时执行(输入)图表图表属性。当您打开此选项时,图表的状态配置将在时间0时初始化,而不是在输入事件第一次出现时初始化。图表的默认转换路径在时间0的模型初始化阶段执行,对应于mdlInitializeConditions ()(金宝app模型)s函数的相位。有关更多信息,请参见在初始化时执行(输入)图表

请注意

如果此图表的输出连接到SimEvents®块时,不要选中此复选框。要了解在模型中一起使用状态流程图和SimEvents块的更多信息,请参阅SimEvents文档。

由于初始化阶段的瞬态性质,不要在初始化时执行的图表的默认转换路径中执行某些操作(以及相关的状态条目操作)。遵循以下准则:

  • 不要访问图表输入数据,因为连接到图表输入端口的块可能还没有初始化它们的输出。

  • 不要从其他图表中调用导出的图形函数,因为这些图表可能还没有初始化。

  • 不要广播函数调用输出事件,因为被触发的子系统可能还没有初始化。

若要控制对图表输入数据的无效访问的诊断操作级别,请打开“配置参数”对话框,然后在诊断>Stateflow窗格中,设置图表初始化时输入数据访问无效参数没有一个警告,或错误.默认设置为警告.有关更多信息,请参见图表初始化时输入数据访问无效(金宝app模型)

在不包含状态的状态流程图中,会忽略在初始化时执行。

相关的话题