主要内容

金宝appSimulink.SimulationData.ModelLoggingInfo

一个模型的信号记录覆盖设置

描述

类的集合金宝appSimulink.SimulationData.SignalLoggingInfo对象指定所有信号记录覆盖模型的设置。

使用这个类的方法和属性:

  • 关闭日志记录信号或模型块。

  • 更改模型中标记为日志记录的任何信号的日志记录设置。

您可以控制顶级模型和参考模型是覆盖信号记录设置,还是使用模型指定的信号记录设置。使用LoggingMode而且LogAsSpecifiedByModels属性来控制应用哪些日志记录设置。

模型的日志记录模式 属性设置

对于顶层模型和所有引用的模型,使用模型中指定的日志记录设置。

LoggingModeLogAllAsSpecifiedInModel

对于顶层模型和所有参考模型,使用覆盖信号记录设置。

LoggingModeOverrideSignals

对于顶层模型和参考模型,混合使用覆盖信号记录设置和模型中指定的信号记录设置。

LoggingModeOverrideSignals

中包含要忽略覆盖信号记录设置的模型LogAsSpecifiedByModels单元阵列。

有关更多信息和示例,请参见覆盖信号记录设置从MATLAB

产权总结

名字

描述

LoggingMode

信号记录覆盖状态

LogAsSpecifiedByModels

顶级模型或顶级模型块的信号记录设置源

信号

所有有信号覆盖设置的信号

方法总结

名字

描述

findSignal

信号向量,使用块路径和输出端口索引。

verifySignalAndModelPaths

验证模型信号日志覆盖对象的信号和模型路径。

getLogAsSpecifiedInModel

确定模型是按照模型中指定的方式记录信号,还是使用覆盖设置。

setLogAsSpecifiedInModel

为顶层模型或顶层模型块设置日志记录模式。

createFromModel

用模型层次结构中的所有记录信号创建并填充模型信号日志覆盖对象。

ModelLoggingInfo

设置信号记录或覆盖记录设置。

属性

LoggingMode

描述

信号记录覆盖状态。值:

  • OverrideSignals-(默认)使用信号的日志记录设置,如信号财产。对于下面的模型getLogAsSpecifiedInModel是:

    • 真正的—根据型号的要求,记录所有信号。

    • —只记录信号财产。

  • LogAllAsSpecifiedInModel—记录top型号和所有参考型号的信号。金宝app动态仿真模块®注意信号记录指示器(蓝色天线),忽略信号财产。

要更改顶层模型或给定引用模型的日志记录模式,请使用setLogAsSpecifiedInModel方法。

数据类型

字符数组

访问

RW

LogAsSpecifiedByModels

描述

LoggingMode设置为“OverrideSignals”,LogAsSpecifiedByModels单元格数组指定顶级模型和顶级模型块,忽略“OverrideSignals”设置和日志信号指定的型号或模型块。

  • 为顶级模型和顶级模型单元格数组中包含的块,Simulink会忽略金宝app信号属性覆盖。

  • 对于模型或模型单元格数组所做的块include, 金宝appSimulink使用信号属性确定要记录哪些信号。

LoggingMode设置为“LogAllAsSpecifiedInModel”, 金宝appSimulink忽略LogAsSpecifiedByModels财产。

使用getLogAsSpecifiedInModel方法来确定是顶层模型还是顶层模型块记录模型中指定的信号(默认日志),并使用setLogAsSpecifiedInModel打开和关闭默认日志记录。

数据类型

cell array -对于顶层模型,指定模型名称。对于Model块,指定块路径。

访问

RW

信号

描述

向量的金宝appSimulink.SimulationData.SignalLoggingInfo具有信号日志覆盖设置的所有信号的对象。

数据类型

向量的金宝appSimulink.SimulationData.SignalLoggingInfo对象

访问

RW

方法

createFromModel

目的

创建一个金宝appSimulink.SimulationData.ModelLoggingInfo对象的顶级模型,并为模型中的每个记录信号设置覆盖设置。

语法
Model_logging_info_object =…金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel(…模型选项
输入参数
模型

要创建的顶级模型的名称金宝appSimulink.SimulationData.ModelLoggingInfo对象。

选项

您可以使用下列选项名称和值对的任意组合来控制包含日志信号的系统类型。

  • FollowLinks

    • -(默认)包括来自库内部的日志信号。

    • -跳过所有库。

  • LookUnderMasks

    • 所有-(默认)包括来自所有屏蔽子系统的日志信号。

    • 没有一个—跳过所有被屏蔽的子系统。

    • 图形化的-包括来自没有工作区或对话框的屏蔽子系统的日志信号。

    • 功能-包括来自屏蔽子系统的日志信号,这些子系统没有对话框。

  • 变体

    • ActiveVariants-(默认)只包括来自活动子系统和模型变量的日志信号。

    • AllVariants-包括来自所有子系统和模型变量的日志信号。

  • RefModels

    • -(默认)包括来自参考模型的日志信号。

    • —跳过所有参考模型。

如果选择多个选项,则创建金宝appSimulink.SimulationData.ModelLoggingInfo对象包含符合指定选项组合(“AND”)的信号。例如,如果你设置FollowLinks并设置RefModels,则模型信号日志覆盖对象不包括来自存在于引用模型内部的库链接的信号。

输出参数
model_logging_override_object

金宝appSimulink.SimulationData.ModelLoggingInfo对象的顶部模型。

描述

model_logging_info_object= 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel (模型创建一个金宝appSimulink.SimulationData.ModelLoggingInfo对象,该模型包含以下类型系统的日志信号:

  • 戴面具的子系统

  • 引用模型

  • 积极的变异

model_logging_override_object= 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel (模型选项)创建一个金宝appSimulink.SimulationData.ModelLoggingInfo对象用于模型。包含的日志信号反映了以下几种系统的选项设置:

  • 戴面具的子系统

  • 引用模型

  • 变体

例子

对象的模型日志覆盖对象sldemo_mdlref_bus模型,并自动将模型中的每个日志信号添加到该对象:

openExample (“sldemo_mdlref_bus”mi = Si金宝appmulink.SimulationData.ModelLoggingInfo.createFromModel(...“sldemo_mdlref_bus”
mi = ModelLoggingInfo with properties: Model: 'sldemo_mdlref_bus' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1×4 金宝appSimulink.SimulationData.SignalLoggingInfo]

要应用模型覆盖对象设置,请使用:

set_param (sldemo_mdlref_bus“DataLoggingOverride”、mi);

的选项createFromModel方法指定方法应如何处理变量和模型引用等模型组件。例如,使用变体选项,以创建model_logging_override对象的所有变体中的日志信号sldemo_variant_subsystems模型。

默认情况下,sldemo_variant_subsystems模型没有记录任何信号。从配置输出信号开始线性控制器而且非线性控制器用于日志的子系统。

打开sldemo_variant_subsystem模型sldemo_variant_subsystems;标记线性控制器子系统的输出,用于日志记录Ph = get_param(“sldemo_variant_subsystems /控制器/线性控制器”...“PortHandles”);set_param (ph.Outport (1),“数据采集”“上”);标记非线性控制器子系统的输出进行日志记录Ph1 = get_param(“sldemo_variant_subsystems /控制器/非线性控制器”...“PortHandles”);set_param (ph1.Outport (1),“数据采集”“上”);

然后,使用createFromModel方法来创建model_logging_override对象的所有变量子系统中记录的信号sldemo_variant_subsystems模型。

为包含所有变量的模型创建model_logging_override对象mi = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel(...“sldemo_variant_subsystems”“变异”“AllVariants”
mi = ModelLoggingInfo with properties: Model: 'sldemo_variant_subsystem ' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1×2 金宝appSimulink.SimulationData.SignalLoggingInfo]

ModelLoggingInfo

目的

指定记录或覆盖记录设置的信号。

语法
Model_logging_override_object = ....金宝appSimulink.SimulationData.ModelLoggingInfo(模型)
输入参数
模型

要创建的顶级模型的名称金宝appSimulink.SimulationData.ModelLoggingInfo对象

输出参数
model_logging_override_object

金宝appSimulink.SimulationData.ModelLoggingInfo为指定顶级模型创建的对象。

描述

model_logging_override_object= 金宝appSimulink.SimulationData.ModelLoggingInfo (模型创建一个金宝appSimulink.SimulationData.ModelLoggingInfo为指定的顶层模型初始化。

如果你使用金宝appSimulink.SimulationData.ModelLoggingInfo构造函数,指定金宝appSimulink.SimulationData.SignalLoggingInfo为要覆盖日志记录设置的每个日志信号设置。

要检查是否为模型指定了有效的信号记录覆盖设置,请使用verifySignalAndModelPaths方法。金宝appSimulink.SimulationData.ModelLoggingInfo对象用于模型。

例子

下面的例子展示了如何记录顶部模型和所有引用模型中指定的所有信号。

mi = 金宝appSimulink.SimulationData.ModelLoggingInfo(“sldemo_mdlref_bus”);mi.LoggingMode =“LogAllAsSpecifiedInModel”
mi = ModelLoggingInfo与属性:Model: 'sldemo_mdlref_bus' LoggingMode: 'LogAllAsSpecifiedInModel' LogAsSpecifiedByModels: {} Signals: []

要应用模型覆盖对象设置,请使用:

set_param(sldemo_mdlref_bus, 'DataLoggingOverride', mi);

下面的例子展示了如何只记录顶层模型中的信号:

mi =...金宝appSimulink.SimulationData.ModelLoggingInfo (“sldemo_mdlref_bus”);mi.LoggingMode =“OverrideSignals”;mi = mi. setlogasspecifiedinmodel (“sldemo_mdlref_bus”,真正的);set_param (“sldemo_mdlref_bus”“DataLoggingOverride”、mi);

findSignal

目的

信号向量,使用块路径和可选的输出端口索引。

语法
signal_indices =...model_logging_override_object.findSignal(block_path) signal_indexes =...model_logging_override_object.findSignal (...block_path port_index)
输入参数
block_path

要搜索的源块。的block_path必须是以下其中之一:

  • 特征向量

  • 字符向量的单元格数组

  • 金宝app仿真软件。BlockPath对象

port_index

要搜索的输出端口的索引。指定一个大于或等于1

输出参数
signal_indices

将数值指标向量转化为信号向量金宝appSimulink.SimulationData.ModelLoggingInfo对象。

描述

signal_indices= model_logging_override_object.findSignal (block_path为指定的块路径查找信号的索引。

为了找到一个引用模型中信号的实例,使用金宝app仿真软件。BlockPath对象的单元格数组完整路径

找到所有属性的字符向量与引用模型中的信号实例一起使用相对信号在参考模型中的路径。

在状态流中查找已记录的图表信号®图表,使用金宝app仿真软件。BlockPath对象,并设置子路径属性设置为状态流程图信号的名称。

signal_indices= model_logging_override_object.findSignal (block_pathport_index为指定的块路径和指定的端口查找输出信号的索引。

请勿使用port_index参数为状态流程图信号。

例子

找到一个信号在状态流图中,这样做出现在一个引用模型的多个实例中:

open_system (docpath (fullfile (docroot,“工具箱”“金宝app模型”“例子”“ex_bus_logging”)))打开引用的模型ex_mdlref_counter_bus mi = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel(...“ex_bus_logging”);的源的COUNTERBUSCreator块%记录的计数器信号signal_index = mi.findSignal(gcb)
Signal_index = 1

要查找不在状态流图中的引用模型的特定实例中的信号,请使用以下方法:

signal_index = mi.findSignal({“ex_bus_logging / CounterA”...“ex_mdlref_counter_bus /总线的创造者”})
Signal_index = 4

的例子findSignal方法,请参见使用命令行API重写日志属性(Stateflow)

getLogAsSpecifiedInModel

目的

确定模型是按照模型中指定的方式记录日志,还是使用覆盖设置。

语法
Logging_mode =…getLogAsSpecifiedInModel (model_logging_override_object路径)
输入参数
model_logging_override_object

一个金宝appSimulink.SimulationData.ModelLoggingInfo对象。

路径

路径是一个字符向量,它指定下列之一:

  • 顶级模特的名字

  • 顶层模型中Model块的块路径

输出参数
logging_mode

logging_mode是:

  • 真正的指定的模型,则为路径按照模型中指定的记录。

  • 指定的模型,则为路径使用?中指定的覆盖设置进行记录信号财产。

描述

logging_mode= model_logging_override_object.getLogAsSpecifiedInModel (路径返回:

  • 真正的指定的模型,则为路径按照模型中指定的记录。

  • 指定的模型,则为路径使用?中指定的覆盖设置进行记录信号财产。

例子

在下面的示例中,使用金宝appSimulink.SimulationData.ModelLoggingInfo对象心肌梗死属性中指定的覆盖设置信号财产。

mi = 金宝appSimulink.SimulationData.ModelLoggingInfo(“sldemo_mdlref_bus”);loging_mode = getLogAsSpecifiedInModel(mi,“sldemo_mdlref_bus”
Logging_mode = 0

setLogAsSpecifiedInModel

目的

为顶层模型或顶层模型块设置日志记录模式

语法
setLogAsSpecifiedInModel (override_object路径)
输入参数
override_object

金宝appSimulink.SimulationData.ModelLoggingInfo对象。

路径

指定下列之一的字符向量:

  • 顶级模特的名字

  • 顶层模型中Model块的块路径

价值

登录模式:

  • 真正的指定的模型,则为路径是否按照模型中指定的日志记录

  • 指定的模型,则为路径使用?中指定的覆盖设置进行记录信号财产。

描述

setLogAsSpecifiedInModel (override_object路径价值为顶级模型或顶级模型中的model块设置LoggingMode属性。

例子

下面的例子展示了如何只记录顶层模型中的信号,使用该模型中指定的日志记录设置:

sldemo_mdlref_bus;mi = 金宝appSimulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');mi.LoggingMode = 'OverrideSignals';mi = setLogAsSpecifiedInModel(mi, 'sldemo_mdlref_bus', true);set_param('sldemo_mdlref_bus', 'DataLoggingOverride', mi);

verifySignalAndModelPaths

目的

验证路径金宝appSimulink.SimulationData.ModelLoggingInfo对象。

语法
verified_object = verifySignalAndModelPaths…(model_logging_override_object行动)
输入参数
model_logging_override_object

金宝appSimulink.SimulationData.ModelLoggingInfo对象进行验证。此参数是必需的。

行动

函数在验证失败时执行的动作。这个参数是可选的。指定以下值之一:

  • 错误-(默认)验证失败时抛出错误

  • warnAndRemove—验证失败时发出警告,并更新金宝appSimulink.SimulationData.ModelLoggingInfo对象。

  • 删除-静默更新金宝appSimulink.SimulationData.ModelLoggingInfo对象。

输出参数
verified_object

如果该方法未检测到无效路径,则返回经过验证的对象。例如:

verified_object = 金宝appSimulink. simulationdata . modellogginginfo包:Simulink. Simulink. modellogginginfo模拟Data Properties: Model: 'logging_top' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1x11 Simulink.SimulationData.SignalLoggingInfo]

方法所指定的操作行动论点。默认情况下,它会发出错误消息。

描述

verified_object= verifySignalAndModelPaths (model_logging_override_object行动

对于一个金宝appSimulink.SimulationData.ModelLoggingInfo对象,验证:

  • 中的所有字符向量LogAsSpecifiedByModels属性是顶层模型的名称或顶层模型中model块的块路径。

  • 信号的阻塞路径信号属性引用顶层模型层次结构中的有效块。

  • OutputPortIndex属性中的所有信号信号属性对于给定块有效。

  • 所有信号信号属性参考记录信号。

行动参数指定方法执行的操作。默认情况下,如果该方法检测到无效路径,则返回错误。

如果你使用金宝appSimulink.SimulationData.ModelLoggingInfo构造函数,并指定金宝appSimulink.SimulationData.SignalLoggingInfo对象,然后考虑使用verifySignalAndModelPaths方法验证对象定义是否有效。

例子

实例中如何验证信号和阻塞路径金宝appSimulink.SimulationData.ModelLoggingInfo对象。因为行动参数是warnAndRemove,如果验证失败,则verifySignalAndModelPaths方法发出警告并更新金宝appSimulink.SimulationData.ModelLoggingInfo对象。

mi = 金宝appSimulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');verified_object = verifySignalAndModelPaths…(mi warnAndRemove)

版本历史

在R2012b中引入