主要内容

图表执行类型

a的生命周期州流程图表

州流程®图表的执行经历了几个阶段:

阶段 描述
不活跃 图表没有活动状态
积极的 图表有活动状态
睡觉 图表有活动状态,但没有事件进程

当一个simu金宝applink.®模型首先触发一个statflow图表,该图表是非活动状态,没有活动状态。在图表执行并从Simulink模型中完全处理其初始触发事件之后,它将控制权转移回模型并进入睡眠状态。金宝app在下一个Simulink金宝app触发事件中,图表从休眠阶段变为活动阶段。

使用事件执行图表

执行非活动图表

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

如果执行默认流路径不导致状态条目,则会发生状态不一致错误。

执行活动图表

在Simulink模型首次触发图表之后,它是一个活动图表。金宝app当图表从模型接收另一个事件时,它将其作为活动图表再次执行。如果图表没有状态,则每个执行都相当于初始化图表。否则,活动置换器执行。并行状态以与它们变为活动的相同顺序执行。

在初始化时执行图表

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

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

笔记

如果此图表的输出连接到Simevents®块,请勿选中此复选框。要在模型中一起使用StateFlow图表和SimEvents块的更多信息,请参阅SimEvents文档。

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

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

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

  • 不要播放函数调用输出事件,因为触发的子系统尚未初始化。

您可以控制无效访问的诊断操作级别,以进行图表输入数据诊断>州流程配置参数对话框的窗格。有关更多信息,请参阅文档图表初始化中的输入数据访问无效(金宝appSimulink)诊断。

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

相关的话题