【发布时间】:2015-12-24 17:42:56
【问题描述】:
大家好,我想为电梯控制器设计一个有限状态机,但我不知道状态和它们之间的转换是什么。 电梯分三层,可上下移动,可开关门。
- 电梯共有三层,可上下移动,可开关门。
- 电梯内有三个按钮,乘客可以通过按下这些按钮来指定他们想去的楼层。
- 在每个楼层的电梯外,都有一个按钮,用于将电梯呼叫到该楼层,它们是向上和向下按钮。 控制器与传感器一起工作,整个系统是一个主动系统。 以下是系统的操作。
- lift.moveUp() 使电梯开始向上移动。
- lift.moveDown() 使电梯开始向下移动。
- lift.stop() 使电梯停止移动。
- lift.openDoor() 使门开始打开
- lift.closeDoor() 使门开始关闭。
- lift.restartTimer(int duration) 设置定时器的时间
- lift.turnWarningLightOn() 打开警告灯
-
lift.turnWarningLightOff() 关闭警告灯
标题##这些是传感器:
"request1", "request2", "request3" : 1/2/3层的电梯按钮或呼叫按钮被按下。
- "atF1", "atF2", "atF3" : 电梯在1/2/3层
- "startUp", "startDown" : 电梯刚刚开始向上/向下移动
- "doorClosed", "doorOpened" : 门刚刚完成关闭/打开
- "doorMoving" : 门刚刚开始打开或关闭
- "timerExpired" : 定时器刚刚过期。
- “doorSensor”:一个人刚刚穿过门(进出)
- "withinCapacity" : 有人下车,电梯刚刚变得没有超载。
- “overCapacity”:有人进来,电梯刚刚超载。
【问题讨论】:
标签: software-design state-machine fsm