使用枚举数据建模媒体播放器
通过在三个statflow中使用枚举数据来建模媒体播放器®图表。
模型组件 | 描述 |
---|---|
UserRequest图表 | 从用户界面读取并存储用户输入 |
CdPlayerModeManager图表 | 确定媒体播放器是在AM收音机、FM收音机还是CD播放器模式下运行 |
CdPlayerBehaviorModel图表 | 描述CD播放器组件的行为 |
该模型使用两种枚举数据类型:RadioRequestMode
而且CdRequestMode
.通过将相关值分组为单独的数据类型:
您可以增强每个图表中数据值的可读性。
您可以避免定义一长串常量,并减少模型中的数据量。
枚举数据类型 | 枚举值 |
---|---|
RadioRequestMode |
|
CdRequestMode |
|
运行媒体播放器模型
在MATLAB中®命令提示符,输入
sf_cdplayer
.开始模型仿真。出现CD播放器帮助程序。
在模型中,显示块显示媒体播放器的默认设置。
在无线电请求部分中,点击CD.的显示用于枚举数据的块
RR
而且CurrentRadioMode
改变从
来CD
.点击插入光盘.的显示用于枚举数据的块
CdStatus
改变从空
来DISCINSERT
来停止
.在CD请求部分,单击玩.的显示用于枚举数据的块
CR
,MechCmd
,CdStatus
改变停止
来玩
.看其他的变化显示块,使用CD播放器助手为媒体播放器选择其他操作模式。
UserRequest图表
此图表从CD播放器助手读取用户输入,并将信息存储为输出数据。
图表的主要特点
枚举数据
RR
而且CR
毫升
命名空间运算符访问MATLAB函数sfcdplayerhelper
图的行为
图表调用函数sfcdplayerhelper
在MATLAB路径上,读取与UI的交互,并将其存储为输出数据。
输出数据名称 | 数据类型 | 按钮选择 | 描述 |
---|---|---|---|
RR |
枚举 | 按钮。无线电请求部分 | 媒体播放器子组件要激活 |
CR |
枚举 | 按钮。CD请求部分 | CD机的运行模式 |
DiscInsert |
布尔 | 插入光盘 | CD插入设置 |
DiscEject |
布尔 | 排出阀瓣 | CD弹出设置 |
CdPlayerModeManager图表
上接收的输入,此图表将激活媒体播放器的适当子组件UserRequest图表。
图表的主要特点
枚举数据
RadioReq
,CdReq
,CurrentRadioMode
,MechCmd
焕然一新
运算符来检测值的变化RadioReq
子图表
CdMode
,AMMode
,FMMode
图的行为
在模拟开始时,ModeManager
状态变为活动状态。如果布尔数据DiscEject
等于1(或真正的
),过渡到喷射
状态发生,然后转换回ModeManager
状态。
当ModeManager
是活动的,先前活动的子状态(备用
或在
),即历史汇合点所记录的时间变得活跃。之间的后续转换备用
而且在
子状态依赖于枚举数据RadioReq
:
如果
RadioReq
是从
,备用
副状态被激活。如果
RadioReq
不是从
,在
副状态被激活。
在在
substate,三个子图代表媒体播放器的工作模式:CD播放器,AM收音机和FM收音机。每个子图对应于枚举数据的不同值RadioReq
.内部过渡内部在
的值中不断地扫描变化RadioReq
.
枚举数据的价值RadioReq |
活跃的子图表 | 子图的目的 |
---|---|---|
CD |
CDMode |
将媒体播放器设置为CD播放器模式。输出玩 ,报答 ,FF ,停止 命令CdPlayerBehaviorModel图表。 |
我 |
AMMode |
将媒体播放器设置为AM广播模式。输出一个停止 命令CdPlayerBehaviorModel图表。 |
调频 |
FMMode |
将媒体播放器设置为FM广播模式。输出一个停止 命令CdPlayerBehaviorModel图表。 |
CdPlayerBehaviorModel图表
此图表根据接收到的输入为CD播放机激活适当的操作模式CdPlayerBehaviorModel图表。
图表的主要特点
枚举数据
CMD
而且CdStatus
后
时间逻辑运算符,以控制过渡的时间在光盘插入和弹出
图的行为
在模拟开始时,空
状态激活。
如果布尔数据DiscInsert
等于1(或真正的
),过渡到插入
国家发生。经过短时间的延迟,过渡到DiscPresent
国家发生。
的DiscPresent
状态保持活动状态直到数据CMD
就变成了喷射
.在这一点上,过渡到喷射
国家发生。经过短时间的延迟,过渡到空
国家发生。
每当发生状态转换时,枚举的数据CdStatus
更改值以反映CD播放器的状态。
活动状态 | 枚举数据的价值CdStatus |
CD播放器的行为 |
---|---|---|
空 |
空 |
CD播放器是空的。 |
插入 |
DISCINSERT |
CD正在插入播放器。 |
喷射 |
喷射 |
CD正在从播放器中弹出。 |
DiscPresent。停止 |
停止 |
乳糜泻出现并停止。 |
DiscPresent。玩 |
玩 |
CD正在播放。 |
DiscPresent。报答 |
报答 |
CD存在并倒带。 |
DiscPresent。FF |
FF |
CD有,快进。 |