主要内容

为模型启用信号记录

在模型级别启用和禁用日志记录

要记录信号,将其标记为记录。有关详细信息,请参见配置日志记录信号

为标记用于登录模型的所有信号全局启用或禁用日志记录。默认情况下,信号记录是启用的。动态仿真模块®日志信号,如果配置参数>数据导入/导出>信号记录参数检查。如果未选中该选项,Simulink将忽略单个信号的信号记录设置。

当信号被标记为日志记录时,信号数据将记录到工作区和模拟数据检查器。您可以通过“配置参数”对话框或编程方式禁用信号日志记录。

  • 在“配置参数”对话框中,清除配置参数>数据导入/导出>信号记录参数复选框。

  • 从命令行中使用SignalLogging参数。

    set_param (bdroot“SignalLogging”“关闭”

选择要记录的信号子集

您可以选择一个信号的子集来记录一个模型,它具有:

  • 信号启用日志记录

  • 记录信号

有关详细信息,请参见覆盖信号记录设置

指定数据集信号元素的格式

记录的信号数据保存在数据集格式(如Simulink.SimulationData.Dataset对象)。要指定是否需要数据集中个别信号的数据,请使用MATLAB®timeseries时间表元素,设置数据集信号格式配置参数。默认值是timeseries.有关详细信息,请参见数据集信号格式

迁移使用遗留的脚本ModelDataLogsAPI

用于模拟在R2016a之前的版本中创建的模型的脚本ModelDataLogs登录格式,更新代码即可登录数据集格式。

如果您已经将信号数据记录在ModelDataLogs格式,您可以使用convertToDataset函数来更新ModelDataLogs信号测井数据的使用数据集格式。例如,更新older_model_datasetModelDataLogs格式数据集格式:

new_dataset = logsout.convertToDataset (“older_model_data”

从使用转换模型ModelDataLogs格式使用数据集格式可能要求您修改现有模型,并在回调、函数、脚本或测试中进行编码。下表标识了转换为后可能要解决的问题数据集格式。该表为每个问题提供了解决方案。

转换为数据集格式后可能出现的问题 解决方案

控件中的现有回调函数、函数、脚本或测试中的代码ModelDataLogs编程接口访问数据可能会导致错误。

检查代码使用ModelDataLogs格式访问方法。更新该代码以使用数据集格式访问方法。

例如,假设现有代码包含以下代码行:

logsout。(“子系统名称”) .X.data

将该代码替换为数据集访问方法:

logsout.getElement (“x”) .Values.data

Mux块信号名称丢失。

数据集格式处理Mux把信号作为一个矢量。要通过信号名称来识别信号,请替换Mux块与总线的创造者块。

信号查看器不能用于信号记录。

Simulink不会在信号查看器中记录信号日志数据。

使用信号日志输出变量查看日志数据。

解压缩方法将生成错误。

解压缩方法,该方法受支持仿真软件。ModelDataLogs而且仿真软件。SubsysDataLogs对象,是支持Simulink.SimulationData.Dataset对象。

例如,如果数据在mlog有三个字段:xy,z,那么:

ModelDataLogs格式的数据,mlog.unpack方法在基本工作空间中创建三个变量。

数据集格式化数据,按名称访问方法。例如:

x = logsout.getElement . values(“x”)

ModelDataLogs而且数据集格式对未命名信号有不同的命名规则。

如果需要,添加信号名称。

ModelDataLogs格式,对于来自区块的未命名信号,Simulink会以这样的形式分配一个名称:

SL_BlockName + < portIndex >

例如,SL_Gain1

数据集格式中,元素不需要名称,因此Simulink将信号名称保留为空。

对于这两个ModelDataLogs而且数据集格式时,Simulink为来自的未命名信号分配相同的名称总线选择器块。

引用模型中的测试点没有被记录。

考虑为参考模型中的测试点启用信号日志记录。

脚本使用功能。

考虑使用找到代替。

为信号测井数据指定名称

您可以使用模型级信号日志名称来访问模型的信号日志数据。信号日志数据的默认名称为logsout.指定模型级信号日志名称可以更容易地识别日志数据的来源。例如,您可以指定信号日志名称car_logsout的信号日志记录数据模型。

要指定不同的模型级信号日志名称,请使用以下方法中的任何一种:

  • 旁边的编辑框中配置参数>数据导入/导出>信号记录参数,输入信号日志记录名称。

  • 使用SignalLoggingName参数,指定信号日志记录名称。例如:

    set_param (bdroot“SignalLoggingName”“heater_model_signals”

相关的话题

Baidu
map