龙空技术网

Simulink代码生成之数据管理(下)

阿Q在江湖 120

前言:

此时同学们对“simulink生成c代码 怎么调用”大约比较关怀,兄弟们都想要学习一些“simulink生成c代码 怎么调用”的相关内容。那么小编同时在网摘上网罗了一些有关“simulink生成c代码 怎么调用””的相关内容,希望咱们能喜欢,你们一起来学习一下吧!

欢迎关注我的微信公众号/知乎专栏【新能源动力电池与BMS】,头条号:阿Q在江湖。所有文章资料会在公众号首发。

本文同步视频教程:Simulink代码生成之数据管理(2)_视频教程

上文Simulink代码生成之数据管理(1)讲到Simulink数据管理可以选择两种方法,默认是通过Base Workspace(基本工作空间),另一种是通过Data Dictionary(数据字典)。上文主要是讲通过Base Workspace进行数据管理,本文讲讲Data Dictionary(数据字典)的数据管理方法。

1. 什么是数据字典?

通常来说,数据字典就相当于一个大的集合,里面包含你设计的各种数据,比如说Signal ,Parameter等,并且规定了各种数据的属性及数据结构,功能比较强大,

比如说数据的变更追踪,数据持久保存等。而大型的项目开发,模型结构比较复杂,可能包含几百上千个Signal与Parameter,数据对象通过数据字典来创建和存储可能会更加方便。

同样,先来新建一个数据字典,也是在Simulink菜单栏选择File-->> Model Properties,选择Data Dictionary,点击NEW,命名后保存好。

2. 信号管理(Signal)

Ø 在模型中,依然需要设置我们关心的输入输出三个Signal的,命名为a, b, out后,绑定到数据字典对象中操作。下图显示绑定Signal对象到数据字典中的步骤,这里直接打开Model Explorer, 在对话框操作。

Ø 图显示,绑定成功后,模型中Signal名称旁边会显示有特殊标识。接下来,就可以在数据字典中设置Signal的属性了。

Ø 再次打开Model Explorer对话框,按下图中步骤,选择到之前新建的数据字典名称,选择增加Signal,依次新建a, b, out三个变量名(必须与模型中新建的Signal名称同名,这样才能绑定),修改Signal三个属性:名称(Name)、数据类型(Data Type)、存储类型(Storage Class).

以上就已完成了Signal信号的属性修改,存储类型(Storage Class)依然选择全局变量,需知道Signal是存储在MCU中的RAM中的。

3. 参数管理(Parameter)

同样,可标定的参数是存储在MCU中的ROM中的,下图模型中我们将其定义为k1和k2。

Ø 打开Model Explorer,按照以下步骤新建Parameter,并设置参数属性。这里Parameter属性比Signal属性多一个Value,即参数是必须有初值的,必须设置(步骤4),将k1与k2分别设置为15和5,其中存储类型(Storage Class)也是选择全局变量。

4. 生成C代码

按Ctrl + B ,生成C代码,Signal与Parameter的数据类型、算法可读性等,与基于Base Workspace的数据管理方式生成的代码内容完全一样。

5. 保存数据字典

最后,别忘了在Model Explorer中右键保存数据字典中的设置和修改项,以便下次重新打开模型时直接使用。

总结

本文介绍了Simulink嵌入式代码生成中的数据管理中的基于数据字典的方法。它与基本工作空间(Base Workspace)相比,在管理复杂模型的数据时会更加方便,也易于保存和变更追踪。不过生成的C代码并没有区别。

标签: #simulink生成c代码 怎么调用 #simulink如何生成c代码 #simulink输入一个变量