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

应用层软件数据字典生成方法及规范

3 Simulink自带的数据字典文件

通过建立一个Simulink自带的数据字典文件(以sldd为后缀),并将其和Simulink模型关联,就可以实现数据对象的管理。

3.1 创建/导入数据字典文件

1. 创建数据字典文件 --> 命名--> 选择存储位置(建议与模型放在同一路径下)

2. 手动添加不同的变量

3. 除了手动添加的方式外,还可以从以下途径加载已有数据字典

1) 从workspace导入

2) 从其它mat文件导入 (推荐)

4. 也可以merge其它的sldd文件 (推荐)

通过方法 3和4,就能把其它工程师的数据字典合并起来,便于集成软件


若此处勾选,则会把工作空间的量也加载进来

如果有名字相同的信号或参数,则会自动识别并skip

3.2 在数据字典中定义枚举量

3.3 关联数据字典与模型

这个步骤非常关键

1. 打开Simulink模型–>Model Properties–>Link to Data Dictionary

2. 在弹出的窗口中选中Data Dictionary–>点击Browse…–>在弹出的路径中选中刚刚建立的demo.sldd

3. 点击Apply,这时会出现一个询问窗口,问我们要不要同时关联Matlab工作空间的数据对象。如果勾上了,就不会同时关联Matlab工作空间的数据对象,取消勾选则会同时关联。

4. 结果关联之后,在模型的路径下能看到数据字典

劣势:如果选择手动添加信号/变量的方法,则比较费时。更适用于已有初版数据字典的情况(比如第一次可用excel导入,生成数据字典),后期再用sldd维护

优势:

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

2. sldd数据字典中可以方便地筛选或者搜索数据对象

3. 可以从sldd文件中直接导出标准的.mat 文件 或者m文件

4. 有利于软件集成和正式交付


结果显示:(自动生成时间戳)


4 管理办法

应用层软件数据字典管理办法如下:

1. 数据字典建议使用mpt.signal, mpt.parameter

2. 与BSW交互的输入信号的数据存储类型建议定义为ImportedExtern,与BSW交互的输出信号的数据类型建议定义为ExportedGlobal。意为Simulink生成的代码不会重新申明变量,而是使用extern标志为外部引用变量,表示引用了之前在底层驱动中定义的变量

3. 开发前期可用excel整理/更新接口

4. 首次数据字典用脚本导入excel,自动生成数据字典

5. 工程师在开发/调试自己的软件模块时,可自由选择用脚本或者sldd来维护数据字典

6. 工程师交付模型时,必须同时交付模型.slx 和数据字典.sldd文件或规范的mat文件

5 附录

5.1 mpt.object 与simulink. object的区别

mpt.Parameter and mpt.Signal are advanced versions of Simulink.Parameter and Simulink.Signal. They are used to define custom data types for parameters and signals respectively.

mpt objects" have " CUSTOM ATTRIBUTES". That includes follows:

Memory Section: you can choose where you want your variables to go after the code generation.

Header File: you can mention your haeder file name in which you want to intialize that object.

Similarly Owner Definition & Persistence Level

mpt.object is recommended to use for code generation so that code placement (definition and declaration) will be controlled by SW developer, Variables are easy to handle in target specific compiler.

5.2 参考资料

1. Simulink代码生成:数据字典的建立、关联模型_u013288925的博客-CSDN博客_simulink数据字典

2. Simulink中枚举数据类型的使用方法 - 知乎 (zhihu.com)

3. what is the difference between simulink objects and mpt objects - MATLAB Answers - MATLAB Central (mathworks.cn)

编辑于 2021-11-10 14:55

文章被以下专栏收录