摘要
本文档主要介绍,基于模型的设计开发。以modbus和Can通信为例子
准备工作
需要提前装好Matlab等工具箱,不会安装的请自行解决,这里不介绍安装,因为Matlab的全工具箱比较大,只需要安装你需要的就可以了,我们这里使用的是R2020a。常用的Simulink,Stateflow,Embeded Coder, Simulink coder, 等工具箱都需要安装。
思维转变
小猿也像很多童鞋一样,我在2016年还是2017年左右第一次基于模型设计MBD, 开发了CAN通信,以及一些电机控制的模型,有一段时间非常痛苦,在刚开始的时候根本没法下手,思维的转变很重要,不能局限于传统的思维模式,要跳出,接受这种MBD新的设计方法,当你熟悉后确实会大大提高你的效率。通常我们用Simulink结合stateflow 建立开发模型,然后配置自动生成C代码,底层的可以使用之前的工程,也可以集成进工程。这里给几张图看下。
因为子模型文件比较多,这里就不一一列举了,主要是给大家一个感官上的认识,慢慢习惯这种开发方式,其实现在在很多汽车,新能源,变频器,储能,航空等项目上都在基于这种方式设计,以及一些大厂,像ABB, 丹佛斯, 艾默生,西门子,戴姆勒等公司。这些设计我们都在matlab的工具箱下完成。一键生成部署代码。这个stateflow的语法和C语言比较像,主要是思维转变后,很容易上手,但是要玩溜,还是得下点功夫。