我是靠谱客的博主 顺利红牛,最近开发中收集的这篇文章主要介绍excel自动生成舒尔特表_Excel自动生成Simulink数据字典,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

d7945ec916240056d45633f845564c8a.png

上周脚主介绍了基于Simulink的嵌入式系统自动代码生成,今天我们谈一谈自动代码生成中最重要的一个环节:Excel一键生成DD数据字典

数据字典,是指对数据的数据项、数据结构、数据流、数据存储等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。一般包含数据名称、数据描述、数据类型、数据单位、存储类型等等属性。

基于Simulink的自动代码生成,必须做好Simulink信号、参数与对象的关联,这是保证Simulink信号与底层代码之间信号正常流通的关键,这里的对象就是通过数据字典定义的。

一般地,信号或参数对象可以通过Simulink工具栏进行一个个添加,或者通过写m文件进行定义。

2232023547c70672219a2bdceaf68f3f.png

48dd76428c6f77148f968822527e3228.png

以上两种方法对于输入输出信号、标定参数、观测参数较少的系统比较实用,但是对于汽车电控软件开发,往往就显得力不从心。

以纯电动整车控制器为例,其输入输出的CAN信号、模拟信号、数字信号等等种类繁多,在加上内部的标定量、观测量等等,信号、参数对象总和最多可能达到上万个。这么庞大的数据如果通过以上两种方式维护和管理,工作量将十分夸张,出错的概率也会很高。

对于Matlab,只要能通过鼠标操作完成的任务,代码就一定可以实现。对于重复性较强、创造性较弱的工作,就放心地交给代码去实现。

所以,工程上常常采用Excel的方式进行表格式的定义和管理,可读性强,进行数据整理、修改也十分方便。例如下图所示的Excel数据字典,对于某个子功能,通过三个表格定义输入信号、输出信号、标定参数的数据对象,对于每一个信号都可以清晰的看到它的信号描述、数据类型、存储类型等等参数。

15b262d5d6e2d1289f49bdd8321fa692.png

基于以上的Excel数据字典,通过20行左右代码就可以自动把Excel中定义的数据内容加载到Matlab的workspace中。

以输入信号为例,可以定义一个Excel到数据字典的转换m文件,通过xlsread获取Excel数据内容,利用for循环和eval命令实现对数据对象的属性定义,如下图。

57b6c32a7e2941fcbf3722c9a4c8a38c.png

b6648c2401fd890100b799bb034ec069.png

最后实现的效果就是把Excel中定义的x1、x2信号加载至workspace中,并且所有属性与Excel定义一致。

例如,生成的x1的定义如下图,其数据类型、初始值、最大最小值、单位、存储类型、描述都与Excel定义完全一致。

3c6d20688c9ae200fed5983c26fc63aa.png

a6fd4a4ce354ff8732c737147648f8e2.png

输出信号、标定参数当然也可以通过类似的方式实现。

工程上还有很多可以通过excel管理,然后代码自动操作的案例,这些小工具可以大大提高我们的工作效率,后面有机会脚主会继续介绍。

以上,介绍了通过Excel进行数据管理并自动生成数据字典的方法,更多关于代码自动生成的内容大家可参考以下书籍《Simulink代码生成技术入门到精通》。

最后

以上就是顺利红牛为你收集整理的excel自动生成舒尔特表_Excel自动生成Simulink数据字典的全部内容,希望文章能够帮你解决excel自动生成舒尔特表_Excel自动生成Simulink数据字典所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部