--- layout: post title: "MBD构建数据字典" #这是文章正标题 subtitle: '基于模型设计的若干问题' #这是副标题 date: 2020-01-09 #时间 author: GYS #作者 header-style: text #标题格式 header-img: img/2020-01-09-bg.jpg #这篇文章标题背景图片 header-mask: "0.1" # 博文页面上端的背景图片的亮度,数值越大越黑暗 catalog: true # 开启catalog,将在博文侧边展示博文的结构 istop: false # 设为true可把文章设置为置顶文章 music-id: # 网易云音乐单曲嵌入 music-idfull: # 网易云音乐歌单嵌入 apserver: netease # 音乐平台netease/tencent/kugou/xiami/baidu aptype: playlist # 音乐类型song/playlist/album/search/artist apsongid: 3136773942 # 音乐song/playlist/album id tags: - MATLAB - MBD - Software --- ## MBD的数据字典(结构体) ### 存储格式 1. mat 2. sldd ### 使用mat方式 * 搭建系统模型,关键的模块(Bus Selector,Bus Creator) * Bus Selector 输出个数取决于输入的信号类型,不能自定义更改。 * Bus Creator 输入个数可以自定义修改。 * 输入信号需要定义为bus类。 * **Bus Creator全部勾选output as nonvirtual bus,输出数据按输入信号定义** * **在信号线上重命名,右键参数配置,勾选signal name must resolve to simulink signal object** * **图中的所有数据都需要在数据字典里定义(信号,变量,总线)** ![仿真图](/img/mbdsldd-bg.jpg) #### 构建数据字典 * Tools -> Model Explorer -> Add(Base Workspace) -> (parameter signal bus) * 对于信号、变量的类型设置一般设置为exportedglobal * 对于bus类型,launch bus editor -> add bus element * 对于嵌套的bus类型,先添加bus element后,将datatype改为对应的bus类 * code -> c++ code -> code generation options(勾选必要的显示) * code -> c++ code -> build model ### 使用sldd方式 * 搭建方式如mat一般 * **mat自定义保存到base workspace中,具体关闭模型、软件后,数据丢不丢失未知,当然每次可以直接加载mat文件到workspace中;使用sldd代替mat,即保存为sldd格式文件,可重复加载到模型中** #### 具体操作 * **file -> link to data dictionary -> new -> xxx.sldd** * **或者migrate data 将base workspace中的数据字典copy到sldd中,完成了mat ->到sldd格式的变换**