Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Data Store Write

向数据存储中写入数据

  • Data Store Write block

库:
Simulink / Signal Routing

描述

Data Store Write 模块将其输入端口的值复制到指定的数据存储中。由 Data Store Write 模块执行的每个写入操作都会覆盖数据存储或其所选部分,并替换以前的内容。

此模块写入的数据存储由定义数据存储的 Data Store Memory 模块或信号对象的位置决定。有关详细信息,请参阅数据存储Data Store Memory。数据存储的大小由定义并初始化数据存储的信号对象或 Data Store Memory 模块决定。写入该数据存储的每个 Data Store Write 模块最多可以写入数据存储中的数据量。

多个 Data Store Write 模块可以写入同一数据存储。但是,如果两个 Data Store Write 模块尝试在同一个仿真步中写入同一个数据存储,将发生不可预知的结果。

要从数据存储获取正确的结果,必须确保数据存储按照预期的顺序进行读取和写入。有关详细信息,请参阅对数据存储访问进行排序数据存储诊断

您可以记录某个局部或全局数据存储数据变量在一次仿真过程的所有时间步中的值。有关详细信息,请参阅Log Data Stores

您可以选择 Data Store ReadData Store WriteData Store Memory 模块来突出显示与其相关的模块。要在打开的图或新选项卡中显示相关模块,请在选择后出现的省略号上暂停。然后,从操作栏中选择相关模块 Related Blocks button。当多个模块对应于所选模块时,将打开一个相关模块列表。您可以通过在文本框中输入搜索词来过滤相关模块列表。从列表中选择相关模块后,窗口焦点转至显示该相关模块的打开的图或新选项卡。

Data Store Write 模块写入维度参数值设置为 InfData Store Memory 模块时,不支持元素赋值选项卡。换句话说,数据存储设置为接受无界可变大小信号。

端口

输入

全部展开

要写入指定数据存储的值。Data Store Write 模块接受实信号或复信号。

您可以将总线数组与 Data Store Write 模块结合使用。有关定义和使用总线数组的详细信息,请参阅使用总线数组组合非虚拟总线

要将总线或矩阵元素的子集赋给相关联的数据存储,请使用元素赋值窗格。Data Store Write 模块图标反映您指定的元素。有关详细信息,请参阅访问特定的总线和矩阵元素

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

外部端口,用于指定对应数据存储子元素的赋值的索引。

依存关系

要启用外部索引端口,请在元素赋值选项卡上选择启用索引。然后,在索引选项表的第 N 行中,将索引选项设置为索引向量(端口)起始索引(端口)

数据类型: int8 | int16 | int32 | uint8 | uint16

参数

全部展开

参数

指定此模块向其中写入数据的数据存储的名称。旁边的列表列出了模型中与 Data Store Write 模块在同一级别或更高级别的 Data Store Memory 模块的名称。该列表中还包括基础工作区和模型工作区中的所有 Simulink.Signal 对象。要更改名称,请从该列表中选择名称,或者直接在编辑字段中输入名称。

当编译包含此模块的模型时,Simulink® 从该模块级别向上搜索模型,寻找具有指定数据存储名称的 Data Store Memory 模块。如果 Simulink 找不到这样的模块,它将在模型工作区和 MATLAB® 工作区中搜索具有相同名称的 Simulink.Signal 对象。如果 Simulink 找到信号对象,它将在模型的根级创建一个隐藏的 Data Store Memory 模块,此模块的属性由信号对象指定,初始值设置全零数组。该数组的维度从信号对象的 Dimensions 属性继承。

如果 Simulink 既找不到 Data Store Memory 模块,也找不到信号对象,它将停止编译并显示错误。有关搜索路径的详细信息,请参阅符号解析

编程用法

模块参数DataStoreName
类型:字符向量
:数据存储名称
默认值'A'

此 参数 为只读。

此字段列出 Data Store Memory 模块,该模块对它要向其写入数据的存储进行了初始化。

此 参数 为只读。

此字段列出符合以下条件的所有 Data Store Read 模块的路径:与此模块具有相同的数据存储名称,且在模型层次结构中位于同一(子)系统级别或其下的任何子系统中。点击此列表中的任何条目以在模型中突出显示对应的模块。

采样时间,用来控制模块何时写入数据存储。值为 -1 表示继承采样时间。有关详细信息,请参阅 指定采样时间

编程用法

模块参数SampleTime
类型:字符向量
:标量 | 向量
默认值'-1'

元素赋值

关联的数据存储中元素的列表。对于包含数组的数据存储,您可以写入整个数据存储,也可以将一个或多个元素赋给整个数据存储。对于总线数据类型的数据存储,您可以展开树视图以查看并选择总线元素。此列表在括号中显示每个元素的最大维度。

如果未选择启用索引,请选择一个元素并使用以下方法之一:

  • 点击选择>>所选元素列表中显示该元素及其所有子元素。

  • 使用指定要赋值的元素编辑框指定您要选择进行写入的子元素。然后点击选择>>

要选择多个元素,请对每个元素重复上述过程。

您也可以选择启用索引,然后选择单个元素,并使用索引选项参数动态指定子元素。

要刷新显示并反映对数据存储中使用的数组或总线的修改,请点击刷新

依存关系

对此部分(数组中的元素总线中的信号)的提示取决于数据存储中数据的类型。

编程用法

模块参数DataStoreElements
类型:字符向量
:以井号分隔的元素列表(请参阅使用命令行指定。)
默认值''

输入 MATLAB 表达式以定义要写入的特定元素,然后点击选择>> 将该元素添加到赋值的元素表中。重复以上操作以选择其他元素。

例如,对于名为 DSM、最大维度为 [3,5] 的数据存储,您可以在编辑框中输入表达式,如 DSM(2,4)DSM([1 3],2)。请参阅访问特定的总线和矩阵元素

要应用元素选择,请点击确定应用

依存关系

仅当未选择启用索引时,才会出现指定要赋值的元素编辑框。

编程用法

模块参数DataStoreElements
类型:字符向量
:以井号分隔的元素列表(请参阅使用命令行指定。)
默认值''

您选择要分配的元素。Data Store Write 模块图标为您指定的每个元素显示输入端口。

要更改列表中的总线或矩阵元素的顺序,请在列表中选择元素,然后点击向上向下。更改列表中的元素顺序会同时更改端口的顺序。要移除某个元素,请点击删除

依存关系

仅当未选择启用索引时,才会出现赋值的元素表。

编程用法

模块参数DataStoreElements
类型:字符向量
:以井号分隔的元素列表(请参阅使用命令行指定。)
默认值''

选中此参数可启用类似于 Assignment 模块所使用的索引,由此您可以使用一个或多个索引输入端口动态指定要写入的子元素的索引,以及使用模块对话框指定索引。选中此参数时,Data Store Write 模块只能写入数据存储的单个元素(即总线中的单个信号)。要使用动态索引写入数据存储的多个元素,请使用多个 Data Store Write 模块。

清除此参数可禁用 Assignment 模块样式索引。您可以选择多个要写入的数据存储元素,但只能通过使用模块对话框指定要写入哪些子元素。

注意

如果关联的数据存储只包含一个标量元素,请不要选择启用索引

编程用法

模块参数EnableIndexing
类型:字符向量
'off' | 'on'
默认值'off'

所选数据存储元素的维数。您必须显式指示此数目。

依存关系

仅当选中启用索引时,此参数才会启用。

编程用法

模块参数NumberOfDimensions
类型:字符向量
positive integer
默认值'1'

选择索引模式。如果选择从 1 开始,则索引 1 指定输入向量的第一个元素。如果选择从 0 开始,则索引 0 指定输入向量的第一个元素。

依存关系

仅当选中启用索引时,此参数才会启用。

编程用法

参数:IndexMode
类型:字符向量
值:'Zero-based' | 'One-based'
默认值:'One-based'

按维度定义所选数据存储元素的子元素的索引方式。从列表中,选择:

菜单项操作
全选

禁用索引列。所有子元素都被分配。

索引向量(对话框)

启用索引列。输入包含要赋值的子元素索引的向量。

索引向量(端口)

禁用索引列。相关索引端口定义要赋值的子元素的索引。

起始索引(对话框)

启用索引列。输入要赋值的子元素范围的起始索引。范围的大小继承于输入数据信号的相关维度的大小。

起始索引(端口)

禁用索引列。相关索引端口定义要赋值的元素范围的起始索引。范围的大小继承于输入数据信号的相关维度的大小。

索引列显示为相关。

依存关系

仅当选中启用索引时,此参数才会启用。

编程用法

参数:IndexOptionArray
类型:字符向量
值: 'Select all' | 'Index vector (dialog)' | 'Index vector (port)' | 'Starting index (dialog)' | 'Starting index (port)'
默认值:'Index vector (dialog)'

如果索引选项索引向量(对话框),请输入包含要写入的每个子元素的索引的向量。

如果索引选项设置为起始索引(对话框),则输入要写入的子元素范围的起始索引。

依存关系

仅当选择启用索引并且维度的索引选项索引向量(对话框)起始索引(对话框) 时,此参数才启用。

编程用法

参数:IndexParamArray
类型:字符向量
值:元胞数组
默认值:'{ }'

模块特性

数据类型

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出