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所示。
请问这是怎么回事啊,请教各位高手了
-
后台程序
-
前台程序
函数的参数和函数外面的变量虽然同名,但是可见范围不同吧?
函数的参数temperature在chart中并不可见。
按照你的方法:
得到如下仿真结果
证明在chart中的变量temp在其图形函数hot中可用。并得到了正常的动作输出。
附上我的程序matlab2015制作。
另外你的on_switch和off_swtich同时动作是不是有问题啊?将其改为网上例程的输入,并将仿真时间由10改为inf试一下。
一周热门 更多>