里克•Boldt MathWorks
在本视频中,我们使用Stateflow®以图形方式设计状态机和时序逻辑,这对于使用MATLAB创建的Lamp应用程序来说很难以文本方式实现®应用程序设计师。
您可以从MATLAB创建一个独立的状态图,该状态图存储为.sfx文件,并可以实例化为MATLAB对象,以便在应用程序中使用。
此灯逻辑状态图是使用app Designer创建的应用程序的一部分。
请注意,关闭状态的动画指示它处于活动状态。关闭状态包含MATLAB代码,用于直接关闭指示灯并禁用GUI中的模式和闪烁速度小部件。
当我们在GUI中打开灯时,打开事件被发送到状态流图,导致状态机离开关闭状态并进入打开状态。这个状态有MATLAB代码来启用GUI中的模式和闪烁速度小部件。我们还可以看到子状态“固体”是活跃的,并包含打开灯的代码。
在这里,我们可以看到在App Designer中编写的代码,用于生成状态流程图中使用的打开和关闭事件。
该指示灯有两种操作模式:现在处于固态和闪烁状态。选择闪烁模式会使灯开始闪烁。请注意,闪烁状态内的打开和关闭状态之间的转换一直在发生。这些状态下的MATLAB代码打开和关闭GUI中的指示灯。
通过改变眨眼速度,我们可以减慢或加快两次转换之间的时间。这些转换基于MATLAB计时器发生,该计时器是由于使用了after关键字而自动生成的。
此示例显示如何将状态流程图用作应用程序的一部分。然而,状态流程图可以用来表示任何MATLAB程序中的复杂逻辑和状态机,而无需编写嵌套很深的if-else或switch-case语句。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。