Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Lazarus-Timer-Fahrstuhl

  Alt 12. Jun 2018, 13:01
Am besten machst du dir erstmal eine Fahrstuhl-Klasse mit ein paar mehr Variablen, z.B. über den Zustand des Fahrstuhls (also steht der gerade oder fährt der und was ist momentan die Richtung und momentane Position. Dann eine Liste, wenn man so will einen Speicher, der gewünschten Etagen, Bsp.:

Fahrstuhl steht in Etage E. 3. Stock wird gedrückt. Es wird gesetzt:
3. Stock in Zielliste eintragen.
Da 3>E: Richtung: 1 = aufwärts
Timer starten, da sich aufzug in Bewegung setzt.

Timer löst aus:
Position um X erhöhen, da Richtung 1
Prüfen, ob mit der Position nächste Zieletage erreicht wurde, wenn ja Timer stoppen, Aufzugtür öffnen usw.

Während der Aufzug fährt wird auf einmal 2. Etage-Knopf gedrückt. Folge:
Neue Etage in Zielliste eintragen, da Richtung nach oben und Aufzuge derzeit z.B. noch zwischen E und 1 wird das Ziel 2. Etage vor dem Ziel 3. Etage eingetragen.

Timer löst wieder aus:
Position um X erhöhen, da Richtung 1
Prüfen, ob mit der Position nächste Zieletage (jetzt 2) erreicht wurde, wenn ja Timer stoppen, Aufzugtür öffnen usw. Wenn Aufzugstür schließt prüfen, ob noch ein Ziel vorliegt, dann dahin weiter fahren. usw.
Ralph
  Mit Zitat antworten Zitat