Librería gráfica de control de ascensor Libreria de usos educativo que facilita la realización de tests para probar algoritmos de control de ascesores.
Es el contructor.
- caption: Nombre de la ventana gráfica
Ejecuta las acciones automáticas del ascensor, como el movimiento del ascensor, la simulación del cierre de puertas, o la captura de eventos del teclado. Esta función debe llamarse periódicamente.
Establece el estado de movimiento del motor.
- mov : "up", "down", "stop"
Devuelve el estado actual del motor: "up", "down", "stop"
Comanda el control de las puertas.
- state: "close", "open"
Devuelve el estado actual de las puertas: "close", "open","closing", "opening"
Devuelve el piso actual: 1,2,3,4,5
Control del indicador de piso actual
- floor: 1,2,3,4,5
Control del indicador de movimiento
- mov: "stop","up","down"
Develve el botón de llamada de ascensor: 0,1,2,3,4,5 0: Ningún botón ha sido pulsado. Los botones de llamanda puede ser controlados por el ratón o usando las teclas: F1,F2,F3,F4,F5
Develve el botón de piso de la botonera: 0,1,2,3,4,5 0: Ningún botón ha sido pulsado. Los botones de llamanda puede ser controlados por el ratón o usando las teclas: 1,2,3,4,5
Control el led de llamada de ascensor.
- key: 1,2,3,4,5
- state: "off", "on"
Control el led del selector de piso del ascensor.
- key: 1,2,3,4,5
- state: "off", "on"
import elevator
def state_machine(lift):
while True:
#Here is state machine
#...
lift.execute()
if lift.get_door() == "close":
lift.set_motor("up")
lift.set_mov_indicator("up")
if int(lift.get_floor()) == 1:
lift.set_motor("stop")
lift.set_mov_indicator("stop")
lift.set_floor_indicator(1)
lift.set_door("open")
print (lift.get_button_call())
def main():
lift = elevator.elevator("Ascensor1")
lift.set_motor("stop")
lift.set_mov_indicator("stop")
lift.set_door("close")
lift.set_light_call(1,"on")
lift.set_light_int(1,"on")
lift.set_light_int(2,"on")
lift.set_light_int(3,"on")
lift.set_light_int(4,"on")
lift.set_light_int(5,"on")
try:
state_machine(lift)
finally:
print("Destroy")
lift.destroy()
if __name__ == "__main__":
main()