您可以为模拟中的所有步骤记录本地或全局数据存储数据变量的值。数据存储日志记录的两个常见用途用于:
模型调试 - 查看所有数据存储写入的顺序
确认模型修改-使用记录的数据来建立一个基线,用于比较结果,以确定模型修改的影响
有关记录全局数据存储的示例,请参见使用多种模型的数据存储.
您可以记录使用以下数据类型的数据存储:
所有内置数据类型
枚举数据类型
定点数据类型
您可以记录使用任何维级别或复杂性的数据存储。
使用模型中使用数据存储日志记录的限制是:
记录数据存储内存的数据。
在普通模式中模拟顶级模型。
对于本地数据存储,包含数据存储内存块的模型必须处于模型引用正常模式。
引用模型中的任何块都必须在模型参考正常模式下执行写入数据存储存储器。
不能记录使用自定义数据类型(包括总线)的数据存储。
使用数据存储内存块创建本地数据存储:
在模型中,打开模型数据编辑器。在建模选项卡上,单击模型数据编辑器.
在数据存储选项卡,设置改变视图下拉列表,仪表
.
在数据表中,对于目标数据存储,选择日志数据列。
如果目标数据存储不在表中,单击变化范围按钮以显示在当前系统下方的子系统中定义的数据存储。
可选地,要配置其他日志记录特征,如要记录的最大数据点数量,请打开属性检查器(在建模选项卡,在设计,点击属性检查器).使用属性检查器打开块对话框并检查日志记录选项卡。
使数据存储使用数据存储模型配置参数>数据导入/导出>数据存储参数。
模拟模型。
启用模型的日志记录时,配置日志记录本地数据存储,数据存储内存块会显示一个蓝色图标。如果未启用模型的日志记录,则图标为灰色。
金宝appsimulink.signal.
对象您可以使用a创建本地和全局数据存储金宝appsimulink.signal.
对象。看到带有信号对象的数据存储获取详细信息。
要记录使用金宝appsimulink.signal.
目的:
创建一个金宝appsimulink.signal.
对象,该对象对需要访问数据存储的每个组件可见,如带有信号对象的数据存储.
使用的名称金宝appsimulink.signal.
对象在数据存储名称数据存储的block参数读和数据存储需要对数据存储进行读写的写块。
从MATLAB®命令行,数据记录
(这是一个属性LoggingInfo
的属性金宝appsimulink.signal.
) 到1
.
例如,如果你使用a金宝appsimulink.signal.
对象被称为DataStoreSignalObject
使用实例创建数据存储。
DataStoreSignalObject.LoggingInfo.DataLogging = 1
控件的属性可以指定记录的数据量的限制LoggingInfo
财产的财产金宝appsimulink.signal.
目的:大量毁灭
,LimitDataPoints
, 和MaxPoints
.
使数据存储使用数据存储模型配置参数>数据导入/导出>数据存储参数。
模拟模型。
以下仿真软件金宝app®类表示来自数据存储日志记录的数据,并提供访问该数据的方法:
类 | 描述 |
---|---|
金宝appSimulink.SimulationData.BlockPath |
表示完全指定的Simulink块路径;金宝app用于捕获完整模型引用层次结构 |
金宝appsimulink.simulationdata.dataset. |
存储记录的数据元素并提供搜索功能;使用组金宝appSimulink.SimulationData.Element 单个对象中的对象 |
金宝appSimulink.SimulationData.DataStoreMemory |
在模拟期间从数据存储存储日志信息 |
您还可以转换以数据集以外的格式记录的数据。有关更多信息,请参见日志数据的数据集转换.
要从命令行查看数据存储日志记录数据,请查看基础工作区中的输出数据。数据存储日志记录数据集的默认变量是DSMOUT.
.
的sldemo_mdlref_dsm模型说明了查看数据存储日志数据的方法。
要在数据存储日志数据中查找元素,请基于的名字
或者BlockType
属性,使用getElement
的方法金宝appsimulink.simulationdata.dataset.
.例如:
dsmout.getElement('refsignalval')ans = s金宝appimulink.simulationdata.dataStoreMemory包:Simulink.simulationData属性:名称:'refsignalval'块路径:[1x1 simulink.simulationdata.blockpath]范围:'local'dsmwriterblockpaths:[1x2 simulinkl.simulationdata。BlockPath] DSMwriters:[101x1 uint32]值:[101x1倍增]
要按索引访问元素,请使用金宝appSimulink.SimulationData.Dataset.getElement
方法。
金宝appSimulink.SimulationData.BlockPath
|金宝appsimulink.simulationdata.dataset.
|金宝appSimulink.SimulationData.DataStoreMemory