主要内容

使用有限状态机器状态流图表

一个有限状态机是事件驱动的反应性系统的表示,当定义更改的条件为真时,该系统从一个操作模式过渡到另一种操作模式。例如,您可以使用状态机来表示汽车的自动传输。变速箱具有操作模式,例如公园,反向,中性,驱动器和低点。当驾驶员移动齿轮时,系统从一个操作模式过渡到另一种操作模式。

种类状态流

为了表示有限状态机的输入,输出和操作模式之间的关系,您可以添加状态流®块到模拟万博1manbetx®创建状态过渡图,状态过渡表和真相表的模型:

小费

结合国家机器编程的优势与MATLAB的完整功能®,您可以创建独立的状态流图。您可以直接通过命令窗口或使用脚本执行独立图表作为MATLAB对象。您还可以对MATLAB应用程序进行编程,该应用程序通过图形用户界面来控制图表状态。有关更多信息,请参阅创建作为MATLAB对象执行的状态流图表

程序状态流图表

创建模拟有限状态机的状态流图:

  1. 创建一个通过调用该万博1manbetx函数的模型,该模型包含一个空的状态流图表sfnew

    sfnew

  2. 要打开状态流编辑器,请双击图表块。有关使用状态流编辑器的更多信息,请参见状态流编辑器操作

  3. 对于系统中的每个操作模式,绘制状态并通过添加状态标签来实现状态操作,如前所述使用状态表示操作模式

  4. 为了表示状态之间的流逻辑方向,通过添加过渡标签来绘制过渡并实现过渡条件,如操作模式之间的过渡

  5. 如果您的系统具有输入或输出,或取决于任何状态变量,则添加输入,输出和本地数据,如图所述添加状态流数据

  6. 如果您的系统对事件触发器有反应或必须在模型中的图表或其他块中触发操作,请添加输入,输出或本地事件,如图所述通过广播事件同步模型组件

  7. 如果您的图表具有复杂的状态操作或过渡条件,请在图表中添加可重复使用的功能。通过从这些函数中选择状态作用或过渡条件下的计算类型,使用最自然的函数格式:

    另外,您可以编写自己的C或C ++代码以与图表集成。有关更多信息,请参阅在状态流图中重用自定义代码

  8. 使用输入和输出端口将图表连接到Simulink模型中的其他块。万博1manbetx

  9. 要模拟模型,请单击。在模拟过程中,状态流编辑器突出显示了活动状态和通过图表动画进行过渡。

有关说明此工作流程的教程,请参见构建并运行状态流图

参考

[1]哈雷尔,大卫。“ Statecharts:复杂系统的视觉形式主义。”计算机编程科学8,第3号(1987年6月):231-74。

[2] Hatley,Derek J.和Imtiaz A. Pirbhai。实时系统规范的策略。纽约,纽约:多塞特郡出版社,1988年。

也可以看看

|||

相关话题