Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
Delphi XE5 Professional
|
AW: dynamische Verwaltung von Objekten - Fahrstuhlsteuerung
14. Jun 2013, 12:24
Du kannst doch jederzeit eingreifen.
Hauptsache der Übergang ist erlaubt. So ein Zwischenstand ist doch "Tür geht zu".
Dieser Zustand dauert ja an bis die Tür vollständig zu ist oder jemand die Lichtschranke unterbricht oder den Tür auf Knopf drückt.
Bei den letzten beiden geht der Zustand in "Tür geht auf" über. Beim letzten Zustand, wird sich sicherlich der Zustand der Kabine ändern in "Fährt hoch" oder "Fährt runter" vorausgesetzt jemand hat ein Stockwerk gedrückt oder in einen Stockwerk wurde der Lift gerufen.
Übergänge werden immer durch Ereignisse ausgelöst. Um dann den Übergang zu finden, ist die Ereignisart und Regeln erforderlich.
Kleines Beispiel vielleicht. Diese Türanimation über einen z.B. Thread läuft ja nur so lange bis die Tür geschlossen/offen ist. Also ist in einen Thread Logik für mach den Türmotor an für schließen und warte bis der Endschalter (Tür zu) erreicht ist. Dann Motor aus. Fertig -> Ereignis Tür ist zu.
Die Bewegungen erfolgen ja auch asynchron. Du weißt ja nicht wie lange die Tür öffnet oder schließt. Wenn die Tür fahrt durch Knopf abgebrochen wird, verkürzen sich ja die Zeiten abhängig von der Türposition.
Fahrstühle habe übrigens einen Plan, wie die Anforderungen abgefahren werden.
Es wird immer nun in eine Richtung gefahren bis es keine Anforderungen mehr gibt aus Stockwerken, welche in Fahrrichtung liegen.
In sehr hohen Gebäuden gibt es dann auch noch ein Fahrplan Optimierer bzw. mehrere Kabinen in einen Schacht.
Diese Kabinen teilen sich dann optimiert die Fahrten.
Allerdings muss der Fahrgast vorher an einen Terminal sein Stockwerk sagen und er bekommt dann den Fahrstuhl mitgeteilt.
|