在手写代码时,我们经常能看到自定义数据类型别名,例如有些代码中将计算机默认的数据类型改为我们自己习惯的名称,如图所示。
一. 系统默认生成的别名
首先我们来回顾一下上一节生成的代码,打开 Calculation.h ,可以看到系统默认的数据类型别名如下,这并不是我们所熟悉的,看起来十分别扭。不知道代码如何来的可以去翻看我上一节文章。
链接: Simulink自动代码生成:原子子系统(Atomic Subsystem)
二. 建立Simulink AliasType
(1)首先在工具栏找到 Model Explorer 并双击打开。
(2)建立一个数据字典,这里我导入了第二节建立的数据字典,还不会建立数据字典的可以查看之前的文章。
链接: Simulink自动代码生成:数据字典的建立及代码优化
(3)选择Add->Simulink AliasType 建立数据类型别名,将名字改成我们想要的或是公司要求的名称,例如笔者将double类型定义成FLOAT64,boolean定义成BOOLEAN等(这里是随意定的,为了做演示用),定义的别名和实际的数据类型一定要一一对应。
(4)全部定义好后如图所示,笔者只是定义了部分,作为演示。若大家不需要这么多可以进行删减,若需要更多可以自行定义,全部定义后保存并退出就可以了。
三. 修改Data Type Replacement
在定义好 Simulink AliasType 后,要将定义应用到代码生成中,还需要对 Code Generation 进行配置,配置如下,将数据类型别名替换为我们刚刚定义的。
四. 数据类型别名修改后的代码
编译并生成代码,可以发现 Calculation.h 中数据类型别名变成了我们自行定义的,这样代码看起来终于像亲生的了。
替换的数据类型定义在 rtwtypes.h 中,如图所示。
我们所定义的数据类型不仅仅可以在代码生成时使用,在配置模块属性的时候也可以用,例如我们双击一个输入引荐,在选择 DataType 时可以看到我们自己定义的数据类型,比如UINT16。打开其它模块在配置数据类型时同样可以使用。
五. 总结
本节对数据类型的别名进行了定义,代码得到了优化,接下来我们还会对代码进行优化,直到生成的代码符合编程习惯。