主要内容

日志数据在图书馆图表

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

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

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

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

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

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

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

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

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

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

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

  1. 打开示例库sf_atomic_sensor_lib

    openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”,金宝appsupportingFile =“sf_atomic_sensor_lib”);
  2. 打开图书馆。在模拟选项卡上,单击锁库

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

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

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

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

    • 点击应用

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

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

    • 点击应用

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

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

    • 点击应用

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

    openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”)
  6. 打开配置参数对话框。

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

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

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

    金宝app仿真软件信号记录选择器显示日志记录属性继承从图书馆图表。

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

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

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

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

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

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

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

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

    金宝app仿真软件信号记录选择器显示不同的日志记录属性库图表。

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

  1. 打开示例库sf_atomic_sensor_lib

    openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”,金宝appsupportingFile =“sf_atomic_sensor_lib”);
  2. 打开图书馆。

    图书馆=找到(sfroot,“是”,“Stateflow.Machine”,Name =“sf_atomic_sensor_lib”);图书馆。锁= false;
  3. 日志的信号失败,FailOnce,好吧SingleSensor图表使用这些命令:

    州=找到(图书馆,“是”,“Stateflow.State”);i = 1: (i) .LoggingInfo长度(州)状态。数据采集= true;结束
  4. 打开模型sf_atomic_sensor_pair。这个模型包含两个库表的实例。

    open_system (“sf_atomic_sensor_pair”)
  5. 创建一个ModelLoggingInfo对象模型。

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

    logInfo = 金宝appSimulink.SimulationData.ModelLoggingInfo.createFromModel (“sf_atomic_sensor_pair”)
    logInfo = ModelLoggingInfo属性:模型:“sf_atomic_sensor_pair”LoggingMode:“OverrideSignals”LogAsSpecifiedByModels:{}的信号:[1×6 Simulink.SimulationData.Signa金宝applLoggingInfo]

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

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

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

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

    访问内部信号Stateflow图表,使用金宝appSimulink.SimulationData.BlockPath(路径,子路径),在那里子路径在图代表一个信号。例如,要创建块路径的信号失败,FailOnce,好吧在原子子图表Sensor1RedundantSensors图:

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

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

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

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

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

    set_param (bdroot DataLoggingOverride = logInfo);

另请参阅

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