找回密码
 注册
关于网站域名变更的通知
查看: 302|回复: 1
打印 上一主题 下一主题

MATLAB_模型验证工具的新功能

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-23 10:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
“工欲善其事,必先利其器”,这句话用到模型验证方向上尤其正确。我们在产品开发中,都希望能够开发出没有问题的产品,然而,“没有问题”四个字,谈何容易?!我们也知道在 MBD 开发过程中对模型要做到充分验证,而“充分验证”背后所需要的汗水,又有多少人能懂!?很多时候,跟从事 MBD 软件开发的工程师聊起来开发流程,经常听说:我们也知道,只是时间上实在不允许……确实如此,做产品开发是要考虑成本的,人力成本越来越高,开发成本在产品成本中所占比重越来越大,任何能够提高开发效率的方法和工具改进都是值得去关注的。下面我就给大家介绍几个最近几年模型验证中的提升。1. 模型切片器(Model Slicer)功能这并不是新功能,只是 R2019a 版本的 MATLAB 对此功能做了迁移,从 Simulink Design Verifier 迁移到 Simulink Check 模块,这对于只采购了Simulink Check 而没有 Simulink Design Verifier 的用户来讲是不错的福利。当我们在模型测试中遇到问题,或者说出现错误的时候,我们要去定位和修复错误,这个过程里定位错误才是关键。下图是切片的示例,如果我们发现在某个时段输出 throt 不符合预期,那么我们可以通过 Model Slicer 分析这个时段内输出 throt 跟哪些输入以及中间计算模块有关,图中蓝色高亮出来的模块就是在某个时段影响输出 throt 的模块,在这样的范围内再去分析问题出在哪里,就要容易多了。
2. Data Store Memory(简称DSM)模块的访问冲突检查DSM 模块类似于代码中的全局变量,可以通过配对的 DSM Read 和 DSM Write 对定义在 DSM 中的数据进行读和写。一般我建议用户不要使用这个模块,如果不得已要用到的时候,一定在模块旁边标注出读写顺序,试想,如果数据本该先写再读,而我们由于设计错误做成了先读后写,这样的情形对于缓慢变化的变量在计算上可能问题不大,而对于逻辑上,那就是错误的,而这种错误的检查是非常麻烦的,从 R2019b 开始,Simulink Design Verifier 提供了 DSM 访问冲突的检查功能,这样我们在模型的静态验证阶段,就很容易通过 SLDV 把可能隐藏在 DSM 中的设计错误检查出来了。
3. 克隆检查(Clone Detection)功能这个功能跟切片功能一样,都是从 Simulink Design Verifier 移植到 Simulink Check 的功能。我们在产品开发中,前期规划不够完善,在开发中可能会面临越做越大的可能,项目做大之后,才发现原有的 mcu 存储容量不够,这个时候,可以考虑使用克隆检查功能跑一下模型,如下图所示,检查完之后,红色的模块表示完全一致,蓝色的模块表示相似的模块。对于完全一致的模块,可以通过配置生成可以重用的代码,而对于相似的模块,则可以优化设计,重构模型,让其中的一部分变成可以重用的模块,再通过配置生成可重用代码。
: b& S+ X- O" U+ @
  • TA的每日心情
    开心
    2022-11-22 15:53
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2020-6-23 11:18 | 只看该作者
    工欲善其事,必先利其器
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-24 16:35 , Processed in 0.078125 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表