主要内容

覆盖信号日志设置

信号覆盖日志记录设置的好处

当你开发一个模型,您可能想要覆盖的信号记录设置一个特定的模拟运行。你可以覆盖信号日志记录属性不改变模型的仿真软件金宝app®编辑器。

减少内存开销和便于分析模拟测井结果,日志记录属性覆盖信号。通过覆盖信号日志设置,你可以避免重新编译一个模型。

信号覆盖日志记录属性是有用的,当你想:

  • 专注于只有少数信号通过禁用日志记录的信号标记为日志记录。你可以标记为测井信号的超集,然后选择不同子集的日志记录。

  • 排除一些日志输出信号的信号。

  • 日志记录属性覆盖特定信号,例如大量毁灭一个信号。

  • 收集运行时只需要多个测试向量。

两个接口日志记录设置为覆盖信号

使用两个接口信号覆盖日志设置:

您可以使用两个接口的组合。信号记录选择器创建金宝appSimulink.SimulationData.ModelLoggingInfo在保存对象覆盖设置。命令行界面的属性的名称对应于信号记录选择器接口。例如,金宝appSimulink.SimulationData.ModelLoggingInfo类都有一个LoggingMode属性,该属性对应日志记录模式参数信号记录选择器。

日志记录设置信号覆盖的范围

当你覆盖信号日志设置,仿真软件使用那些覆盖设置当你模拟模型。金宝app

金宝app仿真软件模型中保存您指定的信号记录覆盖配置。然而,模型并不改变金宝app信号中的日志记录设置信号属性对话框中的每个信号模型。

在信号记录选择器,如果你覆盖一些信号日志设置,然后设置日志记录模式日志中指定的所有信号模型日志设置中定义的模型出现在信号记录选择器。覆盖设置变成灰色,表示你不能覆盖这些设置。重新激活覆盖设置,设置日志记录模式覆盖信号。使用信号记录选择器覆盖日志记录为一个特定的信号不会影响信号测井信号指示器。

如果你关闭,然后重新打开模型中,日志记录设置覆盖,你实际上,如果日志记录模式设置为覆盖信号模型。当模型显示信号记录指标,它显示了所有记录信号的指标,包括记录的信号覆盖。

请注意

金宝app模型重建模型在以下情况:

  1. 模型包含一个或多个信号记录标记为信号。

  2. 你在快速加速器模式模拟模型。

  3. 使用信号记录选择器或MATLAB®命令行修改日志配置的信号。

  4. 你又在快速加速器模式模拟模型。

与信号覆盖信号记录设置日志记录选择器

  1. 打开信号记录选择器,使用下列方法之一:

    • 配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

      提示

      要启用配置信号记录按钮,选择信号记录配置参数。

    • 模型,该模型包括一个模型块,您还可以使用以下方法:

      1. 在模型编辑器中金宝app,右键单击一个模型块。

      2. 在上下文菜单中,选择日志引用的信号

  2. 日志记录模式覆盖信号

    请注意

    覆盖信号设置影响模型层次结构的所有水平。这个设置会导致关闭日志记录对任何信号在整个层次结构,基于现有设置。检查设置,选择适当的节点模型层次结构窗格。

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 覆盖信号日志设置。使用下列方法之一,这取决于您的模型使用模型引用:

提示

打开配置参数>数据导入/导出从信号记录选择器面板,使用按钮。

模型没有模型引用:覆盖信号日志设置

如果你的模型不使用模型引用(即不包括任何模型模型块),覆盖信号记录设置使用以下过程。

  1. 打开信号记录选择器。在配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

    • 如果有必要,选择信号记录要启用配置信号记录按钮。

  2. 日志记录模式覆盖信号

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 内容面板表,选择日志设置你想要覆盖的信号。

  5. 覆盖日志设置:

    • 禁用日志记录的信号,清除数据采集复选框的信号。

    • 覆盖其他信号记录设置(例如,大批杀害),确保数据采集复选框被选中。然后,编辑适当的列中的值。

模型与模型引用:覆盖信号日志设置

如果你的模型使用模型引用(即模型包括至少一个模型块),覆盖信号记录设置使用一个或多个这样的过程:

启用日志记录信号。默认情况下,仿真软件日志金宝app中的所有记录的信号模型,包括记录的信号在层次结构模型参考。

如果禁用日志记录在顶级顶级模型或信号模型块在参考模型层次结构,然后在模型层次结构左边的窗格中,复选框节点:

  • 固体(),如果禁用日志记录的信号。

  • 空(),如果禁用日志记录的信号。

启用日志记录所有记录信号的节点:

  1. 打开信号记录选择器。在配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

  2. 日志记录模式覆盖信号

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 模型层次结构窗格中,选中该复选框左边的节点,那么该复选框有一个复选标记()。

    • 顶层模型,启用日志记录信号在顶层模型,但不记录信号的层次结构模型参考。

    • 对于一个模型块引用模型层次结构的顶部,启用日志记录对整个模型参考等级选择的参考模型。

禁用日志记录所有节点的信号。如果启用了日志记录信号对任何信号模型中节点,然后在模型层次结构窗格中,左侧的复选框节点:

  • 固体(),如果启用了日志记录的一些信号。

  • 检查(),如果启用了日志记录的信号。

禁用日志记录所有记录信号的一个节点的模型:

  1. 打开信号记录选择器。在配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

  2. 日志记录模式覆盖信号

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 模型层次结构窗格中,清除复选框左边的节点,所以复选框是空的()。

    • 顶层模型,禁用日志记录信号在顶层模型,但不记录信号的层次结构模型参考。

    • 对于一个模型块引用模型层次结构的顶部,禁用日志记录对整个模型参考等级选择的参考模型。

覆盖信号测井信号的一个子集。记录一些,但不是全部,记录信号模型节点:

  1. 打开信号记录选择器。在配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

  2. 日志记录模式覆盖信号

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 模型层次结构窗格中,确保顶级模型或复选框模型块是固体(),如果禁用日志记录的一些信号,或空(),如果禁用日志记录的信号。单击复选框通过不同状态周期。

  5. 内容面板表,你想记录的信号,选择的复选框数据采集列。

    启用日志记录多个信号,保存转变Ctrl键,选择一个范围的信号或个人信号。选择的复选框数据采集列的一个突出显示的信号。

日志记录属性覆盖其他信号。除了覆盖的设置数据采集属性的一个信号,你可以覆盖其他信号日志记录属性,如大量毁灭。

  1. 打开信号记录选择器。在配置参数>数据导入/导出窗格中,单击配置信号记录按钮。

  2. 日志记录模式覆盖信号

  3. 查看节点包含记录的信号,你想覆盖。如果有必要,扩大节点或配置模型层次结构窗格显示蒙面子系统。看到查看日志配置使用信号记录选择器

  4. 模型层次结构窗格中,确保顶级模型或复选框模型块是固体()如果禁用日志记录的信号,或空(),如果禁用日志记录所有信号。单击复选框通过不同状态周期。

  5. 内容面板表,为你想要的信号覆盖日志记录属性,通过选择的复选框启用日志记录数据采集列。

    启用日志记录多个信号,保存转变Ctrl键,选择一个范围的信号或个人信号。选择的复选框数据采集列的一个突出显示的信号。

  6. 内容面板表,修改设置属性,如DecimateData大量毁灭

覆盖信号日志设置MATLAB

MATLAB命令行界面覆盖信号记录设置包括:

查询模型的测井信号覆盖状态,使用DataLoggingOverride参数。

从命令行配置信号记录,使用上面列出的三个类的方法和属性。应用配置,使用set_paramDataLoggingOverride模型参数。

以下部分描述了如何使用命令行界面来执行一些常见的信号日志配置任务。

创建一个模型日志信息对象

使用命令行界面覆盖信号日志设置,首先创建一个金宝appSimulink.SimulationData.ModelLoggingInfo对象。例如,使用以下命令创建的模型记录覆盖对象ex_bus_logging模型和自动添加的每个记录信号模型中对象:

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mi = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel (“ex_bus_logging”)
mi = ModelLoggingInfo属性:模型:“ex_bus_logging”LoggingMode:“OverrideSignals”LogAsSpecifiedByModels:{}的信号:[1 x4 Simulink.SimulationData.Sign金宝appalLoggingInfo]

LoggingMode属性设置为OverrideSignals,配置模型记录覆盖对象只记录中指定的信号信号财产。

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

set_param (ex_bus_logging“DataLoggingOverride”、mi);

金宝app当你保存模型仿真软件保存设置。

你可以控制的各种系统包括记录的信号。默认情况下,金宝appSimulink.SimulationData.ModelLoggingInfo对象包括记录的信号:

  • 戴面具的子系统

  • 引用模型

  • 积极的变异

作为一种替代方法,您可以使用金宝appSimulink.SimulationData.ModelLoggingInfo构造函数和指定一个金宝appSimulink.SimulationData.SignalLoggingInfo对象为每一个信号。确保您指定的有效信号记录设置一个模型,使用verifySignalAndModelPaths方法与金宝appSimulink.SimulationData.ModelLoggingInfo对象模型。

指定哪个模型记录

指定是否使用信号模型中指定的日志设置和所有引用的模型,或覆盖这些设置,使用LoggingMode财产的金宝appSimulink.SimulationData.ModelLoggingInfo对象。

您可以控制是否顶层模型和参考模型使用覆盖信号记录设置或使用指定的日志设置信号模型。看到金宝appSimulink.SimulationData.ModelLoggingInfo文档。

这个例子展示了如何记录中指定的所有信号模型和所有引用的模型。信号存储在日志输出topOut

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mi = 金宝appSimulink.SimulationData.ModelLoggingInfo(“ex_bus_logging”);mi.LoggingMode =“LogAllAsSpecifiedInModel”
mi = ModelLoggingInfo属性:模型:“ex_bus_logging”LoggingMode:“LogAllAsSpecifiedInModel”LogAsSpecifiedByModels:{}的信号:[]

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

set_param (ex_bus_logging“DataLoggingOverride”、mi);

下面的例子显示了如何记录只在顶部信号模型:

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mi = 金宝appSimulink.SimulationData.ModelLoggingInfo(“ex_bus_logging”);mi.LoggingMode =“OverrideSignals”;mi = mi.setLogAsSpecifiedInModel (“ex_bus_logging”,真正的);

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

set_param (ex_bus_logging“DataLoggingOverride”、mi);

金宝app当你保存模型仿真软件保存设置。

测井信号的一个子集

为一个简单的模型与有限数量的记录信号,你可以创建一个空金宝appSimulink.SimulationData.ModelDataLogInfo对象。然后创建金宝appSimulink.SimulationData.SignalLoggingInfo对象的信号,你想日志,日志信息,并将这些对象分配给模型对象。

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mdl =“ex_bus_logging”;黑色=“ex_bus_logging / IncrementBusCreator”;blkPort = 1;load_system (mdl);ov = 金宝appSimulink.SimulationData.ModelLoggingInfo (mdl);所以= S金宝appimulink.SimulationData.SignalLoggingInfo(黑色,blkPort);ov.Signals (1) =;%应用这个对象模型set_param (mdl“DataLoggingOverride”、ov);%模拟sim (mdl);%只观察到的信号topOut

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

set_param (mdl“DataLoggingOverride”、ov);

金宝app当你保存模型仿真软件保存设置。

为模型,利用模型引用,或者是复杂的,指定记录信号记录的一个子集,考虑使用findSignal方法金宝appSimulink.SimulationData.ModelLoggingInfo对象。例如,日志只有一个信号从参考模型实例引用:

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mi = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel (“ex_bus_logging”);pos = mi.findSignal ({“ex_bus_logging / CounterA”“ex_mdlref_counter_bus /总线的创造者”},1)
pos = 4
idx = 1:长度(mi.Signals) mi.Signals .LoggingInfo (idx)。数据采集= (idx = = pos);结束

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

set_param (ex_bus_logging“DataLoggingOverride”、mi);

金宝app当你保存模型仿真软件保存设置。

日志记录属性覆盖其他信号

除了覆盖的设置数据采集属性的一个信号,你可以覆盖其他信号日志记录属性,如大量毁灭。

使用金宝appSimulink.SimulationData.LoggingInfo日志记录属性属性覆盖信号。下面的例子显示了如何设置才覆盖设置。

open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_bus_logging”)));open_system (docpath (fullfile (docroot,“工具箱”,“金宝app模型”,“例子”,“ex_mdlref_counter_bus”)));mi = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel(“ex_bus_logging”);pos = mi.findSignal ({“ex_bus_logging / CounterA”“ex_mdlref_counter_bus /总线的创造者”1)};mi.Signals .LoggingInfo (pos)。DecimateData = true;mi.Signals .LoggingInfo (pos)。大量毁灭= 2;

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

set_param (ex_bus_logging“DataLoggingOverride”、mi);

金宝app当你保存模型仿真软件保存设置。

相关的例子

更多关于