[simulink] --- 数据字典
创始人
2025-05-31 03:11:52
0

1 simulink数据字典的概念

简单来说,数据字典的作用就是把一个模型用到的所有数据对象都统一放到一个地方管理起来。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 建立数据字典并关联模型

4.1 建立数据字典

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
在这里插入图片描述

至此,数据字典文件创建完成,一个常数对象添加到数据字典中。接下来就要把数据字典和模型相关联起来。

4.2 数据字典与模型关联

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文件。

相关内容

热门资讯

走进小城看消费丨江西资溪:低碳...   夏日时节下午4点,江西省抚州市资溪县大觉山景区漂流终点依然热闹。来自南昌的游客余鑫漂流结束后没有...
【中原晨会0625】市场分析专... 来源:市场资讯 (来源:中原证券研究所) 本期重点研报目录 【中原策略】市场分析:电子半导体领涨 ...
南向资金连买4日!低费率+可月... 6月25日早盘,港股红利资产震荡整理。截至11时14分,港股红利低波ETF招商(520550)下跌0...
618成交破百万!紫荆花用一套... 一年一度的618年中大促,是消费市场的晴雨表,也是品牌间最激烈的角力场。当各大品牌在直播间里铆足了劲...
原创 黄... 2026年6月25日的国际金价已经从前期的5500美元高点跌到4200美元下方,累计跌幅超过22%,...
英伟达CEO:Vera Rub... 截至9:38,中证半导体材料设备主题指数(931743)涨2.36%创新高;权重股中,中微公司涨3....
再被催债16亿!“钢铁大王”戴... 澎湃新闻记者 贺梨萍 因“铁本事件”入狱五年的戴国芳重返钢铁行业,但他并没有完成从阶下囚再到“钢铁大...
周三原油价格下跌 随着美国和伊朗在和平谈判中取得进展,越来越多的油轮公开穿越霍尔木兹海峡,原油在战时的价格上涨已经蒸发...
这种蛋白是大脑衰老的开关 这种蛋白是大脑衰老的开关 清晨,假设一位五十岁左右的王女士发现自己常常把手机放在熟悉的抽屉里又找不到...
信通院牵头算力Token出海生... 盘面上,截至11:04,中证科创创业50指数(931643)涨1.68%,创历史新高;权重股中,芯原...
海外 774 亿营收背后:日本... 文 | 游戏价值论 6月23日,彭博社报道了腾讯正在围绕出售多家日本游戏工作室少数股权开展谈判,包...
餐饮“抢人”大战:把店开到公交... 作者 |餐饮老板内参 内参君 医院、公交站、演唱会…餐饮品牌,正在无孔不入 在北京儿童医院,肯德基...
快讯 | 外资扫货!陈翊庭:港... 港交所行政总裁陈翊庭在接受《中国证券报》专访时指出,国际资本对中国资产的看法已彻底扭转,布局中国市场...
2777.77元!A股“股王”... 25日早盘,昨天创下历史新高的A股“股王”联讯仪器,今天上午继续走强,盘中股价再度刷新历史新高。 截...
原创 今... 欧洲自己的媒体直接下结论,欧盟衰退躲不掉,内部分裂拦不住,现在就连欧洲顶尖工业巨头,都偷偷在用中国的...
黄仁勋股东大会放言:本轮AI基... 在当地时间6月24日的英伟达(NVDA.O)2026年度股东大会上,股东批准了该公司全部10名董事会...
国际油价大跌 新华社消息, 纽约原油期货主力合约价格24日盘中跌破每桶70美元,为伊朗战事爆发以来首次。 市场分析...
马云带队插秧,什么信号? 一场别开生面的“务农”,让外界看到了一个不一样的阿里巴巴。 近日,阿里巴巴合伙人、高德董事长刘振飞在...
全球最大产能,最高丰度达99.... 本文转自【科技日报】; 6月23日,高丰度硼-10同位素技术暨产业化成果发布会在山东省东营市举办,全...
黄金大跳水!金饰克价年内暴跌近... 25日,现货黄金盘中震荡,截至发稿,报3985.070美元/盎司,跌0.17%。 当地时间24日,...