概述
之前的文章中描述了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模型时采用数据字典可以方便我们对模块中需要用到的信号量进行统一管理,同时也可以为模块搭建完成后生成代码提供便利,方便编辑模块中所需要用到的数据。
最后
以上就是傲娇小鸭子为你收集整理的Simulink模型中行数据管理以及建立数据字典的方法的全部内容,希望文章能够帮你解决Simulink模型中行数据管理以及建立数据字典的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复