日志数据在图书馆图表
在仿真金宝app软件®,您可以创建自己的库来重用模块或子系统的功能在一个或多个模型。类似地,您可以重用一组Stateflow®算法通过封装在图书馆的功能图。
与其他模型块库,你可以专门图金宝app书馆的每个实例图块在您的模型中使用不同的数据类型,样品时间,和其他属性。图书馆实例继承可以重用相同的属性生成的代码。
块模型库的更多信息,请参阅金宝app自定义库(金宝app模型)。
图书馆日志设置如何影响相关实例
图实例从图书馆继承日志记录属性图,他们是有联系的。你可以覆盖日志记录属性的实例,但只对您选择在图书馆的信号。你不能从实例选择额外的信号记录。
覆盖日志记录属性在图实例
覆盖属性图表记录信号的情况下,使用下列方法之一。
方法 | 如何使用 |
---|---|
金宝app仿真软件信号记录选择器对话框 | 看到覆盖与日志日志记录属性选择器 |
命令行界面 | 看到用命令行API覆盖日志记录属性 |
在原子子图表覆盖日志记录属性
该模型sf_atomic_sensor_pair
模拟一对冗余传感器作为原子子图表Sensor1
和Sensor2
在表格中RedundantSensors
。每个原子子图表包含实例的状态失败
,FailOnce
,好吧
从图书馆图sf_atomic_sensor_lib
。
覆盖与日志日志记录属性选择器
打开示例库
sf_atomic_sensor_lib
。openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”,…金宝appsupportingFile =“sf_atomic_sensor_lib”);
打开图书馆。在模拟选项卡上,单击锁库。
在模型编辑器中金宝app,选择Stateflow
SingleSensor
图表。在模拟选项卡上,单击日志状态从列表。在Stateflow信号日志对话框,设置以下日志记录属性,然后单击好吧。
信号: 指定: 失败
选择测井信号数据复选框。
改变日志的名字自定义名称
LogFail
。点击应用。
FailOnce
选择测井信号数据复选框。
改变日志的名字自定义名称
LogFailOnce
。点击应用。
好吧
选择测井信号数据复选框。
改变日志的名字自定义名称
LogOK
。点击应用。
打开模型
sf_atomic_sensor_pair
。这个模型包含两个库表的实例。openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”)
打开配置参数对话框。
在数据导入/导出窗格中,单击配置信号记录打开模型信号记录选择器。金宝app
在模型层次结构窗格中,展开
RedundantSensors
,然后单击Sensor1
和Sensor2
。每个实例从图书馆继承日志记录属性图。
覆盖一些日志记录属性
Sensor1
:在模型层次结构窗格中,选择
Sensor1
。改变日志记录模式来
覆盖信号
。选择器清除所有数据采集复选框的模型。
启用日志记录的
失败
和FailOnce
州Sensor1
:选择数据采集这两个信号。离开数据采集清除的
好吧
信号。附加的文本
Sensor1
日志的名字失败
和FailOnce
:双击日志名称的信号
失败
和FailOnce
、重命名LogFailSensor1
和LogFailOnceSensor1
,分别。
用命令行API覆盖日志记录属性
打开示例库
sf_atomic_sensor_lib
。openExample (“stateflow / ModelingARedundantSensorPairUsingAtomicSubchartExample”,…金宝appsupportingFile =“sf_atomic_sensor_lib”);
打开图书馆。
图书馆=找到(sfroot,“是”,“Stateflow.Machine”,…Name =“sf_atomic_sensor_lib”);图书馆。锁= false;
日志的信号
失败
,FailOnce
,好吧
在SingleSensor
图表使用这些命令:州=找到(图书馆,“是”,“Stateflow.State”);为i = 1: (i) .LoggingInfo长度(州)状态。数据采集= true;结束
打开模型
sf_atomic_sensor_pair
。这个模型包含两个库表的实例。open_system (“sf_atomic_sensor_pair”)
创建一个
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
每个记录信号的属性创建一个块路径覆盖。
访问内部信号Stateflow图表,使用
金宝appSimulink.SimulationData.BlockPath(路径,子路径)
,在那里子路径
在图代表一个信号。例如,要创建块路径的信号失败
,FailOnce
,好吧
在原子子图表Sensor1
在RedundantSensors
图: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”);
索引中的每个记录信号
金宝appSimulink.SimulationData.BlockPath
对象。failidx = logInfo.findSignal (failPath);failOnceidx = logInfo.findSignal (failOncePath);OKidx = logInfo.findSignal (OKPath);
信号覆盖一些日志记录属性
Sensor1
:禁用日志记录的信号
好吧
:logInfo.Signals .LoggingInfo (OKidx)。数据采集= false;
附加的文本
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”;
应用更改:
set_param (bdroot DataLoggingOverride = logInfo);
另请参阅
金宝appSimulink.SimulationData.ModelLoggingInfo
(金宝app模型)|金宝appSimulink.SimulationData.BlockPath
(金宝app模型)