添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1 数据字典的作用

简单来说,数据字典的作用就是把一个模型用到的所有数据对象都统一放到一个地方管理起来。Simulink中,数据对象包括信号对象、参数对象、枚举量、常量等。也就是说,数据字典是很多个数据对象的集合。

2 数据对象的简单概念

举个最简单的数据对象的例子,新建一个Simulink模型,其中有3个Gain模块,他们的放大参数相同,都是2。
在这里插入图片描述
如果要修改的话,就必须每个模块都打开来,把其中的2改成3,会很麻烦。为了解决修改很麻烦的问题,可以在Matlab工作空间建立一个常量Gain_Const=2,再把Gain模块中的放大参数改成Gain_Const常量,如下图所示。需要修改的时候直接把值改成3就行了。这里的Gain_Const就是一个常量的数据对象
在这里插入图片描述
在这里插入图片描述

3 数据对象的管理方式

上一节例子中Simulink模型在仿真的时候可以关联到Matlab工作空间中的Gain_Const常量。但这么做有一个问题,那就是下次重启Matlab的时候,工作空间里的Gain_Const常量就没了,要重新添加进去,才能仿真Simulinnk模型。

因此,要把这些个数据对象保存到本地,然后仿真的时候要加载进工作空间才行。至于怎么把数据对象本地化,博主见过有3种管理方法。

3.1 mat文件或m文件

右键选中Matlab工作区中的所有数据对象(上面的例子里只有一个),将它们另存到本地的mat文件或m文件中。路径最好在Simulink文件的相同路径下。
在这里插入图片描述
在每次打开demo.slx模型前,都把这个demo.mat文件加载到Matlab工作空间中。
在这里插入图片描述
博主认为这么做会有些弊端。首先,每次加载一下文件会很麻烦,不过这还是可以忍受的。比较关键的是,查找和修改数据对象不方便。在企业级项目中,模型往往都很大,里面包含的数据对象非常多,工作区会有许多数据对象,非常不好找。

因为这些弊端,所以很多项目都不用这种原始的方式管理数据字典。

3.2 Excel表格&m脚本

这种方式是把所有的数据对象都写进一个表格中,包括数据对象的类型(信号对象、枚举量、常量等)、参数(包括维度、初始值、StorageClass等)和数值都按照一定的规范列在表格中。然后通过写一个Matlab脚本,把表格中的数据对象定义写到工作空间中。

这个方法本质还是工作空间中的数据对象,但是因为引入了表格,使得数据对象的搜索和查找变得更容易了。不过依然避免不了手动加载到工作空间这一步骤,改一次表格的内容,就要重新运行一次脚本,也是挺麻烦的,所以博主也不推荐。

3.3 Simulink自带的数据字典文件

通过建立一个Simulink自带的数据字典文件(以sldd为后缀),并将其和Simulink模型关联,就可以实现数据对象的管理。博主强烈推荐,下一章会举例讲解sldd文件的建立和关联。

4 建立和关联Simulink数据字典文件

1.打开模型上方工具栏的Model Explorer
在这里插入图片描述
2.File–>New–>Data Dictionary建立一个数据字典,将其命名为demo.sldd,保存在Sminulink文件同一个路径下。
在这里插入图片描述
在这里插入图片描述
3.选中demo下的Design Data,点击上方的Add Matlab Variable,这时中间的数据字典展示栏会显示一个默认的名为“Var”的常量对象。
在这里插入图片描述
4.将它的Name修改为Gain_Const,Value改为2.
在这里插入图片描述
5.右键demo–>Save Changes
在这里插入图片描述
至此,数据字典文件创建完成,一个常数对象添加到数据字典中。接下来就要把数据字典和模型相关联起来。
1.打开Simulink模型–>Model Properties–>Link to Data Dictionary
在这里插入图片描述
2.在弹出的窗口中选中Data Dictionary–>点击Browse…–>在弹出的路径中选中刚刚建立的demo.sldd
在这里插入图片描述
3.点击Apply,这时会出现一个询问窗口,问我们要不要同时关联Matlab工作空间的数据对象。如果勾上了,就不会同时关联Matlab工作空间的数据对象,取消勾选则会同时关联。
在这里插入图片描述
这里博主比较喜欢同时关联,因为可以方便用工作空间中的东西调试模型。不过如果工作空间和demo.sldd中有着同名对象,仿真模型则会报出冲突的错误。

4.这里就关联好sldd文件了,模型上面会出现一行关联成功的提示。
在这里插入图片描述
至此,关联数据字典也就完成了,接下来可以仿真模型或者生成代码。
在这里插入图片描述

5 sldd数据字典的一些说明

1.首先,建立sldd数据字典并关联模型后,在Model Explorer中关掉它也可以正常仿真Simulink模型和生成代码.这就意味着,仿真模型前不需要加载数据字典文件,比前两种每次都要加载的方法要方便。

2.sldd数据字典中可以方便地筛选或者搜索数据对象,如图所示。 在这里插入图片描述
3.sldd数据字典要在Matlab地路径列表中,或者在当前路径下。所以最好把sldd数据字典命名为和模型相同,并和模型放在同一路径下。模型拷贝和传输地时候也带上sldd文件。

博主现在地工作中已经淘汰掉Excel关联数据字典地方式,而是全线采用Simulink自带的sldd数据字典。所以十分推荐使用sldd数据字典,以后的博客在讲数据对象配置的时候,也是在sldd数据字典中配置的。

>>返回个人博客总目录

本文介绍如何建立Simulink数据字典,并关联模型。文章目录1 数据字典的作用2 数据对象的简单概念3 数据对象的管理方式3.1 mat文件或m文件3.2 Excel表格&m脚本3.3 Simulink自带的数据字典文件4 建立和关联Simulink数据字典文件5 sldd数据字典的一些说明6 总结1 数据字典的作用简单来说,数据字典的作用就是把一个模型用到的所有数据对象都统一放到一个地方管理起来。Simulink中,数据对象包括信号对象、参数对象、枚举量、常量等。也就是说,数据字典是很多个
简单来说, 数据字典 的作用就是把一个 模型 用到的所有数据对象都统一放到一个地方管理起来。 Simulink 中,数据对象包括信号对象、参数对象、枚举量、常量等。也就是说, 数据字典 是很多个数据对象的集合。 MATLAB自带的 数据字典 sldd 文件,支持与 模型 绑定,无需手动加载,且在工作空间直接进行变更保存,每次改动的数据在保存之前会标示提醒,可以方便的筛选或搜索数据。当一个 模型 对于不同仿真环境设置不同的数据时, 数据字典 会很方便切换使用。且 sldd 文件可以导出为mat文件或m文件,且导出m文件时会自动生成时间戳。....
新建变量的脚本示意: yGlTmHpc_B_HmPmpDyRnPerm = xxx_Pkg.Signal; yGlTmHpc_B_HmPmpDyRnPerm.CoderInfo.StorageClass = 'Custom'; yGlTmHpc_B_HmPmpDyRnPerm.CoderInfo.Alias = ''; yGlTmHpc_B_HmPmpDyRnPerm.CoderInfo.Alignment = -1; yGlTmHpc_B_Hm
Matlab—— Simulink 输出的数据怎么利用plot函数绘图1.将需要导出的数据添加至To Workspace模块。2.设置To Workspace模块的名称并配置好模式,一般选择array。3.运行仿真程序。4.查看matlab工作区,out中即为导出的数据。5.绘图示例 1.将需要导出的数据添加至To Workspace模块。 2.设置To Workspace模块的名称并配置好模式,一般选择array。 3.运行仿真程序。 4.查看matlab工作区,out中即为导出的数据。 5.绘图示
数据字典 是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。 数据字典 (Data dictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。主动 数据字典 是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的 数据字典 数据字典 的主要作用: 数据字典 和数据流图共同构成系统的逻辑 模型 。没有流图
Simulink 是一款强大的系统级建模工具,可以用于 建立 各种复杂的 模型 。一旦你完成了一个 模型 ,你可以使用 Simulink 自带的 代码生成 器,将你的 模型 转换成 C 或者 C++ 代码。同时也可以生成 MATLAB 代码。 要生成 MATLAB 代码,可以在 Simulink 模型 中选择“Generate Code”选项,然后选择“MATLAB Function”作为生成的代码类型。然后按照你的需要进行配置,最后点击“Generate”按钮即可。 如果你想生成 C 或者 C++ 代码,可以选择“Embedded Coder”作为生成的代码类型。然后同样按照你的需要进行配置,最后也是点击“Generate”按钮生成代码。生成的代码可以直接嵌入到你的嵌入式系统中运行。