哈斯。沙玛,MathWorks
构建和模拟状态机。
让我们开始使用Stateflow建模环境来开发和模拟决策制定系统。要访问Stateflow块,单击Simulink中的库浏览器图标并导航Stateflow块库。万博1manbetxStateflow块库包含用于建模状态图、状态转换表和真值表的块。
要添加的状态图,拖动图表块进入所述Simulink的编辑器。万博1manbetx让我们设计,基于输入,U值两种状态之间切换的系统。对于这个例子,我加正弦波块提供输入u和范围块,以查看信号值。这两个块可以在Simulink块库中找到。万博1manbetx
双击图表块以打开Stateflow编辑器。在这个编辑器中,您通过从左侧的调色板中拖动图形对象(如状态和连接)来开发状态机。在我们的示例中,拖动状态对象并将其名称更改为on。
类似地,创建另一个状态对象off。当输入值u小于0时,系统应该从状态on转换为off。您可以通过将状态与转换对象连接来对状态之间的转换进行建模。这个转变应该在u小于0时进行。
在Stateflow中,状态机语法(如方括号)是自动添加的。当u大于0时,绘制另一个从状态off到活动状态的转换。将缺省转换设置为状态on,以定义系统应该以哪种状态启动。
要执行操作和状态,请直接在状态中输入命令。在我们的示例中,当系统进入on状态时,我们将向Simulink发送一个1的输出,当系统进入of万博1manbetxf状态时,我们将向Simulink发送一个- 1的输出。关键字“entry”将自动添加,并在进入状态后立即执行此操作。
要了解有关Stateflow中的对象和关键字的更多信息,请右键单击对象并选择help。自动添加关键字和标签完成可以帮助您提高开发期间的工作效率。当您运行状态机时,Stateflow识别图中使用的变量,并根据使用情况建议它们的作用域。
在我们的示例中,由于只从u中读取,所以建议将其作为输入。由于y只被写入,所以建议将它作为Simulink的输出。万博1manbetx当然,如果需要,我可以更改变量的范围。
注意,在Simulink编辑器中,ha万博1manbetxrt块现在有一个输入端口和一个输出端口。将状态图与输入和输出连接起来。现在可以运行状态机并可视化它的响应了。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文),以获得最佳的网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。