日志状态和模拟输出数据
当你模拟Stateflow®图的仿真软件金宝app®模型中,您可以为本地日志值,输出和活动状态数据金宝appSimulink.SimulationData.Dataset
对象。在仿真之后,您可以通过访问这个对象仿真数据检查(金宝app模型),逻辑分析仪(DSP系统工具箱),或者在MATLAB®工作区。测井资料的工作流程是:
启动信号日志表和选择一个日志格式。看到启动信号记录。
配置状态和日志数据信号。看到配置状态和数据日志记录。
模拟图。
访问记录的数据。看到信号测井数据的访问。
启动信号记录
信号日志是默认启用模型和图表。禁用或使再能信号记录:
打开配置参数对话框。
在数据导入/导出窗格中,选择信号记录启用日志为图表。禁用日志记录、清晰信号记录。有关更多信息,请参见信号记录(金宝app模型)。
(可选)指定一个自定义信号记录对象的名称。默认的名称是
logsout
。使用这个对象,您可以访问日志数据在MATLAB工作空间变量。有关更多信息,请参见节省使用信号测井信号数据(金宝app模型)。(可选)格式字段中,选择一个信号记录格式。选项包括:
数组
结构
结构随着时间的推移
数据集
默认设置是
数据集
。有关更多信息,请参见时间、状态和输出数据格式(金宝app模型)。
配置状态和数据日志记录
你可以设置日志记录属性状态,本地数据,和输出数据在图表,通过Stateflow信号日志对话框,或以编程方式从命令行。
各州日志和数据
为一个状态配置日志记录属性或数据对象一次通过属性检查器、Model Explorer或状态或数据对象的属性对话框。选择日志记录选项卡,并根据需要修改属性。有关更多信息,请参见日志记录属性。
例如:
打开
sf_semantics_hotel_checkin
模型:openExample (“stateflow / SemanticsHotelCheckinExample”)
更多信息关于这个例子中,看到的在执行期间Stateflow对象如何交互。
打开
酒店
图表。打开符号窗格。在模拟选项卡,在准备,点击符号面板。
打开属性检查器。在模拟选项卡,在准备,点击属性检查器。
配置
服务
本地数据日志记录。在符号窗格中,选择
服务
。在属性检查器下,日志记录,选择测井信号数据复选框。
配置
Dining_area
负责日志记录。在Stateflow编辑器中,选择
Dining_area
状态。在模拟选项卡,在准备中,选择日志的自我活动。另外,在属性检查器下,日志记录,选择日志的自我活动复选框。
默认情况下,这个状态的日志名称等级信号名称
Check_in.Checked_in.Executive_suite.Dining_area
。分配一个短名称,设置日志的名字来自定义
并输入餐厅
。
日志多个信号
为多个州配置日志记录属性和数据对象通过Stateflow信号日志对话框。从列表中选择图表对象记录所有的州,当地和输出数据。有关更多信息,请参见日志记录属性。
例如:
打开
sf_semantics_hotel_checkin
模型:openExample (“stateflow / SemanticsHotelCheckinExample”)
打开
酒店
图表。记录多个信号,按,按住shift键选择日志的状态。在模拟选项卡,在准备中,选择日志的自我活动。
日志徽章标志着记录信号模型中。
添加一个输出端口
您可以添加一个输出端口监视图的活动。Stateflow编辑的模拟选项卡上,单击添加输出端口。将出现一个新的端口Stateflow图表。该端口连接到查看器来监控图表孩子活动。
通过使用命令行API日志图表信号
为州和配置日志记录属性数据对象编程方式从命令行。启用日志状态或数据对象,处理的对象和设置它LoggingInfo.DataLogging
财产1
。Stateflow编程接口的更多信息,参见Stateflow API的概述。
例如:
打开
sf_semantics_hotel_checkin
模型:openExample (“stateflow / SemanticsHotelCheckinExample”)
访问
Stateflow.State
对应的对象Dining_area
状态:diningState =找到(sfroot,“是”,“Stateflow.State”、名称=“Dining_area”);
访问
Stateflow.Data
对象对应于本地数据服务
:serviceData =找到(sfroot,“是”,“Stateflow.Data”、名称=“服务”);
启用日志记录的
Dining_area
国家和服务
数据:diningState.LoggingInfo。数据采集= true;serviceData.LoggingInfo。数据采集= true;
更改的日志名称
Dining_area
自定义名称餐厅
:%启用自定义命名diningState.LoggingInfo。NameMode =“自定义”;%输入自定义名称diningState.LoggingInfo。LoggingName =“餐厅”;
信号测井数据的访问
在仿真中,Stateflow节省记录数据金宝appSimulink.SimulationData.Dataset
(金宝app模型)信号日志对象。
例如,假设您配置sf_semantics_hotel_checkin
模型来记录服务
本地数据的活动Dining_area
状态。仿真开始后,您入住的酒店客房服务第一开关切换两次和秩序多次第二切换开关。停止仿真后,您可以查看通过仿真数据检查,记录数据逻辑分析仪,或者在MATLAB工作区。
通过仿真数据检查记录数据视图
打开仿真数据检查,模拟选项卡上,选择数据检查。当你模拟模型,突出显示的图标,表明仿真数据检查新的仿真数据。有关更多信息,请参见利用仿真数据检查员视图状态的活动。
通过逻辑分析仪查看记录数据
打开逻辑分析仪,在模拟选项卡上,选择逻辑分析仪。当你模拟模型,突出显示的图标来表示的逻辑分析仪新的仿真数据。有关更多信息,请参见视图Stateflow州逻辑分析仪。
请注意
使用逻辑分析仪,你必须有DSP系统工具箱™,SoC Blockset™,或高密度脂蛋白验证人™。
查看记录中的数据MATLAB工作空间
访问信号记录对象,在MATLAB命令提示符,输入:
logsout = out.logsout
logsout =金宝appSimulink.SimulationData.Dataset“logsout”与2元素名称BlockPath ___________ ________________________________ 1 [1 x1状态]餐厅sf_semantics_hotel_checkin /酒店2 1 x1数据服务sf_semantics_hotel_checkin /酒店
访问记录元素,使用
得到
函数。您可以访问记录元素的名字,指数,或块路径。diningLog =得到(logsout,“餐厅”)
diningLog =Stateflow.SimulationData.State包:Stateflow。模拟Data Properties: Name: 'Dining Room' BlockPath: [1×1 Simulink.SimulationData.BlockPath] Values: [1×1 timeseries]
serviceLog =得到(logsout,“服务”)
serviceLog =Stateflow.SimulationData.Data包:Stateflow。模拟Data Properties: Name: 'service' BlockPath: [1×1 Simulink.SimulationData.BlockPath] Values: [1×1 timeseries]
每个登录访问记录的数据和时间元素,使用
Values.Data
和Values.Time
属性。例如:用表格的形式安排记录数据,通过使用
表
函数。T1 =表(diningLog.Values.Time diningLog.Values.Data);T1.Properties。VariableNames = [“时间”,“数据”]
T1 = 6×2表数据__________ __ 0 0 1.9653 1.8607 e + 06年1 e + 06 0 1.9653 1.9653 e + 06年1 e + 06 0 2.2912 e + 06年1
T2 =表(serviceLog.Values.Time serviceLog.Values.Data);T2.Properties。VariableNames = [“时间”,“数据”]
T2 = 6×2表数据__________ __ 0 0 1.7076 e + 06 0 1.8607 1.9653 e + e + 06年1 06 2 1.9653 e + 06年3 1.9653 e + 06年4 2.2912 e + 06年5
视图记录数据图窗口使用
情节
函数。X = serviceLog.Values.Time;Y = serviceLog.Values.Data;情节(X, Y,“o”)包含(“时间”)ylabel (“数据”)
记录数据导出到Excel®电子表格通过记录值的数组
xlswrite
功能:一个=[双(diningLog.Values.Time)双(diningLog.Values.Data)];xlswrite (“dining_log.xls”,);
请注意
信号记录对象记录一个数据点,每次Stateflow图表的数据日志记录写道,即使不改变数据的价值。例如,在本例中,数据点的值0
初始化本地数据的图表时对应服务
来0
在时间0
当一个缺省转换集服务
来0
在时间1.7076 e + 06
。
日志多维数据
Stateflow日志每更新一个多维信号作为一个单独的改变。例如,更新两个矩阵的元素一个
分别
[1][1]= 1;[1][2]= 1;
一个
在一个命令= 1;
[我][j] = 1
所有的值我
和j
。
限制日志数据
当模拟模型在外部模式中,不支持日志Stateflow数据。金宝app
如果你日志状态活动或数据从一个图表快速启动启用,任何运行后第一次运行重复第一个记录的数据点。当您运行算法,处理这些数据点,你必须解释这种重复。
另请参阅
应用程序
对象
金宝appSimulink.SimulationData.Dataset
(金宝app模型)|Stateflow.SimulationData.Data
|Stateflow.SimulationData.State
功能
工具
- 信号特性(金宝app模型)
相关的话题
- 节省使用信号测井信号数据(金宝app模型)