【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试

2024-06-04 10284阅读

文章目录

前言

Block断点

分解Block步进

Watch Data Value

分析和应用

总结


前言

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

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

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

Block断点

        前文在Simulink编辑窗口中Debug的软件调试方法,能够控制的最小步进单位是整个模型运行一轮。但是实际项目中遇到深层次问题时,需要继续把这一最小步进单位拆解开,精确到每个Block都能Pause下来,甚至每个Block内部执行的若干步骤都要能单步运行。这时候就要用到Simulink Debugger窗口,示例如下:

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试 第1张

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试 第2张

分解Block步进

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

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试 第3张

Watch Data Value

        上述几种方法使仿真运行暂停下来时,然后就可以用Outputs窗口查看每个模块的输入输出值,示例如下:

【研发日记】Matlab/Simulink技能解锁(四)——在Simulink Debugger窗口调试 第4张

分析和应用

        Simulink Debugger在Simulink模型仿真调试中的作用非常重要,尤其是应用于复杂的基于事件的时序任务开发时作用非常明显,例如一些上下电休眠唤醒策略、网络管理策略、故障处理策略等等。项目中把这些Simulink Debugger用起来后,能够有利于软件异常问题的分析和定位,大大提高Bug查找速度,有效减少开发人员在人脑逻辑分析上面投入的精力和时间。该Simulink Debugger工具主要适用于软件开发工程中,早期模型搭建和原型机调试验证时Bug较多的阶段。当软件开发进入后期升级迭代阶段时,也可用于新功能或子模块的分析验证。不适用于在装车阶段出现问题的分析排查。

总结

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

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

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


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


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]