基于模型设计(MBD)之stateflow学习——计数器demo介绍

按照参考文献2中的讲解,利用stateflow搭建一个计数器,包含stateflow模块的simulink模型如下图所示。

计数器的仿真结果如下图所示。

下面来介绍下该demo涉及到的stateflow的相关基本知识。

(一)如何创建包含stateflow模块的simulink模型

可以通过如下两种方法来创建包含stateflow模块的simulink模型。

a)直接在Matlab命令行中键入指令sfnew

b)在simulink库浏览器中找到stateflow的模块,然后插入到已有的simulink模型中

(二)状态图和流程图

在stateflow模型中,把包含状态的stateflow框图称为状态图,而将不包含任何状态的stateflow框图称为流程图。

1)状态
状态的标签一般由三部分组成:状态名称、注释和相应的状态动作。
Name
/*Comments*/
Keyword:State Actions

状态动作的关键字主要有下面三种:
a)entry:当状态被激活时执行相应的动作;
b)exit:当状态退出活动状态时执行相应的动作;
c)during:当状态保持其活动状态时执行相应的动作。

2)连接节点
连接节点作为转移通路的判决点或汇合点,在流程图中,由于不包含任何状态,因此只有依靠连接节点完成通路的连接和判断分支。连接节点不是记忆元件,在状态图中任何转移的执行都不能停留在节点上,转移必须到达某个状态时才能停止

3)转移标签
一个完整的转移标签由四部分组成:事件、条件、条件动作和转移动作,也可以包含相应的注释。
/*Comments*/
Event[Condition]{Condition Actions}/Transition Actions

a)事件是stateflow非图形对象的一种。在有限状态机中,只有当事件发生时,才可能去执行相应的转移,因此,stateflow的模型又叫事件驱动系统。
b)位于方括号“[]”中的内容是条件,只有在相应的事件发生且条件也满足时,相应的转移才可能执行。如果在转移上没有定义事件和条件,则意味着该转移在任何事件发生时都会执行。
c)紧接在条件后面的花括号“{}”中的内容就是条件动作,条件动作是在条件满足时就立即执行的某些表达式。
d)位于“/”后面的内容都是转移动作,转移动作只有在整个转移通路都有效时才能执行。

组成转移标签的四个部分不一定完整地出现,但是不论出现哪个部分,标签的内容都必须遵循上面指定的顺序

4)默认转移
默认转移是一类特殊的转移,根据有限状态机的要求,当有限状态系统被激活时,必有某个确定的状态被激活,而默认转移就定义了当状态机被激活或者层次模型中父层次状态被激活时具体哪个子状态被激活。

参考文献:
1)Stateflow逻辑系统建模/张威编著.-西安:西安电子科技大学出版社,2007.10
2)Simulink-Stateflow学习——计数器的搭建和stateflow工作过程. CSDN博文,https://blog.csdn.net/zhanshen112/article/details/79697979

  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
基于模型设计MBD)是一种软件开发方法,用于设计和开发嵌入式系统。在 STM32 系列中,MBD 是一种常见的开发方法,可以提供更高效、更灵活的开发方式。 基于模型设计的方法可以将嵌入式系统的设计过程分为两步:模型设计和代码生成。首先,通过使用 MATLAB/Simulink 等建模工具,可以将系统的功能需求、输入输出关系等设计为图形模型模型可以包含系统的各种组件,如传感器、执行器、算法等。然后,通过适当的配置和连接,可以生成 C 代码,并上传到 STM32 微控制器中。 模型设计的主要优势在于它可以提供可视化的设计环境,使得开发者能够更直观地理解和调试系统。与传统的方法相比,这种开发方式可以加快开发速度,并降低开发和测试的成本。此外,MBD 还支持自动生成测试用例和报告,有助于提高系统质量。 在 STM32 系列中,MBD 还可以与 STM32 CubeMX 结合使用,实现代码生成和配置的无缝集成。通过 CubeMX,可以根据系统需求配置 STM32 微控制器的引脚、时钟和外设等。然后,生成的配置文件可以直接导入到模型设计工具中,用于代码生成。 综上所述,基于模型设计的方法在 STM32 系列中提供了一种高效灵活的开发方式。它可以加快开发速度,降低开发成本,并提高系统质量。对于使用 STM32 微控制器进行嵌入式系统开发的开发者来说,掌握和应用MBD方法是非常有益的。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值