Simulink模型中行数据管理以及建立数据字典的方法

之前的文章中描述了simulink一些功能模块的搭建和stateflow逻辑验证相关的方法,我们在使用模型搭建和状态流逻辑设计的过程中不可避免的需要牵涉到很多数据或者信号,这些信号笼统的可以分为三大类:输入信号、输出信号和内部信号。
输入信号:物理上包括外部采集的控制或诊断信号,功能上包括其他模块的标志位信号或是待本功能模块处理的数据等
输出信号:包括报文信号,输出量
内部信号:一些模块功能内部需要使用的局部数据
对这些信号进行有效的清晰地管理可以方便内部stateflow的逻辑搭建,也可以为自动生成代码提供清晰的数据结构体。其中一个有效的方法就是建立数据字典,那么怎么进行数据字典呢?
首先,打开已经建立的或者自己打算搭建的model文件,我将以一个已经建立好的KL_15电的模块功能为例
在这里插入图片描述
点击model explorer打开模型浏览界面
在这里插入图片描述

在左侧模型侧次中依次选择Simulink Root->KL_15->External Data 默认状态下只有Base Workspace即基本工作区,我们不在基本工作区中添加输入输出等信号,原因在于基本工作区有时候会将用到的Matlab数据自动加载进来,不论是根目录下或者子目录下的基本工作区都容易在模块运行时受到数据污染,所以在External Data目录下手动添加数据字典文件,方法很简单
在这里插入图片描述
点击External Data栏目可以在右侧看到添加或者打开已有数据字典文件,以本模块为例,创建KL_15DIC.sldd
在这里插入图片描述

建立数据字典文件以后打开,可以在add功能下添加自己模块所需要的信号数据了,数据默认是double类型,建议根据实际需求更改数据类型方便节约资源,毕竟嵌入式系统内存是有限的,而且更少的资源可以带来更高的效率。
值得一提的是,如果你需要用到的数据类型不是默认类型,比如本模块中我就要用到自定义的枚举和总线bus信号类型,那就需要先创建类型,方法也很简单,点击add在下来菜单中选择Simulink NumericType创建枚举,点击Simulink Bus创建总线信号。
在这里插入图片描述
在这里插入图片描述
枚举量以及总线成员都可以右侧Design栏进行编辑。这里IG属于汽车点火信号,所以分为off、on、acc、crank四挡。总线信号直接采用simulink模块内提供的常用CAN报文结构成员使用非常方便,包括了length、remote、error、id、timestamp、data等结构成员,实际使用时不需要的可以不用。

小结:当建立simulink模型时采用数据字典可以方便我们对模块中需要用到的信号量进行统一管理,同时也可以为模块搭建完成后生成代码提供便利,方便编辑模块中所需要用到的数据。

  • 3
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Simulink中,数据字典是一种用于管理模型参数和变量的工具。数据字典可以帮助您集中管理模型使用的所有参数和变量,并提供一种方便的方式来进行定标和配置。以下是关于Simulink数据字典定标的两种方法: 1. 使用数据字典编辑器进行定标[^1]: - 打开Simulink模型,然后选择“模型”选项卡中的“数据字典”按钮。 - 在数据字典编辑器中,您可以创建新的数据字典或打开现有的数据字典文件。 - 在数据字典中,您可以定义参数和变量,并为它们指定初始值、单位和其他属性。 - 您还可以使用数据字典编辑器中的定标工具来指定参数的最小值、最大值和步长。 - 保存数据字典并将其与模型关联,以便在模型使用定义的参数和变量。 2. 使用MATLAB脚本进行定标: - 打开MATLAB命令窗口,并导航到包含Simulink模型的文件夹。 - 创建一个MATLAB脚本,并使用Simulink.data.dictionary.create函数创建一个新的数据字典。 - 使用Simulink.data.dictionary.open函数打开数据字典。 - 使用Simulink.data.dictionary.createSection函数创建一个新的部分,并使用addEntry函数添加参数和变量。 - 使用setValue函数为参数和变量指定初始值、单位和其他属性。 - 使用setValue函数为参数指定最小值、最大值和步长。 - 保存数据字典并将其与模型关联,以便在模型使用定义的参数和变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WeLikeStudy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值