当前位置: 首页 > news >正文

【研发日记】Matlab/Simulink技能解锁(三)——在Stateflow编辑窗口Debug

文章目录

前言

State断点

Transition断点

条件断点

按State步进

Watch Data Value

Sequence Viewer

分析和应用

总结


前言

        见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》

        见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug》

State断点

        当Stateflow出现异常时,如果能确定大致的State位置,就可以在相应的State上设置一个断点(Breakpoint),软件仿真运行到该断点时就会停下来,然后就方便分析问题了,示例如下:

Transition断点

        有些情况下,还需要在状态转换连线上设置断点,使软件仿真运行时在转换线上暂停,示例如下:

条件断点

        有些情况下,软件异常只与某个Data的值相关,如果还按照位置和时间设置断点就不行了。这时候还可以用Data阈值来设置条件断点,软件仿真运行过程中一旦该Data满足阈值条件,就会触发暂停,示例如下:

按State步进

        有些软件问题往往不能在一个状态内就分析出来,需要对比多个相邻周期运行的结果,这时候就可以使用State步进功能,让软件仿真每次只运行一个State就暂停下来,示例如下:

Watch Data Value

        上述几种方法使仿真运行暂停下来时,用鼠标点击信号线就会出现一个黄色标签,显示信号的当前值,示例如下:

Sequence Viewer

        上述几种方法都是让Stateflow暂停在某一个State,或步进的方式逐个查看State里边的Data。但是当Stateflow的逻辑比较复杂,State的转换关系成为关注的重点时,这时候使用Sequence Viewer模块可以方便地查看State的转换路径,看清各个时刻是什么State,从哪个State转换过来,去向哪个State,停留了多长时间等等。示例如下:

分析和应用

        Stateflow的Debug在Simulink模型仿真调试方面的应用非常频繁,尤其是应用于复杂的状态机开发时作用非常明显,例如一些上下电休眠唤醒策略、网络管理策略、热管理策略、故障处理策略等等。项目中把这些Debug功能用起来后,能够有利于软件异常问题的分析和定位,大大提高Bug查找速度,有效减少开发人员在人脑逻辑分析上面投入的精力和时间。

        这些Debug方法主要适用于软件开发工程中,早期模型搭建和原型机调试验证时Bug较多的阶段。当软件开发进入后期升级迭代阶段时,也可用于新功能或子模块的分析验证。不适用于在装车阶段出现问题的分析排查。

总结

        以上就是本人在Debug Stateflow时,一些个人理解和分析的总结,首先介绍了它的几种基本用法,然后展示它的使用示例,最后分析了该模块的特点和适用场景。

        后续还会分享另外几个最近解锁的Matlab/Simulink新技能,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,上述例程使用的Demo工程,可以到笔者的主页查找和下载。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

http://www.lryc.cn/news/310012.html

相关文章:

  • ZYNQ--MIG核配置
  • MySQL 多表查询 连接查询 内连接
  • T - SQL使用事务 及 在Winform使用事务
  • string(三)--实现
  • textbox跨线程写入
  • 幻兽帕鲁专用服务器搭建之Linux部署配置教程
  • Kubernetes: 本地部署dashboard
  • Outlook邮箱IMAP密码怎么填写?账户设置?
  • [计算机网络]--I/O多路转接之poll和epoll
  • 【NTN 卫星通信】卫星和无人机配合的应用场景
  • Git 分布式版本控制系统
  • ng : 无法将ng项识别为 cmdlet、函数、脚本文件或可运行程序的名称
  • iOS小技能:苹果书签打包教程【WebClip描述文件(WebClip Configuration Profile)】
  • Spring Cloud项目合规性注册之-(单元集成测试报告)
  • IntelliJ IDEA 常用的插件
  • 超详细红黑树的模拟实现
  • 【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源
  • ES-ES的基本概念
  • 排序算法——快速排序的非递归写法
  • 【论文阅读】基于人工智能目标检测与跟踪技术的过冷流沸腾气泡特征提取
  • RabbitMQ讲解与整合
  • python 基础知识点(蓝桥杯python科目个人复习计划56)
  • 【vue】vue中数据双向绑定原理/响应式原理,mvvm,mvc、mvp分别是什么
  • 基于反光柱特征的激光定位算法思路
  • CSM是什么意思?
  • ES6 面试题
  • 智能指针(C++)
  • 社区店商业模式探讨:如何创新并持续盈利?
  • 一些可以访问gpt的方式
  • springer模板参考文献不显示