Simulink中Stateflow的使用

Simulink中Stateflow的使用在Simulink中添加Stateflow模块在SimulinkLibraryBrowser中,可将Stateflow中常用的Chart模块拖拽到Simulink中。Chart模块的编辑双击Chart模块,可进入Chart模块编辑界面。在Chart模块编辑界面左栏中,可拖入表示状态的框。

大家好,欢迎来到IT知识分享网。

在Simulink中添加Stateflow模块

在Simulink Library Browser中,可将Stateflow中常用的Chart模块拖拽到Simulink中。

Simulink中Stateflow的使用

Simulink中Stateflow的使用

Chart模块的编辑

双击Chart模块,可进入Chart模块编辑界面。

Simulink中Stateflow的使用

在Chart模块编辑界面左栏中,可拖入表示状态的框。

Simulink中Stateflow的使用

指向状态的箭头表示进入Chart后第一个进入的状态,框中“?”部分可输入表示状态的标识名称,输入名称按Enter换行即可输入状态中执行的动作。需要注意的是,进入Chart的箭头并不一定指向某个状态,也可指向某个分支点,用于处理不同情况的输入。

Simulink中Stateflow的使用

状态中的常用的动作包括如下三种类型:

状态动作类型 说明
entry 仅在进入状态时执行此动作一次
during 若处于状态中则一直执行此动作
exit 尽在退出状态时执行此动作一次

在表示动作的行中,首先键入上述三种类型的关键字entry、during和exit及“:”,然后在“:”后输入动作内容。也可在表示动作的行中直接输入动作内容,Simulink会自动默认补全关键字entry。

Simulink中Stateflow的使用

而在两个不同状态之间添加连线,表示状态的转移。

Simulink中Stateflow的使用

在表示进入状态及状态转移的连线上,可以添加状态转移的条件及状态转移时执行的动作。

Simulink中Stateflow的使用

其语法为:

[condition]{conditional_action}

其中,condition为布尔表达式,用于确定状态是否转移。若不指定条件,则默认为true;conditional_action是condition为true时执行的指令。此指令在对条件进行判断后执行,但其执行早于任何exit或entry动作。也就是说,在判断某个状态是否满足退出条件时,若退出条件为true,则执行conditional_action,然后执行将要退出的状态中的exit动作(若存在),及要进入的状态中的entry动作(若存在)。当然,在没有condition_action指令时,要退出状态中的exit动作也会在退出条件为true后执行。也可仅有conditional_action指令而无condition表达式。指令与表达式的括号可有Simulink自动补全。

在状态转移连线上的布尔表达式还包括时序逻辑运算符after、elapsed、duration等。如使用after运算符的表达式after(n, sec),其表示自关联状态激活以来经过的仿真时间达到n秒,返回true;否则返回false。

在condition与conditional_action处于不可输入的未激活状态时,可以单击并拖动以修改表达式的位置。

在编辑Chart内部状态的过程中,部分状态涉及到Chart作为一个整体在Simulink中的输入与输出,因此,在编辑Chart内部模型时,可通过Chart → Add Inputs & Outputs菜单添加Chart的输入与输出。

Simulink中Stateflow的使用

在Name一栏中输入由Simulink输入Chart的变量名称即可。可在Scope一栏选择Output从而设置由Chart输出Simulink的变量名称。而在Port一栏中可以设置输入或输出在Chart块上显示的位置。

在Model ExplorerSimulink中Stateflow的使用中,可以通过左侧的树状结构查看Simulink模型中的各部分内容,当然也可以对Chart模块进行编辑,如删除某Chart输入或输出等。

Simulink中Stateflow的使用

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32844.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信