如何在Simulink定义全局变量?—Data Store Memory模块

如何在Simulink定义全局变量?—Data Store Memory模块在 simulink 建模过程中 不提倡使用 Data Store Memory Data Store Read Write 模块 因为它会降低模型可读性 且给后续的模型测试带来问题

欢迎大家来到IT世界,在知识的湖畔探索吧!

在simulink建模过程中,不提倡使用Data Store Memory、Data Store Read/Write 模块,因为它会降低模型可读性,且给后续的模型测试带来问题。但是,有时候为了实现某些策略,又不得不使用该模块,比如:需要在一个模块中实现对同一个全局变量的读取和赋值。今天主要是以简单的例子介绍Data Store Memory模块使用的方法。

如何在Simulink定义全局变量?—Data Store Memory模块


1.Data Store Memory相关模块

Simulink中的Data Store Memory模块用于定义并初始化一个命名的共享数据存储,即一个内存区域,供指定相同数据存储名称的Data Store Read和Data Store Write模块使用。这个内存区域可以被具有相同数据存储名称的多个Data Store Read和Data Store Write模块访问。

Data Store Memory 库: Simulink / Signal Routing 常用参数: (1)数据存储名称 — 数据存储的名称 A (默认) | 字符向量 | 字符串 (2)全部重命名 — 用于在整个模型中重命名数据存储的选项 (3)数据类型-用于定义存储的类型 

欢迎大家来到IT世界,在知识的湖畔探索吧!

如何在Simulink定义全局变量?—Data Store Memory模块

Data Store Memory模块名称和重命名参数

如何在Simulink定义全局变量?—Data Store Memory模块

初始化参数

如何在Simulink定义全局变量?—Data Store Memory模块


2.模块的特性和使用范围

(1)数据存储的创建和初始化

Data Store Memory模块定义了一个命名共享数据存储,这个内存区域可以被具有相同数据存储名称的多个Data Store Read和Data Store Write模块访问

在Simulink模型中,可以通过Data Store Memory模块对话框来定义和初始化数据存储,指定数据存储的大小和类型。

实例1

如何在Simulink定义全局变量?—Data Store Memory模块

运行结果

如何在Simulink定义全局变量?—Data Store Memory模块

(2)数据读取和写入

Data Store Read模块可以从Data Store Memory中读取数据,而Data Store Write模块可以将数据写入Data Store Memory。

实例2

如何在Simulink定义全局变量?—Data Store Memory模块

运行结果

如何在Simulink定义全局变量?—Data Store Memory模块


(3)模块的范围

Data Store Memory模块的位置决定了哪些Data Store Read和Data Store Write模块可以访问它。

1.如果Data Store Memory模块位于顶层系统中,则模型中任意位置的Data Store Read和Data Store Write模块都可以访问它

2.如果位于子系统中,则只有同一子系统或其下属子系统中的Data Store Read和Data Store Write模块可以访问它。

3.引用的模型中无法使用顶层模型中的Data store memory定义的变量。

实例3

如何在Simulink定义全局变量?—Data Store Memory模块

子系统内容

如何在Simulink定义全局变量?—Data Store Memory模块


(4)使用场景

Data Store Memory模块常用于在Simulink模型中保存中间结果或全局变量,以便在模型的多个部分之间共享数据。

例如,在一个数据采集模型中,可以使用Data Store Memory来保存采集到的数据,然后在主程序中读取这些数据进行分析。

注意事项 :

确保数据存储按照预期的顺序进行读取和写入,以获得正确的结果。

如果多个Data Store Write模块尝试在同一个仿真步中写入同一个数据存储,可能会导致不可预知的结果。

实例4

如何在Simulink定义全局变量?—Data Store Memory模块

设置显示执行的顺序

如何在Simulink定义全局变量?—Data Store Memory模块

如何在Simulink定义全局变量?—Data Store Memory模块

如何在Simulink定义全局变量?—Data Store Memory模块

Data Sore Memory、Write、Read模块执行时序:先对数据进行写操作(所有Data Store Write执行完毕 );然后就是执行对数据的读取操作(所有的Data Store Read执行完毕);最好才是对数据进行存储(执 行Data Sore Memory)。


(5)建议

在使用Data Store Memory模块时,明确数据存储的用途和访问权限,以确保数据的一致性和正确性。

如果数据存储需要在模型的多个部分之间共享,建议将Data Store Memory模块放置在模型的顶层系统或易于访问的位置。

定期检查数据存储的内容和状态,确保其符合预期。

通过以上信息,应该能够更好地理解和使用Simulink中的Data Store Memory模块,从而有效地管理模型中的数据流和状态。


3.参考内容

[1]知乎作者土人的文章《Simulink DataStoreRead/Write》,文章链接为:https://zhuanlan.zhihu.com/p/

[2]https://ww2.mathworks.cn/help/resources/common/404.html

[3]https://ww2.mathworks.cn/help/simulink/ug/data-store-basics.html

[4]https://ww2.mathworks.cn/help/simulink/slref/datastorememory.html

[5]https://ww2.mathworks.cn/help/simulink/slref/datastoreread.html

[6]https://ww2.mathworks.cn/help/simulink/slref/datastorewrite.html

[7] CSDN作者Mr. 邹的文章《simulink中 Data store memory、write和read模块及案例介绍》,文章链接为:

https://blog.csdn.net/weixin_/article/details/

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。


作 者 | 郭志龙

编 辑 | 郭志龙
校 对 | 郭志龙

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/95049.html

(0)
上一篇 2024年 12月 6日 下午6:05
下一篇 2024年 12月 6日 下午6:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信