主要内容

金宝appSimulink.SimulationData.ModelLoggingInfo

信号记录覆盖模型的设置

描述

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

使用该类的方法和属性:

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

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

您可以控制顶级模型和引用模型是否覆盖信号记录设置,还是使用模型指定的信号记录设置。使用LoggingModeLogAsSpecifiedByModels属性来控制应用哪些日志记录设置。

模型的日志模式 属性设置

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

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信号属性覆盖。

  • 对于一个模型或模型阻塞单元格数组所做的包含,Simuli金宝appnk使用信号属性确定要记录哪些信号。

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

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

数据类型

单元阵列——对于顶层模型,指定模型名称。对于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 = 金宝appSimulink.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_子系统模型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 . modelloginginfo . createfrommodel ()“sldemo_variant_subsystems”“变异”“AllVariants”
mi = ModelLoggingInfo with properties: Model: ' sldemo_variant_子系统' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1×2 Simuli金宝appnk.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 . modelloginginfo (“sldemo_mdlref_bus”);mi.LoggingMode =“LogAllAsSpecifiedInModel”
mi = ModelLoggingInfo with properties: Model: 'sldemo_mdlref_bus' LoggingMode: ' logallasspecificfiedinmodel ' LogAsSpecifiedByModels: {} Signals: []

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

set_param(sldemo_mdlref_bus, ' datalogginoverride ', mi);

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

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

findSignal

目的

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

语法
signal_indices =model_logging_override_object.findSignal(block_path) signal_indices =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块%记录的COUNTERBUS信号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对象。

路径

路径是一个字符向量,指定下列任意一种:

  • 顶级模特的名字

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

输出参数
logging_mode

logging_mode是:

  • 真正的,如果型号指定由路径按照模型中指定的方式进行记录。

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

描述

logging_mode= model_logging_override_object.getLogAsSpecifiedInModel (路径返回:

  • 真正的,如果型号指定由路径按照模型中指定的方式进行记录。

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

例子

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

mi = 金宝appsimulink . simulationdata . modelloginginfo (“sldemo_mdlref_bus”);loging_mode = getlogasspecificfiedmodel (mi,“sldemo_mdlref_bus”
Logging_mode = 0

setLogAsSpecifiedInModel

目的

为顶级模型或顶级模型块设置日志模式

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

金宝appSimulink.SimulationData.ModelLoggingInfo对象。

路径

指定下列任意一种的字符向量:

  • 顶级模特的名字

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

价值

登录模式:

  • 真正的,如果型号指定由路径是否按模型中指定的方式记录

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

描述

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

例子

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

sldemo_mdlref_bus;mi = 金宝appSimulink.SimulationData.ModelLoggingInfo('sldemo_mdlref_bus');mi.LoggingMode = 'OverrideSignals';mi = setlogasspecfiedinmodel (mi, 'sldemo_mdlref_bus', true);set_param('sldemo_mdlref_bus', ' datalogginoverride ', 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。模拟Data Properties: Model: 'logging_top' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1x11 Simulink.SimulationData.SignalLoggingInfo]

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

描述

verified_object= verifySignalAndModelPaths (model_logging_override_object行动

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

  • 中的所有字符向量LogAsSpecifiedByModels属性要么是顶级模型的名称,要么是顶级模型中模型块的块路径。

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

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

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

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

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

例子

下面的示例展示了如何验证a中的信号和块路径金宝appSimulink.SimulationData.ModelLoggingInfo对象。因为行动参数是warnAndRemove,如果验证失败,则verifySignalAndModelPaths方法发出警告并更新金宝appSimulink.SimulationData.ModelLoggingInfo对象。

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

版本历史

在R2012b中引入