主要内容

金宝appSimulink.SimulationData.ModelLoggingInfo

测井信号覆盖设置模式

描述

使用一个金宝appSimulink.SimulationData.ModelLoggingInfo对象覆盖信号记录设置一个模型在不改变模型的仿真软件金宝app®编辑器。

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

使用对象的功能和属性的对象:

  • 对一个信号或关闭日志模型块。

  • 更改日志记录设置为任何信号标记为日志记录在一个模型。

您可以控制是否一个顶级模型和参考模型覆盖信号日志设置或使用信号日志设置指定的模型。使用LoggingModeLogAsSpecifiedByModels应用属性来控制哪些日志设置。

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

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

LoggingModeLogAllAsSpecifiedInModel

对于顶级模特和所有引用的模型,使用覆盖信号日志设置。

LoggingModeOverrideSignals

对于顶级模型和参考模型,使用混合的覆盖信号日志设置和信号日志设置中指定的模式。

LoggingModeOverrideSignals

包括模型你想忽略覆盖信号中的日志设置LogAsSpecifiedByModels单元阵列。

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

检查您指定有效的测井信号覆盖设置一个模型,使用verifySignalAndModelPaths函数与金宝appSimulink.SimulationData.ModelLoggingInfo对象模型。

创建

描述

例子

mdlInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo (mdl)创建一个金宝appSimulink.SimulationData.ModelLoggingInfo对象指定的顶级模特。

输入参数

全部展开

的名字来创建一个顶级模特金宝appSimulink.SimulationData.ModelLoggingInfo对象,指定为一个字符串或字符向量。

属性

全部展开

测井信号覆盖状态,指定为“OverrideSignals”“LogAllAsSpecifiedInModel”

  • “OverrideSignals”——使用日志记录设置中指定的信号信号财产。模型,getLogAsSpecifiedInModel是:

    • 真正的——金宝app仿真软件日志中指定的所有信号模型。

    • ——金宝app只仿真软件日志中指定的信号信号财产的金宝appSimulink.SimulationData.ModelLoggingInfo对象。

  • “LogAllAsSpecifiedInModel”——记录信号在模型顶部和所有引用的模型在模型中指定。金宝app仿真软件荣誉信号记录指标(蓝色天线)和忽略了信号财产。

改变一个人的日志记录模式模型,如顶级模特或给定的参考模型,使用setLogAsSpecifiedInModel函数。快速变化的日志记录模式模型所有引用的模型,设置LoggingMode财产“LogAllAsSpecifiedInModel”。例如,设置模型sldemo_mdlref_bus.slx和所有引用的模型中指定的记录信号模型,您可以设置LoggingMode财产的金宝appSimulink.SimulationData.ModelLoggingInfo对象“LogAllAsSpecifiedInModel”

mdlInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo (“sldemo_mdlref_bus”);mdlInfo。LoggingMode =“LogAllAsSpecifiedInModel”

源信号记录设置顶部模型或顶级模型块,指定为一个单元阵列。

LoggingMode被设置为“OverrideSignals”,LogAsSpecifiedByModels单元阵列指定模型和顶级模型块,忽略了“OverrideSignals”设置和日志中指定模式或信号模型块。

  • 顶级模型和顶级模型块单元阵列包括,软件忽略了信号属性覆盖。

  • 对于一个模型或模型块的单元阵列包括,软件使用信号属性,以确定哪些信号记录。

LoggingMode被设置为“LogAllAsSpecifiedInModel”,软件忽略了LogAsSpecifiedByModels财产。

使用getLogAsSpecifiedInModel函数来确定模型或顶级模型块中指定日志信号模型(默认日志记录)。使用setLogAsSpecifiedInModel打开和关闭默认日志记录的模型或顶级模型块。

信号,信号覆盖设置,指定为一个向量的金宝appSimulink.SimulationData.SignalLoggingInfo对象。

对象的功能

金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel 创建金宝appSimulink.SimulationData.ModelLoggingInfo对象的模型覆盖设置为每个记录信号模型
findSignal 找到信号的指数信号属性向量
getLogAsSpecifiedInModel 确定模型中指定日志作为模型或者使用覆盖设置
setLogAsSpecifiedInModel 设置日志记录模式模型或顶级模型块
verifySignalAndModelPaths 验证路径在金宝appSimulink.SimulationData.ModelLoggingInfo对象

例子

全部折叠

您可以控制是否顶层模型和参考模型使用覆盖信号记录设置或使用指定的日志设置信号模型。这个例子展示了如何记录中指定的所有信号模型和所有引用的模型。

该模型sldemo_mdlref_bus有四个信号标记为日志记录。关于模型的更多信息,请参阅使用总线对象接口规范

mdl =“sldemo_mdlref_bus”;open_system (mdl)

创建一个模型记录覆盖对象。

mdlInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo (mdl);

指定是否使用信号模型中指定的日志设置和所有引用的模型,或覆盖这些设置,使用LoggingMode覆盖对象属性模型的日志记录。

mdlInfo。LoggingMode =“LogAllAsSpecifiedInModel”
mdlInfo = ModelLoggingInfo属性:模型:“sldemo_mdlref_bus”LoggingMode:“LogAllAsSpecifiedInModel”LogAsSpecifiedByModels:{}的信号:[0 x0 Simulink.SimulationData.Sign金宝appalLoggingInfo]

使用set_param覆盖对象设置函数应用模型。保存设置当您保存的软件模型。

set_param (mdl“DataLoggingOverride”,mdlInfo);

模拟模型。信号存储在日志输出topOut

sim (mdl);topOut
topOut = 金宝appSimulink.SimulationData。数据集的topOut 4元素名称BlockPath _______ ________________________________________ 1 [1 x1信号]COUNTERBUS sldemo_mdlref_bus /连接2 [1 x1信号]OUTERDATA sldemo_mdlref_bus / CounterA 3 [1 x1信号]INCREMENTBUS sldemo_mdlref_bus / IncrementBusCreator 4 [1 x1信号]INNERDATA……时代| sldemo_mdlref_counter_bus /计数器使用大括号{}来访问,修改或添加元素使用索引。

您可以使用setLogAsSpecifiedInModel功能覆盖信号记录设置中指定的一个模型。例如,您可以记录只有上面的模型或只有一个参考模型在模型层次结构。该模型sldemo_mdlref_bus包含一个模型块命名CounterA引用模型sldemo_mdlref_counter_bus。总共四个信号被标记为日志记录。上面的模型有三个信号标记为日志记录:COUNTERBUS,INCREMENTBUS,OUTERDATA。引用的模型有一个信号标记为日志记录:INNERDATA

mdl =“sldemo_mdlref_bus”;mdlInner =“sldemo_mdlref_bus / CounterA”;open_system (mdl)

创建一个空金宝appSimulink.SimulationData.ModelLoggingInfo对象,这样没有信号时记录日志记录模式设置为覆盖设置中指定的信号财产。

mdlInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo (mdl);

您可以使用setLogAsSpecifiedInModel函数记录只在顶部信号模型中指定使用日志设置,模型。设置外部模型中指定的记录信号模型。然后,设置内部模型使用覆盖设置。自信号属性向量是空的,没有信号覆盖应用设置时记录。

mdlInfo = setLogAsSpecifiedInModel (mdl mdlInfo真的);mdlInfo = setLogAsSpecifiedInModel (mdlInfo mdlInner,假);

getLogAsSpecifiedInModel函数返回日志模式。

outerLogMode = getLogAsSpecifiedInModel (mdlInfo mdl)
outerLogMode =逻辑1
innerLogMode = getLogAsSpecifiedInModel (mdlInfo mdlInner)
innerLogMode =逻辑0

应用该模型覆盖对象设置。然后,模拟模型。软件登录日志只有那些信号标记为模型。

set_param (mdl“DataLoggingOverride”,mdlInfo);sim (mdl);topOut
topOut = 金宝appSimulink.SimulationData。数据集的topOut 3元素的名字BlockPath _______ _____________________________________ 1 [1 x1信号]COUNTERBUS sldemo_mdlref_bus /连接2 [1 x1信号]OUTERDATA sldemo_mdlref_bus / CounterA 3 [1 x1信号]INCREMENTBUS sldemo_mdlref_bus / IncrementBusCreator -使用大括号{}来访问,修改或添加元素使用索引。

您还可以使用setLogAsSpecifiedInModel函数引用日志只有信号的模型使用日志设置中指定的模型。设置外部模型使用覆盖设置。然后,设置内部模型中指定的记录信号模型。

mdlInfo = setLogAsSpecifiedInModel (mdlInfo、mdl假);mdlInfo = setLogAsSpecifiedInModel (mdlInfo mdlInner,真的);

来验证模型和内部模型顶部的日志模式已经改变,您可以使用getLogAsSpecifiedInModel函数。

outerLogMode = getLogAsSpecifiedInModel (mdlInfo mdl)
outerLogMode =逻辑0
innerLogMode = getLogAsSpecifiedInModel (mdlInfo mdlInner)
innerLogMode =逻辑1

应用该模型覆盖对象设置。然后,模拟模型。这一次,只有软件日志INNERDATA信号。

set_param (mdl“DataLoggingOverride”,mdlInfo);sim (mdl);topOut
topOut = 金宝appSimulink.SimulationData。数据集的topOut 1元素名称BlockPath _____ ________________________________________ 1 [1 x1信号]INNERDATA…时代| sldemo_mdlref_counter_bus /计数器使用大括号{}来访问,修改或添加元素使用索引。

您可以使用金宝appSimulink.SignalData.SignalLoggingInfo对象以编程方式覆盖日志记录设置为特定的信号。例如,您可以创建一个金宝appSimulink.SimulationData.SignalLoggingInfo对象覆盖信号日志设置,这样只有一个标记为日志记录的几个信号。

这个例子使用一个旋转离合器系统的一个模型。在模型中,十个信号被标记为日志记录。关于模型的更多信息,请参阅建立一个离合器锁定模式

mdl =“sldemo_clutch_override”;open_system (mdl);

您可以使用一个金宝appSimulink.SimulationData.SignalLoggingInfo对象只记录VehicleSpeed信号。的VehicleSpeed信号连接的第二个输出端口解锁子系统。创建一个金宝appSimulink.SimulationData.SignalLoggingInfo对象的VehicleSpeed信号通过BlockPathOutputPortIndex属性。

blkPath =“sldemo_clutch_override /解锁”;portNum = 2;sigInfo = 金宝appSimulink.SimulationData.SignalLoggingInfo (blkPath portNum);

创建一个空金宝appSimulink.SimulationData.ModelLoggingInfo对象。然后,分配信号记录覆盖设置sigInfo对象模型日志信息。

mdlInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo (mdl);mdlInfo.Signals (1) = sigInfo;

使用verifySignalAndModelPaths函数来确保您指定的日志设置有效的信号模型。

verifiedObj = verifySignalAndModelPaths (mdlInfo)
verifiedObj = ModelLoggingInfo属性:模型:“sldemo_clutch_override”LoggingMode:“OverrideSignals”LogAsSpecifiedByModels:{}的信号:[1 x1 Simulink.SimulationData.Sign金宝appalLoggingInfo]

应用模型覆盖对象设置使用set_param函数。

set_param (mdl“DataLoggingOverride”mdlInfo)

模拟模型。验证VehicleSpeed是唯一的信号通过访问记录金宝appSimulink.SimulationData.Dataset对象sldemo_clutch_output

sim (mdl);sldemo_clutch_output
sldemo_clutch_output = 金宝appSimulink.SimulationData。数据集的sldemo_clutch_output 1元素名称BlockPath _______ _______________________________ 1 [1 x1信号]VehicleSpeed sldemo_clutch_override /解锁-使用大括号{}来访问,修改或添加元素使用索引。

版本历史

介绍了R2012b