Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)

我们先来建立一个数据字典

                     Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第1张图片

                             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第2张图片

我们看到新建立一个sldd文件,模型当中也会出现箭头所示的。

                     Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第3张图片

                    Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第4张图片

 

我们把箭头那点开,我们就看到右边那个

                   Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第5张图片

命名好信号线,并把右边的勾上

                  Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第6张图片

我们把这些基本定义的量,给命名一下

                 Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第7张图片

在数据字典中建立对应的信号类,并把名字对应上

               Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第8张图片

需要注意的是:我们要选择好存储数据类,并把初值定义好,把数据类型要定义好。

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第9张图片

我们再来定义一下结构体的名字

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第10张图片

途中圈起来的模块,在我们的C代码里这应不应该是一个函数呢,在我们生成的代码里面着能不能也生成一个函数呢

              Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第11张图片

 

答案是:完全可以的,请按照下买你的的操作进行

 

选中模型中的模块,并勾上右边圈上的,并按照箭头上面所选择的一样去选择

                Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第12张图片

               Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第13张图片

图中圈起来的模块不能包含在我们所生成的函数中去,不然辉出现报错

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第14张图片

 

最后我们看一下生成的代码

常数生成的标定量

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第15张图片

            要串口发送的数据的结构体

              Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第16张图片

串口发送时需要调用的数据

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第17张图片

这里我们看到所生成的PID_Controler的函数,函数接口也是非常规范,可读性也是非常好的

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第18张图片

 

我们再来用MDK查看一下我们所生成的代码

跟刚刚查看的代码是一样的,所生成的也是符合我们的要求的;

             Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典)_第19张图片

本节所需的全部文件代码如下,请自行下载:

链接:https://pan.baidu.com/s/10C9xdvA-wAwmDGp5ifVVpg 
提取码:iqw1 

 

如有疑问请留言

 

                                    

你可能感兴趣的:(Matlab/Simulink 自动代码生成 基于模型设计学习教程(16)---- 生成代码优化(建立数据字典))