利用有限状态机模型Stateflow图表
一个有限状态机表示一个事件驱动的,反应系统,从一个操作模式转换到另一个状态定义改变时是正确的。例如,您可以使用一个状态机表示汽车的自动变速器。传输操作模式,如公园、反向、中性,开车,和低。随着司机的换挡杆,系统从一个操作模式转换到另一个。
类型的Stateflow块
代表之间的关系输入、输出和有限状态机的操作模式,您可以添加Stateflow®块的仿真软件万博1manbetx®模型创建状态转换图,状态转换表,和真值表:
一个图表是一个图形表示的有限状态机基于状态转换图。Stateflow图,状态和转换形式时序逻辑系统的基本构建块。对应于操作模式和状态代表通路之间的转换。有关更多信息,请参见通过使用状态代表操作模式和操作模式之间的过渡。
一个状态转换表代表一个有限状态机连续模态逻辑的表格格式。相反的状态和转换Stateflow图表,您可以使用状态机的状态转换表模型简洁,紧凑的格式,需要最少的维护图形对象。有关更多信息,请参见使用状态转换表以表格的形式表达时序逻辑。
一个真值表实现组合逻辑设计以表格格式。你可以用真值表块模型为故障检测与管理决策和模式切换。有关更多信息,请参见用真值表模型组合逻辑。
实现控制逻辑,Stateflow图表和状态转换表块可以使用MATLAB®或者C的动作语言。真值表块只使用MATLAB作为动作语言。有关更多信息,请参见MATLAB和C之间的差异作为动作语言的语法。
提示
把状态机编程的优点与MATLAB的全部功能,您可以创建一个独立的Stateflow图表。你直接执行独立的图表为MATLAB对象通过命令窗口或通过使用一个脚本。你也可以计划一个MATLAB应用程序控件的状态表通过一个图形用户界面。有关更多信息,请参见为执行为MATLAB对象创建Stateflow图表。
项目是Stateflow图表
创建一个Stateflow图表,模型一个有限状态机:
创建一个仿真软件模万博1manbetx型,其中包含一个空Stateflow图通过调用函数
sfnew
。sfnew
打开Stateflow编辑器中,双击图块。有关使用Stateflow编辑器的更多信息,请参阅Stateflow编辑操作。
系统为每个操作模式,画一个状态和实施国家行动通过添加标签,所述通过使用状态代表操作模式。
组织复杂系统,定义的层次结构内部状态通过孩子父母的状态。例如,您可以使用超级大国附上亚态,共享相同的国家行动。有关更多信息,请参见使用层次结构设计多级状态的复杂性。
模型操作模式,是活跃的同时,支持并行(和)分解在父状态。有关更多信息,请参见定义独家使用状态分解和并行模式。
代表国家之间的方向流逻辑,得出转换和实现转换条件通过添加过渡标签,所述操作模式之间的过渡。
标志着第一次成为活跃,使用默认的过渡。有关更多信息,请参见使用默认转换指定初始亚态活动。
创建路径从一个源到多个目的地或从多个数据源到一个目的地,结合转换和连接词连接。有关更多信息,请参见结合过渡和连接来创建分支路径。
如果您的系统已经输入或输出,或取决于状态变量,添加输入,输出,和本地数据中描述添加Stateflow数据。
如果您的系统反应事件触发或触发器动作必须在你的图表或其他块模型中,添加输入,输出,或当地事件中描述通过广播事件同步模型组件。
如果您的表有复杂的状态操作或转换条件,将可重用功能添加到您的图表。使用这个函数格式最自然的状态操作或转换的类型的计算条件通过选择从这些功能:
图形功能,封装包含逻辑流程图和迭代循环模式。看到重用逻辑模式通过定义图形功能。
MATLAB函数——写matrix-oriented算法进行数据分析和可视化。看到通过定义重用MATLAB代码MATLAB函数。
万博1manbetx仿真软件的功能,简化你的设计通过调用模型函数调用子系统。看到重用模型函数万博1manbetxStateflow图表。
真值表——代表组合逻辑决策应用。看到用真值表模型组合逻辑。
或者,您可以编写自己的C或c++代码集成图表。有关更多信息,请参见重用定制代码Stateflow图表。
连接图仿真软件模型中的其他模块通过使用输入和输出端口。万博1manbetx
模拟模型,点击运行。在仿真过程中,Stateflow通过图表动画编辑强调积极的状态和转换。
教程说明了这个工作流,请参阅构建和运行一个Stateflow图表。
引用
Harel[1],大卫。状态图:复杂系统的视觉形式主义。”科学的计算机编程8,不。3(1987年6月):231 - 74。
[2]德里克·j·哈特利,Imtiaz Pirbhai。实时系统规范的策略。纽约,纽约:多塞特郡的房子出版,1988年。