系统工程师在 Excel 里维护了完整的信号和参数清单,软件工程师需要在 Simulink 数据字典(.sldd)里把这些变量一个个配好存储类、数据类型、头文件……几百个变量,复制粘贴到手软。
更痛苦的是,Excel 改了一版,数据字典又得重新来一遍。反过来,数据字典里调好的内容要倒回 Excel 给系统工程师核对?无从下手。
这个工具能干什么
AutoCreateSldd 是一个 MATLAB App Designer 桌面应用。你给它一个 Excel 文件,它可以:
✅ 生成 Simulink 数据字典(.sldd)——正向同步 ✅ 从数据字典导出回 Excel——反向同步 ✅ 生成标准 Excel 模板——填数据直接用 ✅ 校验数据合法性——减少低级错误
打开 .mlapp 文件就能用,不需要敲命令。
正向同步:Excel → .sldd
这是最核心的流程,在工具里点一个按钮就能完成。背后的处理逻辑比想象中要周全:
第一步:生成中间脚本
工具会读取 Excel,为每个变量生成对应的 Simulink 对象创建代码。生成的 .m 脚本是可见、可编辑的——你可以打开检查,没问题再往下走。
第二步:在工作区创建对象
在 MATLAB 基础工作区创建所有 Simulink 数据对象。
第三步:写入 .sldd
写入时不是简单粗暴地全部覆盖,而是逐条对比:
最后会告诉你:新增了几个、修改了几个、跳过了几个。你之前在数据字典里手动改过的东西,不会被胡乱抹掉。
支持的对象类型
.m 类定义 |
自定义存储类
你在 Excel 中给变量指定了自定义存储类(如 ExportedGlobal、BitField、GetSet 等)和对应的 Package,工具能够正确识别并设置到 Simulink 对象上——生成代码时变量会自动出现在你期望的内存 Section 中,不需要手动一个个配。
反向同步:.sldd → Excel
团队协作中,经常需要把数据字典的最新状态导出给系统工程师核对。点击工具里的 「SLDD → Excel 反向同步」 按钮:
读取 .sldd 中的条目,按 Signal / Parameter / Const / Bus / BusElement 分类 扫描目录下的 Enum 类定义文件 写回 Excel
格式完全保留——颜色、字体、冻结行、下拉列表都和原来一样。不只如此,Excel 里原来缺失的内容也会自动补全:比如系统工程师漏填了某个信号的数据类型,你在数据字典里配好后反向同步回去,Excel 对应位置会自动填上。对方收到直接就能看,不用再手动补一遍。
数据校验
填 Excel 时难免有疏漏——必填列空了、变量名重复了、Bus 引用了不存在的总线……工具内置了校验功能,点一下就能检查出来,避免写到一半才发现问题。
图形界面长什么样
打开 .mlapp 后,界面布局很清晰:

- 文件与输出区
——选择 Excel 文件、设置 .sldd 路径 - 工作表选择区
——勾选你要导入的 Sheet - 操作按钮区
——校验 / 预览 / 生成脚本 / 完整导入 / 反向同步 - 预览区
——实时查看工作表内容和生成结果 - 日志区
——每一步操作的记录
不需要记任何 MATLAB 命令,点几下鼠标就能完成整个同步流程。
环境要求
MATLAB R2020b+ + Simulink Python 3 + openpyxl(仅反向同步 SLDD→Excel 时需要)
怎么用
三步搞定:
① 双击 .mlapp 打开工具 → 点击「生成模板」② 在生成的 Excel 里填好变量③ 回到工具 → 勾选工作表 → 点击「完整导入到 SLDD」没有复杂的配置,不需要设环境变量。
如果你也在做 Simulink 相关的嵌入式开发,每天跟信号、参数、总线定义打交道,这个工具能让 Excel 和数据字典的同步变成几分钟的事。
夜雨聆风