【问题标题】:Lift FSM Design电梯 FSM 设计
【发布时间】: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


    【解决方案1】:

    试试这个。 它为 Scala 使用 AKKA FSM

    Elevator implemented in FSM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 2020-10-25
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多