stateflow-有限状态系统-并行机制1

1、并行机制

在有限状态系统中,状态的行为可以按照其解析方式分为两大类:互斥状态(exclusive 或者 OR)和并行状态(parallel 或者 AND)。如果在层次化的状态图中包含了互斥的状态,也 就意味着同一时刻在同一层次的状态中仅有一个状态处于活动状态;若状态被设置为并行 状态,则位于同一层次下的所有状态都在同一时刻处于活动状态。在同一层次下,状态要 么是互斥的,要么是并行的,不可能在同一层次下存在两种模式共存的情况。

如图 6-1 所示,状态 Slot 和状态 Player 的边框是虚线,因此这两个状态就是处于并行 状态的 Stateflow 状态,它们可以同时处于活动的状态,而其内部包含的子状态 NoDisk 和 HasDisk 以及 Stop 和 Play 状态边框是实线,因此子状态之间是互斥的状态,子状态在相应 的层次同一时刻只能有一个处于活动状态。

对于 Stateflow 模型,有以下几点需要再次强调:

■ Stateflow 的状态要么是互斥的要么是并行的。

■ 由互斥状态组成的状态图或父状态,在同一时刻只能有一个活动的子状态。

■ 由并行状态组成的状态图或父状态,一旦被激活,则所有并行子状态同时处于活动 状态。

■ 并行状态在它们的父层次对象——状态图或父状态被激活时也被激活。

■ 转移不可以直接起始于或终止于某个并行状态,不需要也不能为并行的状态创建默 认转移。

■ Stateflow 默认系统为互斥模式。

2、本地事件广播

本地事件主要用于包含并行状态的有限状态 系统,使不同的并行状态之间进行交互。例如,很多 CD 播放器在插入光盘之后就自动进入 到播放状态,如果用 Stateflow 来描述这个过程,就是插入光盘这个动作广播了 PLAY 事件, 将播放器从 Stop 状态切换到 Play 状态

定义本地事件的主要目的就是通过广播本 地事件来影响状态图的运行。进行本地事件广 播的方法非常简单,直接将事件的名称写在相 应的动作中就可以了。那么监听这个事件的相 应动作——状态转移、动作等就会在事件广播 的时刻完成工作。例如在本节开始的时候讲述 的 CD 播放器的例子,就可以利用事件广播来实 现。修改图 6-1 所示的 Stateflow 框图,这里将 PLAY事件和STOP事件定义为状态图的本地事 件,如图 6-19 所示。 在这个框图中,在 Slot 状态的子状态 HasDisk 中增加 entry 动作,这个动作将事件 PLAY 广播出去;同样,在 NoDisk 子状态中也 包含了 entry动作,进行 STOP 事件的广播。于是,当发生 INSERT事件,Slot 系统进入 HasDisk 子状态时,子状态的 entry 动作执行,广播 PLAY 事件,则 Player 状态中的 Play 子状态被激 活。当发生 EJECT 事件,Slot 系统进入 NoDisk 子状态时,子状态的 entry 动作执行,广播 STOP 事件,则 Player 状态中的 Stop 子状态被激活。这就是利用事件广播实现并行状态之 间的相互影响的过程。

"Matlab-Simulink-Stateflow-TargetLink建模指导手册"是一本针对Matlab、Simulink和Stateflow这三个软件工具的建模指导手册。这本指导手册主要旨在帮助用户学习和掌握使用这些工具进行建模的基本方法和技巧。 首先,手册介绍了Matlab、Simulink和Stateflow这三个软件的基本概念和功能。Matlab是一种数值计算和科学工程分析的高级编程语言,Simulink是一款用于建立、模拟和分析动态系统的图形化模型设计工具,Stateflow是一个用于建模和仿真有限状态机的工具。 手册进一步介绍了如何在Simulink中创建模型,并通过连接各个模块来实现系统的建模。这包括创建系统的各个子系统、参数设置、信号传递和数据处理等。 随后,手册讲解了如何使用Stateflow来建模有限状态机有限状态机是一种用于描述离散事件系统行为的图形模型,Stateflow提供了一种直观和易于理解的方法来描述和仿真这样的系统。 最后,手册介绍了TargetLink工具的使用。TargetLink是一个用于自动生成高效C代码的工具,可以将我们在Matlab、Simulink和Stateflow中建模的系统直接转换为目标硬件所需的格式。 通过学习这本建模指导手册,用户可以了解到如何使用Matlab、Simulink和Stateflow这些强大的建模工具来创建和仿真系统模型,并通过TargetLink生成适用于目标硬件的C代码,从而实现更高效的系统设计和开发。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值