主要内容

日志数据在图书馆图表

在仿真金宝app软件®,您可以创建自己的库来重用模块或子系统的功能在一个或多个模型。类似地,您可以重用一组Stateflow®算法通过封装在图书馆的功能图。

与其他模型块库,你可以专门图金宝app书馆的每个实例图块在您的模型中使用不同的数据类型,样品时间,和其他属性。图书馆实例继承可以重用相同的属性生成的代码。

块模型库的更多信息,请参阅金宝app自定义库(金宝app模型)

图书馆日志设置如何影响相关实例

图实例从图书馆继承日志记录属性图,他们是有联系的。你可以覆盖日志记录属性的实例,但只对您选择在图书馆的信号。你不能从实例选择额外的信号记录。

覆盖日志记录属性在图实例

覆盖属性图表记录信号的情况下,使用下列方法之一。

方法 如何使用
金宝app仿真软件信号记录选择器对话框 看到覆盖与日志日志记录属性选择器
命令行界面 看到用命令行API覆盖日志记录属性

在原子子图表覆盖日志记录属性

该模型sf_atomic_sensor_pair模拟一对冗余传感器作为原子子图表Sensor1Sensor2在表格中RedundantSensors。每个原子子图表包含实例的状态失败,FailOnce,好吧从图书馆图sf_atomic_sensor_lib

覆盖与日志日志记录属性选择器

  1. 打开示例库sf_atomic_sensor_lib

  2. 打开图书馆。在模拟选项卡上,单击锁库

  3. 在模型编辑器中金宝app,选择StateflowSingleSensor图表。在模拟选项卡上,单击日志状态从列表

  4. 在Stateflow信号日志对话框,设置以下日志记录属性,然后单击好吧

    信号: 指定:
    失败
    • 选择测井信号数据复选框。

    • 改变日志的名字自定义名称LogFail

    • 点击应用

    FailOnce
    • 选择测井信号数据复选框。

    • 改变日志的名字自定义名称LogFailOnce

    • 点击应用

    好吧
    • 选择测井信号数据复选框。

    • 改变日志的名字自定义名称LogOK

    • 点击应用

  5. 打开模型sf_atomic_sensor_pair。这个模型包含两个库表的实例。

  6. 打开模型配置参数对话框。

  7. 数据导入/导出窗格中,单击配置信号记录打开模型信号记录选择器。金宝app

  8. 模型层次结构窗格中,展开RedundantSensors,然后单击Sensor1Sensor2

    每个实例从图书馆继承日志记录属性图。例如:

  9. 现在,覆盖一些日志记录属性Sensor1:

    1. 模型层次结构窗格中,选择Sensor1

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

      选择器清除所有数据采集复选框的模型。

    3. 启用日志记录的失败FailOnceSensor1:

      选择数据采集这两个信号。离开数据采集清除的好吧信号。

    4. 附加的文本Sensor1日志的名字失败FailOnce:

      双击日志名称的信号失败FailOnce、重命名LogFailSensor1LogFailOnceSensor1,分别。

    设置应该是这样的:

用命令行API覆盖日志记录属性

  1. 打开示例库sf_atomic_sensor_lib

  2. 日志的信号失败,FailOnce,好吧SingleSensor图表使用这些命令:

    %得到州SingleSensor图表rt = sfroot;州= rt.find (“是”,“Stateflow.State”);%为每个状态启用日志记录i = 1: (i) .LoggingInfo长度(州)状态。数据采集= 1;结束
  3. 打开模型sf_atomic_sensor_pair。这个模型包含两个库表的实例。

  4. 创建一个ModelLoggingInfo对象模型。

    这个对象包含一个向量信号商店所有记录信号。

    mi = 金宝appSimulink.SimulationData.ModelLoggingInfo。createFromModel (“sf_atomic_sensor_pair”)

    其结果是:

    mi = 金宝appSimulink.SimulationData。ModelLoggingInfoPackage: Simulink.SimulationData Properties: Model: 'sf_atomic_sensor_pair' LoggingMode: 'OverrideSignals' LogAsSpecifiedByModels: {} Signals: [1x6 Simulink.SimulationData.SignalLoggingInfo]

    信号向量包含信号标记为登录图书馆图:

    • 图书馆的实例失败,FailOnce,好吧在原子子图表Sensor1

    • 图书馆的实例失败,FailOnce,好吧在原子子图表Sensor2

  5. 确保LoggingMode=“OverrideSignals”

  6. 每个记录信号的属性创建一个块路径覆盖。

    访问内部信号Stateflow图表,使用金宝appSimulink.SimulationData.BlockPath(paths, subpath),在那里子路径在图代表一个信号。

    创建块路径信号失败,FailOnce,好吧在原子子图表Sensor1RedundantSensors图:

    failPath = 金宝appSimulink.SimulationData。BlockPath (“sf_atomic_sensor_pair / RedundantSensors / Sensor1”,“失败”)failOncePath = S金宝appimulink.SimulationData。BlockPath (“sf_atomic_sensor_pair / RedundantSensors / Sensor1”,“FailOnce”)OKPath = S金宝appimulink.SimulationData。BlockPath (“sf_atomic_sensor_pair / RedundantSensors / Sensor1”,“好吧”)
  7. 索引中的每个记录信号金宝appSimulink.SimulationData.BlockPath对象。

    信号的指数失败,FailOnce,好吧:

    failidx = mi.findSignal (failPath);failOnceidx = mi.findSignal (failOncePath);OKidx = mi.findSignal (OKPath);
  8. 信号覆盖一些日志记录属性Sensor1:

    1. 禁用日志记录的信号好吧:

      mi.Signals .LoggingInfo (OKidx)。数据采集= 0;
    2. 附加的文本Sensor1日志的名字失败FailOnce:

      %启用自定义命名mi.Signals .LoggingInfo (failidx)。NameMode = 1;mi.Signals .LoggingInfo (failOnceidx)。NameMode = 1;%输入自定义名称mi.Signals .LoggingInfo (failidx)。LoggingName =“LogFailSensor1”;mi.Signals .LoggingInfo (failOnceidx)。LoggingName =“LogFailOnceSensor1”;
  9. 应用更改:

    set_param (bdroot“DataLoggingOverride”、mi);

另请参阅

(金宝app模型)|(金宝app模型)