Matlab simulink CANMatrix代码自动生成实践笔记

文章引用于:CANMatrix代码自动生成实践笔记http://www.ilovematlab.cn/thread-559819-1-1.html(出处: MATLAB中文论坛)

目录:
1 背景介绍
2 建立模型
3 代码生成

4 代码验证


1 背景介绍
      通常在有CAN通讯的项目开发中,当收到客户的“通讯矩阵”和对应的.dbc后,就要立马着手进行信号的解析和计算,等程序写好了紧接着做测试,如果期间又有比较多的需求变更,改动起来是比较费劲的。常规的这种开发过程效率并不高,限于个人能力通常代码质量也并不高。
      读了斑竹老胡的《为什么要基于模型设计?》觉得很有道理,但又苦于不知从何入手,最近在MATLAB网站学习时,发现了“Vehcile Network Toolbox ”,于是便有种豁然开朗之感,遂尝试对以往的工作方式进行优化,便有了这篇笔记。

2 建立模型
      改进的思路如下图所示:
         
      通常既要接收报文也要发送报文,所以需要CAN Pack和CAN Unpack两种模块,如图:
          
      为了测试,编写一个通讯矩阵,包含接收帧和发送帧,如图:
         

      建立模型,如图:
      
       
       
    


    

      分别在CAN Pack和CAN Unpack中添加.dbc文件,如图:
          

3 代码生成
      配置代码生成过程:(该过程在这里就不赘述 )
      生成的代码如图所示:
      ID:0x206 message CAN_Pack code
     
      ID:0x115 message CAN_Unpack code

    
         代码生成报告,如图:
          
         通过report,可以将模型和代码进行对应跳转,方便查找。

4 代码验证
        为了验证模型生成的代码,将生成的代码集成到现有的工程中,通过仿真器和CANtest,监控变量、手法报文:
         
        
         
       如上图,通过监控变量的值,可知,满足设计。
 

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值