主要内容

Stateflow.SimulationData.State

模拟期间的状态活动

描述

使用Stateflow.SimulationData.State在模拟期间记录状态的活动。

创建

  1. 在状态流中®编辑器,选择一个状态。

  2. 模拟选项卡,在准备中,选择记录自我活动.另外,在属性检查器下,日志记录,选择记录自我活动复选框。

属性

全部展开

状态的日志记录名称,指定为字符数组。默认情况下,状态的日志记录名称是使用句点()来分离状态层次结构中的每一层。要为状态分配较短的名称,请使用属性检查器,设置日志的名字自定义并输入自定义日志名称。

数据类型:字符

源块的块路径,指定为金宝appSimulink.SimulationData.BlockPath(金宝app模型)对象。

数据类型:金宝appSimulink.SimulationData.BlockPath

状态活动,指定为timeseries对象。数据值表示状态是否处于活动状态(1)或不活动(0).时间值对应仿真时间。

数据类型:timeseries

对象的功能

情节(金宝app模型) 在仿真数据检查器中绘制仿真结果

例子

全部折叠

  1. 打开sf_semantics_hotel_checkin模型。

    openExample (“stateflow / SemanticsHotelCheckinExample”

    有关此示例的详细信息,请参见状态流对象在执行过程中如何交互

  2. 打开酒店图表。

  3. 打开符号窗格。在模拟选项卡,在准备,点击符号面板

  4. 配置Dining_area日志状态。

    • 在状态流编辑器中,选择Dining_area状态。

    • 模拟选项卡,在准备中,选择记录自我活动

      属性检查器下,日志记录,选择记录自我活动复选框。

    • 默认情况下,此状态的日志记录名称是分层信号名称Check_in.Checked_in.Executive_suite.Dining_area.若要为状态分配较短的名称,请设置日志的名字自定义并输入餐厅

  5. 返回到Simulink金宝app®模型。

  6. 模拟模型。在开始模拟后,通过拨动第一个开关两次入住酒店,并通过拨动第二个开关多次订购客房服务。在模拟过程中,statflow将记录的数据保存在金宝appSimulink.SimulationData.Dataset(金宝app模型)信号记录对象。信号记录对象的默认名称为logsout.有关更多信息,请参见使用信号日志导出信号数据(金宝app模型)

  7. 停止模拟。

  8. 要访问信号测井对象,在MATLAB中®命令提示符,输入:

    logsout
    logsout =金宝appSimulink.SimulationData.Dataset1元素名称BlockPath logsout  ___________ ________________________________ 1 (1 x1状态)餐厅sf_semantics_hotel_checkin /酒店

  9. 要访问已记录的元素,请使用得到(金宝app模型)方法。

    diningLog = logsout.get(“餐厅”
    diningLog =Stateflow.SimulationData.State包:Stateflow。模拟数据属性: Name: 'Dining Room' BlockPath: [1×1 Simulink.SimulationData.BlockPath] Values: [1×1 timeseries]

  10. 要访问每个已记录元素的已记录数据和时间,请使用值。数据而且值。时间属性。方法以表格形式排列记录的数据表格函数。

    T = table(diningLog.Values.Time,diningLog.Values.Data);T.Properties.VariableNames = [“时间”“数据”
    T = 6×2表格时间数据__________ ____ 0 0 1.8607e+06 1 1.9653e+06 0 1.9653e+06 1 1.9653e+06 0 2.2912e+06 1

版本历史

在R2017b中引入