概述
上周脚主介绍了基于Simulink的嵌入式系统自动代码生成,今天我们谈一谈自动代码生成中最重要的一个环节:Excel一键生成DD数据字典。
数据字典,是指对数据的数据项、数据结构、数据流、数据存储等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。一般包含数据名称、数据描述、数据类型、数据单位、存储类型等等属性。
基于Simulink的自动代码生成,必须做好Simulink信号、参数与对象的关联,这是保证Simulink信号与底层代码之间信号正常流通的关键,这里的对象就是通过数据字典定义的。
一般地,信号或参数对象可以通过Simulink工具栏进行一个个添加,或者通过写m文件进行定义。
以上两种方法对于输入输出信号、标定参数、观测参数较少的系统比较实用,但是对于汽车电控软件开发,往往就显得力不从心。
以纯电动整车控制器为例,其输入输出的CAN信号、模拟信号、数字信号等等种类繁多,在加上内部的标定量、观测量等等,信号、参数对象总和最多可能达到上万个。这么庞大的数据如果通过以上两种方式维护和管理,工作量将十分夸张,出错的概率也会很高。
对于Matlab,只要能通过鼠标操作完成的任务,代码就一定可以实现。对于重复性较强、创造性较弱的工作,就放心地交给代码去实现。
所以,工程上常常采用Excel的方式进行表格式的定义和管理,可读性强,进行数据整理、修改也十分方便。例如下图所示的Excel数据字典,对于某个子功能,通过三个表格定义输入信号、输出信号、标定参数的数据对象,对于每一个信号都可以清晰的看到它的信号描述、数据类型、存储类型等等参数。
基于以上的Excel数据字典,通过20行左右代码就可以自动把Excel中定义的数据内容加载到Matlab的workspace中。
以输入信号为例,可以定义一个Excel到数据字典的转换m文件,通过xlsread获取Excel数据内容,利用for循环和eval命令实现对数据对象的属性定义,如下图。
最后实现的效果就是把Excel中定义的x1、x2信号加载至workspace中,并且所有属性与Excel定义一致。
例如,生成的x1的定义如下图,其数据类型、初始值、最大最小值、单位、存储类型、描述都与Excel定义完全一致。
输出信号、标定参数当然也可以通过类似的方式实现。
工程上还有很多可以通过excel管理,然后代码自动操作的案例,这些小工具可以大大提高我们的工作效率,后面有机会脚主会继续介绍。
以上,介绍了通过Excel进行数据管理并自动生成数据字典的方法,更多关于代码自动生成的内容大家可参考以下书籍《Simulink代码生成技术入门到精通》。
最后
以上就是顺利红牛为你收集整理的excel自动生成舒尔特表_Excel自动生成Simulink数据字典的全部内容,希望文章能够帮你解决excel自动生成舒尔特表_Excel自动生成Simulink数据字典所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复