此示例展示了如何将数据或状态指定为测试点,你可以在仿真过程中使用浮动范围绘制这些测试点或将其记录到MATLAB基本工作区。
关于状态流图中的测试点
Stateflow测试点是您可以在模拟过程中观察到的信号,例如,通过使用浮动范围块。您可以使用这些属性指定状态或本地数据作为测试点:
Size -标量、一维或二维
Type -除ml之外的任何数据类型
Location -状态流程图的子状态
您可以通过Stateflow API、属性检查器或模型资源管理器设置单个数据或状态的TestPoint属性,将其指定为测试点。
使用属性检查器为状态流状态和数据设置测试点
您可以在模型资源管理器中将单个状态、本地数据和输出数据明确设置为测试点。以下过程显示了如何为Stateflow状态和数据设置单独的测试点。
- 打开模型.
在状态流程图中,状态A及其子状态X是在第一个tic事件时输入的。状态A和子状态X保持活动状态,直到发生10次tic事件,然后进入状态B。在下一个事件中,进入状态A和子状态X,循环继续。数据数据属于子状态X。当X在10次事件中处于活动状态时,子状态X的条目和操作期间会增加数据。当进入状态B时,数据重新初始化为零,然后循环重复。
-
打开 Property Inspector, View > Property Inspector.
-
选择状态A. 然后, 在属性检查器的日志部分, 选择Test Point.
-
对状态X和B重复此操作。
-
打开Symbol viewer, View > Symbols.
-
选择数据 data. 然后, 在属性检查器的日志部分, 选择Test Point.
使用浮动示波器监视数据值和状态自身活动
配置一个浮动作用域块来监视数据值和状态的自身活动。
1 双击“Floating Scope”块。
2在Floating Scope窗口中, 选择Simulation > Signal Selector.
3 在 Model hierarchy 窗格中, 选择图表,然后在列表内容中选择信号。
4 仿真模型。
当状态A.X激活时,信号值为1。当该状态处于非活动状态时,信号值为0。由于与其他数据相比,此值可能非常低或很高,因此您可能需要添加第二个浮动范围块来将活动信号与其他数据进行比较。