概述
MATLAB Simulink Statflow学习笔记
1.概述
在做算法设计时,会用到Statflow模块和MATLAB Function模块,我们可以在这里搭建自己需要的程序逻辑。
(1) Statflow、MATLAB Function和Simulink之间的区别
做一些逻辑设计,尤其是和状态机相关的,用Statflow更方便。
做一些和矩阵相关的计算,用MATLAB Function更方便。
做一些数据流传,用Simulink更方便。
2.Statflow创建一个简单的逻辑
搭建一个简单的流程图如下:
画完连线如下:
Statflow更擅长做状态机,具体操作如下:
我们可以在状态机里面添加条件,
en:
fun();
LED1 = 1;
LED2 = 0;
du:
LED1 = 0;
LED2 = 1;
ex:
LED1 = 1;
LED2 = 1;
en(entry):表示进入状态的动作
du(during):表示在状态条件下的动作
ex(exit):表示离开状态的动作
3.Statflow模块介绍
4.Statflow案例
例如:用Stateflow做一个简易的温度控制系统(节点形式)
下面在stateflow外面画好输入输出
我们画一个动态输入源可以观看仿真动画
点击运行后可以看到节点和连线被高亮,表示此刻程序执行的状态。
有可能电脑执行画面太快,在下图可以更改动画速度
例如:用Stateflow挡位切换控制系统(状态形式)
下图表示挡位切换的逻辑
下面我们在D档写汽车自动换挡控制逻辑
在statflow外面建立逻辑如下:
定义好PP、RR、NN、DD变量
点击仿真按钮,更改Constant模块数值即可在仿真动画中看到挡位的切换情况
仿真结果如下:
5.Statflow其他
(1)函数调用事件
点击apply,这样ststeflow页面就多出来一个端口,这个端口和其他端口不一样,这是个函数调用端口,可以调用一些函数事件。这个端口可以接Function-Call Subsystem子系统,用这个端口太触发子系统。
这个Function-Call Subsystem,我们可以在合适的时机(例如:在N档的时候触发子系统)进行调用
(2)默认子状态
一般每个页面会带一个默认子状态,当然如果我们要修改其位置,可以把自带的删掉,自己在所需的模块上添加;
(3)语言选择
一般我们默认使用matlab语言,在某些特殊情况下,比如要引入其他地方的C代码,自己不想转述成matlab语言,可以使用此手段。
(4)状态机里面也可以画流程逻辑
可以看到,新画的流程逻辑在P档状态机里面,表示当状态进入P状态机后执行流程逻辑,相当于代码en:
如果要实现代码du:的功能,可以拉一条线到状态机,
最后
以上就是儒雅便当为你收集整理的MATLAB Simulink Statflow学习笔记的全部内容,希望文章能够帮你解决MATLAB Simulink Statflow学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复