创建数据存储
要使用数据存储内存块定义数据存储,请将块的实例拖动到模型中您希望数据存储可见的最顶层。结果是一个本地数据存储,在引用的模型中无法访问。
要定义一个在给定模型的每个级别都可见的数据存储,除了在模型块中,请将数据存储内存块拖动到模型的根级别。
要定义仅在特定子系统及其包含的子系统中可见,但在模型块中不可见的数据存储,请将数据存储内存块拖动到子系统中。
添加数据存储内存块后,使用其参数定义数据存储的属性。数据存储名称属性指定数据存储写入和数据存储读取阻止访问的数据存储的名称。
通过选择“ Data store name must resolve to Simulink signal object”选项并使用信号对象作为数据存储名称,您可以指定超出数据存储内存块参数可定义范围的数据存储属性。
指定数据存储内存块属性
数据存储内存块可以从其相应的数据存储读取和数据存储写入块继承三个数据属性。可继承的属性包括:
Data type
Complexity
Sample time
然而,允许继承这些属性可能会导致难以调试的意外结果。要防止此类错误,请使用“Data Store Memory”对话框或Simulink.Signal对象以明确指定属性。
使用Block Parameters指定属性
可以使用“数据存储内存块”对话框或“模型数据编辑器数据存储”选项卡(View > Model Data Editor)指定数据存储的数据类型和复杂性。在下图中,块对话框将数据类型设置为uint16,将信号类型设置为real。
使用信号对象指定属性
你可以使用一个 Simulink.Signal 对象为数据存储内存块指定数据存储属性。
下图显示了一个数据存储内存块,它指定了名为A的Simulink.Signal对象的分辨率。要将信号对象用于数据存储,请将数据存储名称设置为信号对象的名称。为了编译检查,打开信号属性选项卡,选择数据存储名称必须解析为Simulink signal 对象参数。
信号对象指定了数据存储将继承的所有三个数据属性的值。在这个例子中,它定义了一个本地数据存储Simulink。信号对象A具