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

2024-09-03 11:38

本文主要是介绍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,在弹出的窗口中新建数据字典
在这里插入图片描述
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()即可添加数据字典内容。

>>返回个人博客总目录

这篇关于Matlab编程技巧:通过脚本创建/修改Simulink数据字典的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132871

相关文章

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁