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

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

1 数据字典的概念

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

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

1.首先在matlab命令行输入’daexplr’,打开Model Explorer
2.点击File–New–Data Dictionary,在弹出的窗口中新建数据字典
在这里插入图片描述
3.在左侧的视图栏会出现刚刚建立的数据字典,选中Design Data分区
在这里插入图片描述
4.在上方的工具栏可以新建参数、信号等,并配置属性
在这里插入图片描述

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

假设有一模型demo.slx,
在这里插入图片描述
通过脚本根据Outport端口名称建立数据字典,Signal属性如下:

NameSignal1
Data Typesingle
Initial Value0
Storage ClassExportToFile
Header FileGlobal.h
Destination FileGlobal.c
OwnerJackson

需要通过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”的信号对象,属性如图所示
在这里插入图片描述
如果已有数据字典文件,则脚本改用Simulink.data.dictionary.open()即可添加数据字典内容。

>>返回个人博客总目录

  • 27
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值