文档

使用枚举数据建模媒体播放器

通过在三个statflow中使用枚举数据来建模媒体播放器®图表。

模型组件 描述
UserRequest图表 从用户界面读取并存储用户输入
CdPlayerModeManager图表 确定媒体播放器是在AM收音机、FM收音机还是CD播放器模式下运行
CdPlayerBehaviorModel图表 描述CD播放器组件的行为

该模型使用两种枚举数据类型:RadioRequestMode而且CdRequestMode.通过将相关值分组为单独的数据类型:

  • 您可以增强每个图表中数据值的可读性。

  • 您可以避免定义一长串常量,并减少模型中的数据量。

枚举数据类型 枚举值
RadioRequestMode
  • (0)

  • CD (1)

  • 调频(2)

  • 我(3)

CdRequestMode
  • 空(2)

  • DISCINSERT (1)

  • 停止(0)

  • 游戏(1)

  • 结果(3)

  • FF (4)

  • 把(5)

运行媒体播放器模型

  1. 在MATLAB中®命令提示符,输入sf_cdplayer

  2. 开始模型仿真。出现CD播放器帮助程序。

    在模型中,显示块显示媒体播放器的默认设置。

  3. 无线电请求部分中,点击CD.的显示用于枚举数据的块RR而且CurrentRadioMode改变CD

  4. 点击插入光盘.的显示用于枚举数据的块CdStatus改变从DISCINSERT停止

  5. CD请求部分,单击.的显示用于枚举数据的块CRMechCmd,CdStatus改变停止

  6. 看其他的变化显示块,使用CD播放器助手为媒体播放器选择其他操作模式。

UserRequest图表

此图表从CD播放器助手读取用户输入,并将信息存储为输出数据。

图表的主要特点

  • 枚举数据RR而且CR

  • 毫升命名空间运算符访问MATLAB函数sfcdplayerhelper

图的行为

图表调用函数sfcdplayerhelper在MATLAB路径上,读取与UI的交互,并将其存储为输出数据。

输出数据名称 数据类型 按钮选择 描述
RR 枚举 按钮。无线电请求部分 媒体播放器子组件要激活
CR 枚举 按钮。CD请求部分 CD机的运行模式
DiscInsert 布尔 插入光盘 CD插入设置
DiscEject 布尔 排出阀瓣 CD弹出设置

CdPlayerModeManager图表

上接收的输入,此图表将激活媒体播放器的适当子组件UserRequest图表。

图表的主要特点

  • 枚举数据RadioReqCdReqCurrentRadioMode,MechCmd

  • 焕然一新运算符来检测值的变化RadioReq

  • 子图表CdModeAMMode,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有,快进。

相关的话题

这个话题有用吗?