您可以记录模拟中所有步骤的本地或全局数据存储数据变量的值。数据存储日志记录的两种常见用途是:
模型调试-查看所有数据存储写入的顺序
确认模型修改——使用记录的数据建立比较结果的基线,以确定模型修改的影响
有关记录全局数据存储的示例,请参见跨多个模型使用数据存储.
支持对以下数据类型的数据存储进行日志记录:
所有内置数据类型
枚举数据类型
定点数据类型
您可以记录使用任何维度级别或复杂性的数据存储。
在模型中使用数据存储日志的限制有:
使用实例记录数据存储内存的数据。
在Normal模式下模拟顶级模型。
对于本地数据存储,“数据存储内存”块所在的模型必须为“模型参考普通”模式。
引用模型中写入数据存储内存的任何块都必须在模型引用Normal模式下执行。
不能记录使用自定义数据类型(包括总线)的数据存储。
使用实例记录使用数据存储内存块创建的本地数据存储。
在模型中,打开model Data Editor。在建模选项卡上,单击模型数据编辑器.
在数据存储选项卡,设置改变观点下拉列表仪表
.
在数据表中,对于目标数据存储,选中日志数据列。
如果目标数据存储不在表中,单击变化范围按钮,显示在当前系统之下的子系统中定义的数据存储。
可选地,若要配置其他日志记录特征,例如要记录的最大数据点数,请打开属性检查器(在建模选项卡,在设计,点击属性检查器).使用属性检查器打开块对话框并检查日志记录选项卡。
属性启用数据存储日志记录型号配置参数>数据导入/导出>数据存储参数。
模拟模型。
当您为模型启用日志记录,并为日志记录配置本地数据存储时,“数据存储内存”块将显示一个蓝色图标。如果您没有为模型启用日志记录,那么图标是灰色的。
金宝app仿真软件。信号
对象可以创建本地和全局数据存储金宝app仿真软件。信号
对象。看到带有信号对象的数据存储获取详细信息。
控件创建的数据存储的日志金宝app仿真软件。信号
对象:
创建一个金宝app仿真软件。信号
对象,该对象对需要访问数据存储的每个组件可见,如中所述带有信号对象的数据存储.
的名称金宝app仿真软件。信号
对象中的数据存储名称数据存储的读块和写块参数。
来自MATLAB®命令行,设置数据采集
属性的属性LoggingInfo
的属性金宝app仿真软件。信号
)1
.
例如,如果你使用一个金宝app仿真软件。信号
对象被称为DataStoreSignalObject
使用实例创建数据存储。
datastoreignalobject . logginginfo . datalogging = 1
属性的属性,可以指定记录的数据量的限制LoggingInfo
的属性金宝app仿真软件。信号
对象:大量毁灭
,LimitDataPoints
,MaxPoints
.
属性启用数据存储日志记录型号配置参数>数据导入/导出>数据存储参数。
模拟模型。
下面的Simulink金宝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 = 金宝appSimulink. simulationdata . datastorememorySimulationData属性:名称:'RefSignalVal'块路径:[1x1 Simulink.SimulationDa金宝appta. [1x1 Simulink.SimulationData.]DSMWriterBlockPaths: [1x2 Simulinkl.SimulationData.]金宝appBlockPath] dsmwriter: [101x1 uint32]值:[101x1 timeseries]
要按索引访问元素,请使用金宝appSimulink.SimulationData.Dataset.getElement
方法。
金宝appSimulink.SimulationData.Dataset
|金宝appSimulink.SimulationData.BlockPath
|金宝appSimulink.SimulationData.DataStoreMemory