simulink仿真临摹笔记之stateflow的操作语言(Action Language)

对于初学者来说,临摹是最高效的学习路径。

一,临摹对象概要

这次的临摹对象是stateflow中的for循环。

先在matlab命令窗口中输入”sf_for"打开demo看看:

很简单。stateflow的状态机里面也很简单。

二,临摹步骤

那就开始吧。

1,先在simulink模型中拖两个模块进来:

因为For这个chart还没有配置输出信号,目前无法和scope相连。

2,配置For这个chart的输出数据。

方法一:进入Stateflow里面,选择菜单chart=>Add Inputs & Outputs->Data Output To Simulink

方法二:先进入模型浏览器(Model Explorer),再点击“Add Data",选择所加数据的scope为output.

3,输入控制逻辑。

手动添加Junction,或者使用菜单:

结果为:

4,再次在模型浏览器中配置数据,和demo一模一样:

 

三,问题现象

好了,仿真一下。咦,还报错了:

神奇了,这个简单的东西都会有错!

语法没有毛病啊,连线也没有错误啊。哪里的问题呢?

四,解决措施

和自带的demo比较来比较去,发现一个小地方不同:

在那个小图标上点击右键,选择”属性“:

把Action Language由MATLAB改为C,就OK了。

另外,在simulink中只能打开block的属性对话框,不能打开chart的属性。在打开chart的属性,还可以在startflow里面点击"chart”菜单:

仿真结果为:

猜你喜欢

转载自blog.csdn.net/booksyhay/article/details/86512981