STATEFLOW初学者(为什么没状态转换)

2019-07-17 12:56发布

STATEFLOW初学者,按照网上例程做了一个例子,使用了多层状态嵌套。
程序分为两个事件on-switch(下降沿触发)与off_switch事件(上升沿触发)。
输入变量temp,输出变量为speed(如图1与2所示)

程序设计思路:
on-switch事件发生时,temp>=120时,speed=2(High状态);
temp<120时。speed=1(low状态);
off-switch事件发生时,speed=0(off状态);


设计思路很简单,temp=200时,按道理说speed在0与2之间转换,实际运行时,发现speed只在0与1之间转换,没有进入High状态,如图3所示。


请问这是怎么回事啊,请教各位高手了


后台程序 后台程序
前台程序 前台程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
mydows
2019-07-18 03:56
wangyi31 发表于 2017-11-22 09:14
谢谢您的回答
我为了简便起见,没有用那个函数
没太明白您的意思啊

函数的参数和函数外面的变量虽然同名,但是可见范围不同吧?
1.jpg
2.jpg
函数的参数temperature在chart中并不可见。
按照你的方法:
4.jpg
得到如下仿真结果
3.jpg
证明在chart中的变量temp在其图形函数hot中可用。并得到了正常的动作输出。
附上我的程序matlab2015制作。 untitled1.zip (22.85 KB, 下载次数: 14)
另外你的on_switch和off_swtich同时动作是不是有问题啊?将其改为网上例程的输入,并将仿真时间由10改为inf试一下。

一周热门 更多>