目录
一、stateflow简介
二、stateflow基本操作
1、stateflow界面介绍
2,stateflow状态工具
3、stateflow状态动作
4、迁移状态关系设置
5、数据和事件的定义
6、model explorer
三、stateflow建模仿真示例
1、建模仿真流程
2、嵌入式M函数的设置及调用
3、真值表的设置及使用
4、其他
stateflow是有限状态机的图形实现工具,通常称为状态流。用户可以在进行simulink仿真时,利用stateflow实现各个状态之间的转换,解决复杂的监控逻辑问题。
stateflow生成的监控逻辑可以直接嵌入到simulink模型下,仿真初始化时simulink会自动启动编译程序,将stateflow框图转换成代码,会自动生成名为slprj的文件夹。
有限状态机示意图
1,stateflow界面介绍
在命令窗口键入stateflow或sfnew进入设计界面
进入此界面后我们可以看到stateflow的基本操作工具,在上图配有中文解释。
注:MATLAB在执行程序时必须在保存文件的相应路径下,stateflow也是如此,此时应当保存文件来设置文件名,就是图中untitled的,意为尚未起名,当保存文件后untitled会变为文件名,在MATLAB命令窗口要将路径改为此文件路径,这样在执行时才不会报错。当前界面是建立simulink模型的界面,点开chart才是stateflow建模界面。
2.状态工具
系统的状态指系统运行的模态,在stateflow中状态有两种行为,活动的active和非活动的inactive。在仿真时可以打开chart可以发现处于active的状态边框为加粗蓝色,在后续的例子中可以看到。
鼠标单击拖动state来创建。在问号处填写状态的名称及动作描述,
例如:
On %名称
entry:speed=1; %动作描述
除了本例中的entry还有其他的状态动作,在下部分以表的形式列出。
注:右击设置属性properties,也可以在label栏填写名称和动作描述
注:图中on状态上的小箭头称为缺省状态设置,其作用是告诉stateflow哪个状态先处于激活状态,常用于子状态、内嵌MATLAB函数等地方
3.各种动作状态总结列表