MWORKS.Sysplorer基于数据字典管理模型参数应用案例

1引言
在面向微控制器的建模过程中 , 控制算法是可以复用到不同型号的同类产品中的 。 为了提高控制算法的可移植性 , 需要将模型与数据分开管理 。 如果不将模型与数据分开管理 , 直接将数据保存到模型中 , 即使在非批产的工程化应用或者小型项目中 , 也需要逐个点击模块进行修改 , 效率低且易出错 。 例如在上篇《基于MWORKS.Sysplorer的电子控制器应用案例-永磁同步电机FOC算法建模》中提到构建FOC算法模型后 , 需要给模型设置不同参数 , 就可使用数据字典统一管理算法模型中的数据 , 实现算法与数据分离 。
最新MWORKS.Sysplorer中的数据字典功能具有以下特点:模型与数据分离;数据字典独立存储 , 可重复使用;统一管理模型不同层级的参数信息;生成代码的可读性增强 。
此外 , 由于用户既存的Excel格式的数据字典 , 其列顺序各有不同 , 手动转换耗时且易出错 , MWORKS.Sysplorer增加了脚本命令 , 用于异构数据字典转化生成MWORKS.Sysplorer的modd数据字典文件 , 提高了兼容性 。
本篇将继续以永磁同步电机FOC为例 , 介绍如何使用MWORKS.Sysplorer数据字典 , 实现对FOC模型的数据管理 。
MWORKS.Sysplorer基于数据字典管理模型参数应用案例
文章图片
2什么是数据字典
2.1数据字典概念
数据字典是由多个数据对象组成 , 以数据对象形式存储模型中的参数、信号的详细信息的持久性数据库 。 数据字典与模型是多对多关系 , 以文件形式独立于模型存储 , 后缀为modd 。 简单来说 , 数据字典就是存储模型数据的容器 。
数据字典中的每条字典记录为一个数据对象 。 数据对象具体内容如下:标识符:参数/信号的别名(必填项) 。 描述:参数/信号的描述 。 值/初始值:模型中参数/信号的值/初始值(必填项) 。 维度:参数/信号的维度([]表示标量) 。 最小值:参数/信号的最小值 。 最大值:参数/信号的最大值 。 单位:参数/信号的单位 。 数据类型:参数/信号的数据类型 , 可选int、float、bool三种类型 。 存储类型:可选Auto、ExportedGlobal、ImportedExtern、ImportedExternPointe四种类型 。 ExportedGlobal表示生成内部定义的全局变量 , ImportedExtern表示导入外部定义的全局变量 , ImportedExternPointer表示导入指向外部定义的全局变量的指针 , 默认为Auto类型 。 文件名:将该变量生成代码时指定到该文件中 。
MWORKS.Sysplorer基于数据字典管理模型参数应用案例
文章图片
图2?1数据字典表头
2.2数据字典作用
数据字典具有管理模型参数的作用 。 例如 , 在MWORKS.Sysplorer中新建一个模型 , 其中有三个Constant模块 , 他们参数相同 , 都是1 。
MWORKS.Sysplorer基于数据字典管理模型参数应用案例
文章图片
图2?2示例模型(一)
如果要将其中的1改成5 , 就必须修改每个模块 。 如果Constant模块在模型的不同层级 , 还需要进入不同层级修改 , 改动重复且不可持续 。
MWORKS.Sysplorer基于数据字典管理模型参数应用案例
文章图片
图2?3示例模型(二)
因此可在数据字典中新建一个数据对象 , 让不同层级的Constant模块与其绑定 , 并在模型仿真时应用数据字典内容 , 到达模型数据统一管理 。
MWORKS.Sysplorer基于数据字典管理模型参数应用案例
文章图片
图2?4绑定数据对象
3如何使用数据字典
MWORKS.Sysplorer数据字典入口位置以及数据字典界面功能如下所示:
MWORKS.Sysplorer基于数据字典管理模型参数应用案例