主要内容

查看和访问信号日志数据

您可以在仿真期间使用仿真数据检查器查看记录的信号数据,也可以使用其他可视化界面查看暂停或停止的仿真。看到决定如何可视化模拟数据

或者,您可以使用MATLAB以编程方式访问信号记录数据®命令,如本主题所述。

提示

如果您没有看到您在模型中标记的信号的日志记录数据,请检查日志记录配置。使用“信号日志记录选择器”为其日志记录被覆盖的信号启用日志记录。有关详情,请参阅查看“信号记录配置”覆盖信号记录设置

信号记录对象

金宝app®保存信号记录数据金宝appSimulink.SimulationData.Dataset对象,它是MATLAB工作空间变量。信号日志变量的默认名称为logsout。您可以更改变量名称。有关详情,请参阅为信号记录数据指定一个名称

您可以指定是否希望使用MATLAB来处理数据集中单个信号的数据timeseries时间表元素。设置数据集信号格式配置参数(请参见数据集信号格式).

R2016a之前的版本也支持a金宝appModelDataLogs格式。有关详情,请参阅迁移使用遗留ModelDataLogs API的脚本

以编程方式访问数据

你可以使用金宝appSimulink.SimulationData.DatasetAPI以编程方式访问信号测井数据。访问数据集对象元素,使用花括号索引。的第一个元素topOut信号记录数据集使用索引的对象1。此示例基于使用的默认设置timeseries用于数据集元素。欲知详情timeseries时间表格式化数据,参见数据集信号格式

open_system (docpath (fullfile (docroot,“工具箱”“金宝app模型”“例子”“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”“金宝app模型”“例子”“ex_mdlref_counter_bus”)));sim卡(“ex_bus_logging”) topOut
金宝appSimulink.SimulationData.Dataset 'topOut' with 4 elements名称BlockPath ____________ ________________________________________ 1 [1x1 Signal] COUNTERBUS ex_bus_logging/COUNTERBUSCreator 2 [1x1 Signal] OUTPUTBUS ex_bus_logging/CounterA 3 [1x1 Signal] INCREMENTBUS ex_bus_logging/IncrementBusCreator 4 [1x1 Signal] inner_bus…erA|ex_mdlref_counter_bus/Bus Creator -使用大括号{}访问、修改或添加使用索引的元素。
element1 = topOut{1}
element1 = 金宝appSimulink. simulationdata . signal Package: Simulink。模拟Data Properties: Name: 'COUNTERBUS' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [1x1 struct] Methods, Superclasses
element1。值
Ans = data: [1x1 timeseries] limit: [1x1 struct]

中搜索特定元素数据集对象,则使用找到方法。的名称数据集对象元素,使用getname方法。

提示

在每个指定的MATLAB上调用函数timeseries对象时,可以使用金宝appSimulink.SimulationData.forEachTimeseries函数。例如,您可以使用此函数轻松地重新采样结构的每个元素timeseries通过记录总线信号获得的对象。

处理日志名称中的空格和换行符

这个例子展示了三个信号,说明了信号记录的名称:

  • 名称中包含空格的信号

  • 名称中包含换行符的信号

  • 在名称中包含换行符的块中产生的未命名信号

模拟模型,然后查看信号记录结果logsout变量。你可以看到名字在数据集对象使用一个空格(其中信号名称包含空格)和一个换行符(其中名称包含换行符)。未命名信号以空字符数组作为其名称。

logsout
logsout = 金宝appSimulink.SimulationData.Dataset 'logsout' with 3个元素名称BlockPath ____ ______________________________________ 1 [1x1 Signal] x y ex_signal_names_with_spaces/Sine Wave1 2 [1x1 Signal] a b ex_signal_names_with_spaces/Sine Wave1 3 [1x1 Signal] " ex_signal_names_with_spaces/Sine Wave2 -使用括号{}访问,修改或添加使用索引的元素。

您可以访问带有名称的信号,该名称包含按名称或按索引的空间。的名称中只需要包含空格getElement函数。要访问名称中包含换行符的信号,请使用索引。

> > logsout {2}
ans = 金宝appSimulink. simulationdata . signal Package: Simulink。模拟Data Properties: Name: 'a↵b' PropagatedName: '' BlockPath: [1×1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [1×1 timeseries]

访问已记录的信号数据ModelDataLogs格式

在R2016a之前,您可以登录信号ModelDataLogs格式。从R2016a开始,不能在ModelDataLogs格式。信号记录使用数据集格式。

但是,您可以使用在以前版本中记录的数据ModelDataLogs格式。

有关更多信息,请参见金宝app仿真软件。ModelDataLogs

另请参阅

||||||||

相关的话题