通过使用状态代表操作模式
一个状态描述了一种反应系统的操作模式。在一个Stateflow®图表,用于顺序设计创建状态转换图。
在仿真中,可以主动或不活跃的状态。状态改变取决于事件的活动和条件。事件驱动的执行状态转换图,使国家成为活跃或不活跃。有关更多信息,请参见执行Stateflow图表。
代表多个级别的组件在一个系统中,创建一个层次嵌套亚态在超级大国的国家。有关更多信息,请参见使用层次结构设计多级状态的复杂性。
模型互斥操作模式,使独家最多(或)分解状态所以其亚态之一是积极的在同一时间。实现并发运行的操作模式,支持并行(和)分解状态所以所有的亚态是活跃在同一时间。有关更多信息,请参见定义独家使用状态分解和并行模式。
例如,在这个图表中,美国集成软件包
和定时关机
代表一个空气控制器的开关模式系统。在国家集成软件包
,并行亚态FAN1
和FAN2
代表一对球迷的操作模式。每种状态包含独家亚态在
和从
。在这个例子中,更多信息,请参见通过使用并行分解模型同步子系统。
创建一个国家
添加一个状态Stateflow图:
打开图表。
在对象面板,单击状态图标。
图表画布上,单击位置为新状态。
输入一个标签的状态并单击以外的状态。标签指定的名称和任何可选的行动状态时执行模拟。有关更多信息,请参见定义的行为状态。
在您创建一个状态,您可以使用Stateflow编辑器来改变大小,位置,和内容的状态:
调整状态,单击并拖动的角落里。
移动状态,单击并拖动的内部状态。
编辑状态标签,单击标签文本字符位置附近你想编辑。
提示
父母状态必须以图形方式足以容纳所有的亚态,所以你可能需要调整之前父母状态拖一个新的亚态。或者,您可以将一个极权主义国家转换成子图表。有关更多信息,请参见通过使用子图表封装模态逻辑。
定义的行为状态
标签状态指定的名称和任何可选的行动,政府在执行模拟。状态标签出现在左上角的状态,由一般格式:
条目名称:entry_actions在:during_actions退出:exit_actions event_name: on_event_actions message_name: on_message_actions绑定:event_name data_name
国家行动可以出现在任何顺序。每种类型的行动,您可以指定多个语句输入每个语句在单独的行中。另外,独立的多个语句在同一行,使用逗号或分号。你也可以把条目
,在
,退出
执行相同的语句的行动。有关更多信息,请参见消除冗余代码结合状态的行为。
提示
如果您添加语句后直接状态名称,图表解释这些语句的总和条目
和在
行动。
国家的名字
状态标签的名称开始,紧随其后的是一个可选的斜杠(/
)。国家名称区分大小写,由字母数字和下划线字符的组合。有关更多信息,请参见命名指南Stateflow对象。
为了避免命名冲突,不为兄弟国家分配相同的名称。不过,您可以使用相同的多个州州名称如果每个州的全名是独一无二的。国家的全名由国家层次结构中的祖先的名字的顺序,相隔时间。例如,在前面的例子中,美国FAN1
和FAN2
确定这些独特的全名:
PowerOn.FAN1.On
PowerOn.FAN1.Off
PowerOn.FAN2.On
PowerOn.FAN2.Off
输入操作
添加一个条目
行动中,输入条目
或在
,紧随其后的是一个冒号(:
)和一个或多个语句。图表执行这些语句,当国家变得活跃。例如,在这个图表,条目
动作的状态定时关机
设置的值气流
空气控制器系统关闭时为零。更多信息,明白了输入一个图表或状态。
在行动
添加一个在
行动中,输入在
或杜
,紧随其后的是一个冒号(:
)和一个或多个语句。图表执行这些语句时,状态是积极和没有有效的转换到另一个状态。例如,在这个图表,在
动作的状态集成软件包
计算的值气流
当空气控制器系统。有关更多信息,请参见执行Stateflow图表。
退出操作
添加一个退出
行动中,输入退出
或前女友
,紧随其后的是一个冒号(:
)和一个或多个语句。图表执行这些语句时,状态是积极的过渡状态。例如,在这个图表,退出
动作的状态集成软件包
设置的值气流
空气控制器系统关闭时为零。更多信息,明白了退出状态。
在行动
添加一个在
行动中,输入在
,紧随其后的是一个事件或消息的名字,一个冒号(:
),和一个或多个语句。图表执行这些语句时,状态是积极和接收指定的事件或消息。有关更多信息,请参见通过广播事件同步模型组件和与Stateflow图表通过发送消息。
您可以指定在
操作多个事件或消息。例如,这个状态包含不同在
动作的事件E1
和E2
。
如果多个事件发生在同一时间,相应的在
动作执行的顺序,他们出现在状态标签。有关更多信息,请参见执行Stateflow图表。
提示
您可以使用隐式事件(如改变
,输入
,或退出
)和时序逻辑运算符(如后
,在
,之前
,或每一个
)来触发在
行动的状态。有关更多信息,请参见控制图的行为通过使用隐式事件和利用时序逻辑控制图执行。
绑定操作
添加一个绑定
行动中,输入绑定
,紧随其后的是一个冒号(:
的名字)和一个或多个事件或数据对象。独立的多个事件和数据,使用分号或逗号或输入事件和数据在不同的行。例如,在这个图表中,状态一个
包含一个绑定
绑定事件的行动E
和数据对象x
的状态。
一个绑定
行动应用无论活跃或不活跃的状态。其他国家可以读取绑定数据或监听绑定事件,但是只有国家和它的孩子可以改变绑定数据的值或广播绑定事件。否则,发生编译时错误。
绑定函数调用事件状态还结合函数调用子系统,事件调用。函数调用子系统启用当绑定状态时主动和禁用绑定状态是不活跃的。有关更多信息,请参见控制函数调用子系统通过绑定操作。
如果一个表包含操作相同的数据或事件绑定到多个国家,发生编译时错误。
在MATLAB环境下独立Stateflow图表®不支持金宝app绑定
行动。
组状态
可以简化编辑图表,分组的内容所以他们作为一个图形单位。例如,移动分组状态也将亚态,转换和其他图形对象内部状态。a组状态,右键单击并选择状态组和子图表>集团在上下文菜单中。
之前你必须取消组合状态选择对象内部状态或移动其他图形对象的状态。例如,试图移动状态或图形函数变成一个分组状态的结果无效的交叉错误。取消组合状态,右键单击状态和明确的组和子图表>集团在上下文菜单中。
在Stateflow编辑器中,状态出现比未分组的分组。例如,在这个图表中,状态FAN1
分组而状态FAN2
不是分组。
为国家指定的属性
下面列出的属性使您能够指定一个国家与其他组件的交互Stateflow图表。您可以修改这些属性属性检查器、Model Explorer或属性对话框。
使用属性检查器:
在建模选项卡,在设计数据中,选择属性检查器。
在Stateflow编辑器中,选择状态。
在属性检查器属性,编辑状态。
使用模型资源管理器:
在建模选项卡,在设计数据中,选择模型浏览器。
在模型层次结构窗格中,选择状态。
在对话框属性面板中,编辑状态。
使用状态属性对话框:
在Stateflow编辑器中,右键单击状态。
选择属性。
在properties对话框中,编辑状态属性。
您还可以修改状态属性以编程方式使用Stateflow.State
对象。关于Stateflow编程接口的更多信息,请参阅Stateflow API的概述。
的名字
国家的名称。这个属性是只读的。当你点击状态名称链接在Model Explorer和国家属性对话框,Stateflow编辑器带来前景的国家。
执行顺序
执行一个平行(和)状态。这个属性没有出现排斥(或)状态。有关更多信息,请参见执行顺序为平行状态。
创建输出监控
是否要创建一个活跃的状态数据输出端口状态。看到通过积极的状态数据监控状态的活动。
内联函数的选择
外观的态函数生成的代码。选项包括:
汽车
——一个内部计算决定的外观状态函数生成的代码。内联
——调用状态函数取代了代码,只要不属于一个递归的函数。函数
——态函数是作为单独的静态函数实现。
有关更多信息,请参见内联态函数生成的代码(金宝app仿真软件编码器)。这个属性是不可用的属性检查器。
标签
标签的状态。有关更多信息,请参见定义的行为状态。这个属性是不可用的属性检查器。
日志的自我活动
是否启用信号日志记录。信号记录保存自我活动的状态在模拟MATLAB工作区。有关更多信息,请参见日志状态和模拟输出数据。
日志的名字
信号名称用于记录活动。
使用国家的名称,选择
使用国家名称
。指定一个不同的名称,选择
自定义
并输入自定义日志的名字。
限制数据点
是否限制登录数据点的数量指定的最大值。例如,如果您设置数据点的最大数量到5000年,图表生成的日志只有最后5000数据点仿真。
大量毁灭
是否限制登录数据通过跳过样本使用指定的大批杀害区间。例如,如果您设置一个大批杀害间隔2,图表记录其他样本。
测试点
是否设置状态作为一个测试点,您可以监视一个浮动的范围在模拟。你也可以记录测试点值MATLAB工作区。有关更多信息,请参见监控测试点在Stateflow图表。
描述
状态的描述。
文档链接
链接到在线文档的状态。您可以输入一个web URL地址或MATLAB命令显示文档作为一个HTML文件或文本在MATLAB命令窗口。当你点击文档链接超链接,Stateflow评估和显示文档的链接。
另请参阅
对象
工具
- 模型浏览器(金宝app模型)