Matlab编程技巧:通过脚本创建/修改Simulink数据字典

Simulink数据字典中的配置影响了模型生成的代码。本文举例说明如何通过Matlab脚本创建或修改Simulink数据字典。

文章目录

  • 1 数据字典的概念
  • 2 手动创建/修改数据字典
  • 3 通过脚本创建/修改数据字典

1 数据字典的概念

数据字典中存储了Simulink模型中的数据信息和模型配置信息。在生成代码的时候,模型和数据字典一般是配套的。
数据字典通常分为两个分区,Design Data和Configurations,分别存储了数据信息和配置信息。
对于模型中的输入输出接口、观测量和标定量一般会在Design Data中定义好。模型的相关配置和生成代码的配置信息一般在Configurations中定义好,而不采用模型自身的配置。

2 手动创建/修改数据字典

1.首先在matlab命令行输入’daexplr’,打开Model Explorer
2.点击File–New–Data Dictionary,在弹出的窗口中新建数据字典
Matlab编程技巧:通过脚本创建/修改Simulink数据字典_第1张图片
3.在左侧的视图栏会出现刚刚建立的数据字典,选中Design Data分区
Matlab编程技巧:通过脚本创建/修改Simulink数据字典_第2张图片
4.在上方的工具栏可以新建参数、信号等,并配置属性
Matlab编程技巧:通过脚本创建/修改Simulink数据字典_第3张图片

3 通过脚本创建/修改数据字典

假设有一模型demo.slx,
Matlab编程技巧:通过脚本创建/修改Simulink数据字典_第4张图片
通过脚本根据Outport端口名称建立数据字典,Signal属性如下:

Name Signal1
Data Type single
Initial Value 0
Storage Class ExportToFile
Header File Global.h
Destination File Global.c
Owner Jackson

需要通过Simulink.data.dictionary类的方法完成数据字典的建立和修改,脚本如下:

function CreateSldd()
%创建Signal1的Simulink.Signal对象
    Signal1Obj = Simulink.Signal;
    Signal1Obj.DataType = 'single'; %类型
    Signal1Obj.InitialValue = '0'; %初始值
    Signal1Obj.StorageClass = 'ExportToFile (Custom)'; %存储方式
    Signal1Obj.CoderInfo.CustomAttributes.HeaderFile = 'Global.h'; %头文件
    Signal1Obj.CoderInfo.CustomAttributes.DefinitionFile = 'Global.c'; %源文件
    Signal1Obj.CoderInfo.CustomAttributes.Owner = 'Jackson'; %Owner
%创建数据字典并加入Signal1对象
    dictionaryObj = Simulink.data.dictionary.create('demo.sldd');
    sectionObj = getSection(dictionaryObj,'Design Data');
    addEntry(sectionObj,'Signal1',Signal1Obj);
end

运行脚本,会在Matlab当前路径创建demo.sldd的数据字典文件,里面包含了名为“Signal1”的信号对象,属性如图所示
Matlab编程技巧:通过脚本创建/修改Simulink数据字典_第5张图片
如果已有数据字典文件,则脚本改用Simulink.data.dictionary.open()即可添加数据字典内容。

>>返回个人博客总目录

你可能感兴趣的:(Matlab编程技巧)