ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ # initialisieren run 200 0 +0 00000 00000 0 0 0 0 0 0 00000 0 +1 00000 00000 0 0 0 0 0 0 00001 100 +1 00000 00000 0 0 0 0 0 1 00001 # wir sind im 1. Stock. drueck mal ein paar Knoepfe. Abfahrt! force inknopf 00110 run 200 200 +1 00000 00000 0 0 0 0 0 0 00001 200 +2 00110 00000 0 0 0 0 0 0 00001 200 +3 00110 00000 1 0 0 0 0 0 00001 300 +1 00110 00000 1 0 0 0 0 1 00001 300 +2 00110 00000 1 0 0 0 1 1 00010 300 +3 00110 00000 0 0 0 0 1 1 00010 # wir sind abgefahren. wir nehmen die Knopfdruecke wieder zurueck und # versuchen nochmal verzweifelt im ersten Stock anzuhalten. force inknopf 00001 run 200 400 +1 00110 00000 0 0 0 0 1 0 00010 400 +2 00001 00000 0 0 0 0 1 0 00010 500 +1 00001 00000 0 0 0 0 1 1 00010 # wir waren aber zu spaet ... knopfdruck zuruecknehmen und mal abwarten was passiert force inknopf 00000 run 200 600 +1 00001 00000 0 0 0 0 1 0 00010 600 +2 00000 00000 0 0 0 0 1 0 00010 700 +1 00000 00000 0 0 0 0 1 1 00010 700 +2 00000 00000 0 0 0 0 0 1 00010 700 +3 00000 00000 0 0 1 0 0 1 00010 # zweiter Stock, tuer wird geoeffnet und geschlossen run 400 800 +1 00000 00000 0 0 1 0 0 0 00010 900 +1 00000 00000 0 0 1 0 0 1 00010 900 +2 00000 00000 0 0 1 1 0 1 00010 900 +3 00000 00000 0 0 0 1 0 1 00010 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 1000 +1 00000 00000 0 0 0 1 0 0 00010 1100 +1 00000 00000 0 0 0 1 0 1 00010 1100 +2 00000 00000 0 0 0 0 0 1 00010 1100 +3 00000 00000 1 0 0 0 0 1 00010 # wir fahren weiter aufwaerts in den dritten Stock. Wir druecken nochmal # im vierten Stock force inknopf 01000 run 200 1200 +1 00000 00000 1 0 0 0 0 0 00010 1200 +2 01000 00000 1 0 0 0 0 0 00010 1300 +1 01000 00000 1 0 0 0 0 1 00010 1300 +2 01000 00000 1 0 0 0 1 1 00100 1300 +3 01000 00000 0 0 0 0 1 1 00100 # anhalten im dritten stock. Business as usual force inknopf 00000 run 1600 1400 +1 01000 00000 0 0 0 0 1 0 00100 1400 +2 00000 00000 0 0 0 0 1 0 00100 1500 +1 00000 00000 0 0 0 0 1 1 00100 1600 +1 00000 00000 0 0 0 0 1 0 00100 1700 +1 00000 00000 0 0 0 0 1 1 00100 1700 +2 00000 00000 0 0 0 0 0 1 00100 1700 +3 00000 00000 0 0 1 0 0 1 00100 1800 +1 00000 00000 0 0 1 0 0 0 00100 1900 +1 00000 00000 0 0 1 0 0 1 00100 1900 +2 00000 00000 0 0 1 1 0 1 00100 1900 +3 00000 00000 0 0 0 1 0 1 00100 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 2000 +1 00000 00000 0 0 0 1 0 0 00100 2100 +1 00000 00000 0 0 0 1 0 1 00100 2100 +2 00000 00000 0 0 0 0 0 1 00100 2100 +3 00000 00000 1 0 0 0 0 1 00100 2200 +1 00000 00000 1 0 0 0 0 0 00100 2300 +1 00000 00000 1 0 0 0 0 1 00100 2300 +2 00000 00000 1 0 0 0 1 1 01000 2300 +3 00000 00000 0 0 0 0 1 1 01000 2400 +1 00000 00000 0 0 0 0 1 0 01000 2500 +1 00000 00000 0 0 0 0 1 1 01000 2600 +1 00000 00000 0 0 0 0 1 0 01000 2700 +1 00000 00000 0 0 0 0 1 1 01000 2700 +2 00000 00000 0 0 0 0 0 1 01000 2700 +3 00000 00000 0 0 1 0 0 1 01000 2800 +1 00000 00000 0 0 1 0 0 0 01000 2900 +1 00000 00000 0 0 1 0 0 1 01000 2900 +2 00000 00000 0 0 1 1 0 1 01000 2900 +3 00000 00000 0 0 0 1 0 1 01000 # aufzug im 4. Stock. Die Tuer ist offen und will gerade wieder zugehen, # da drueckt noch jemand im 4. auf den Knopf force inknopf 01000 run 200 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 3000 +1 00000 00000 0 0 0 1 0 0 01000 3000 +2 01000 00000 0 0 0 1 0 0 01000 3100 +1 01000 00000 0 0 0 1 0 1 01000 3100 +2 01000 00000 0 0 0 0 0 1 01000 3100 +3 01000 00000 0 0 1 0 0 1 01000 # welch Wunder, die Tuer wird noch einmal aufgemacht force inknopf 00000 run 400 3200 +1 01000 00000 0 0 1 0 0 0 01000 3200 +2 00000 00000 0 0 1 0 0 0 01000 3300 +1 00000 00000 0 0 1 0 0 1 01000 3300 +2 00000 00000 0 0 1 1 0 1 01000 3300 +3 00000 00000 0 0 0 1 0 1 01000 3400 +1 00000 00000 0 0 0 1 0 0 01000 3500 +1 00000 00000 0 0 0 1 0 1 01000 3500 +2 00000 00000 0 0 0 0 0 1 01000 3500 +3 00000 00000 0 1 0 0 0 1 01000 # das selbe Spiel nochmal, aber diesmal ist Mr. X zu spaet. Der Aufzug ist # noch im Stock, aber der Befehl zur Abfahrt wurde schon gegeben. force inknopf 01000 run 200 3600 +1 00000 00000 0 1 0 0 0 0 01000 3600 +2 01000 00000 0 1 0 0 0 0 01000 3700 +1 01000 00000 0 1 0 0 0 1 01000 3700 +2 01000 00000 0 1 0 0 1 1 00100 # tja, und der Aufzug faehrt los. Der Zuspaetkommer muss warten ... force inknopf 00000 run 200 3800 +1 01000 00000 0 1 0 0 1 0 00100 3800 +2 00000 00000 0 1 0 0 1 0 00100 3900 +1 00000 00000 0 1 0 0 1 1 00100 # wir fahren am dritten stock vorbei run 200 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 4000 +1 00000 00000 0 1 0 0 1 0 00100 4100 +1 00000 00000 0 1 0 0 1 1 00100 4100 +2 00000 00000 0 1 0 0 1 1 00010 # Der Aufzug macht sich gerade bereit, auch am 2. vorbeizufahren, da klebt # jemand im 2. ein Kaugummi auf den Knopf. force outknopf 00010 run 200 4200 +1 00000 00000 0 1 0 0 1 0 00010 4200 +2 00000 00010 0 1 0 0 1 0 00010 4200 +3 00000 00010 0 0 0 0 1 0 00010 4300 +1 00000 00010 0 0 0 0 1 1 00010 # sofort gibt der Controller den Befehl zum anhalten. Der Aufzug bremst, # haelt, oeffnet die Tuer ... run 400 4400 +1 00000 00010 0 0 0 0 1 0 00010 4500 +1 00000 00010 0 0 0 0 1 1 00010 4500 +2 00000 00010 0 0 0 0 0 1 00010 4500 +3 00000 00010 0 0 1 0 0 1 00010 4600 +1 00000 00010 0 0 1 0 0 0 00010 4700 +1 00000 00010 0 0 1 0 0 1 00010 4700 +2 00000 00010 0 0 1 1 0 1 00010 4700 +3 00000 00010 0 0 0 1 0 1 00010 # macht die Tuer wieder zu ... run 200 4800 +1 00000 00010 0 0 0 1 0 0 00010 4900 +1 00000 00010 0 0 0 1 0 1 00010 4900 +2 00000 00010 0 0 0 0 0 1 00010 4900 +3 00000 00010 0 1 0 0 0 1 00010 # und faehrt ab. wir haben ja immer noch den 1. Stock, den wir bedienen # muessen (siehe ganz oben). run 600 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 5000 +1 00000 00010 0 1 0 0 0 0 00010 5100 +1 00000 00010 0 1 0 0 0 1 00010 5100 +2 00000 00010 0 1 0 0 1 1 00001 5100 +3 00000 00010 0 0 0 0 1 1 00001 5200 +1 00000 00010 0 0 0 0 1 0 00001 5300 +1 00000 00010 0 0 0 0 1 1 00001 5400 +1 00000 00010 0 0 0 0 1 0 00001 5500 +1 00000 00010 0 0 0 0 1 1 00001 5500 +2 00000 00010 0 0 0 0 0 1 00001 5500 +3 00000 00010 0 0 1 0 0 1 00001 # wir sind im 1. Stock und machen das uebliche: Tuer auf und zu. Da der # Kaugummi noch immer im 2. auf dem Knopf klebt, fahren wir wieder hoch run 1000 5600 +1 00000 00010 0 0 1 0 0 0 00001 5700 +1 00000 00010 0 0 1 0 0 1 00001 5700 +2 00000 00010 0 0 1 1 0 1 00001 5700 +3 00000 00010 0 0 0 1 0 1 00001 5800 +1 00000 00010 0 0 0 1 0 0 00001 5900 +1 00000 00010 0 0 0 1 0 1 00001 5900 +2 00000 00010 0 0 0 0 0 1 00001 5900 +3 00000 00010 1 0 0 0 0 1 00001 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 6000 +1 00000 00010 1 0 0 0 0 0 00001 6100 +1 00000 00010 1 0 0 0 0 1 00001 6100 +2 00000 00010 1 0 0 0 1 1 00010 6100 +3 00000 00010 0 0 0 0 1 1 00010 6200 +1 00000 00010 0 0 0 0 1 0 00010 6300 +1 00000 00010 0 0 0 0 1 1 00010 6400 +1 00000 00010 0 0 0 0 1 0 00010 6500 +1 00000 00010 0 0 0 0 1 1 00010 6500 +2 00000 00010 0 0 0 0 0 1 00010 6500 +3 00000 00010 0 0 1 0 0 1 00010 # im 2. machen wir auch nur einmal Tuer auf und zu, dann fahren wir weiter, # denn im 4. wartet Mr. X noch immer auf den Lift. run 1400 6600 +1 00000 00010 0 0 1 0 0 0 00010 6700 +1 00000 00010 0 0 1 0 0 1 00010 6700 +2 00000 00010 0 0 1 1 0 1 00010 6700 +3 00000 00010 0 0 0 1 0 1 00010 6800 +1 00000 00010 0 0 0 1 0 0 00010 6900 +1 00000 00010 0 0 0 1 0 1 00010 6900 +2 00000 00010 0 0 0 0 0 1 00010 6900 +3 00000 00010 1 0 0 0 0 1 00010 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 7000 +1 00000 00010 1 0 0 0 0 0 00010 7100 +1 00000 00010 1 0 0 0 0 1 00010 7100 +2 00000 00010 1 0 0 0 1 1 00100 7200 +1 00000 00010 1 0 0 0 1 0 00100 7300 +1 00000 00010 1 0 0 0 1 1 00100 7400 +1 00000 00010 1 0 0 0 1 0 00100 7500 +1 00000 00010 1 0 0 0 1 1 00100 7500 +2 00000 00010 1 0 0 0 1 1 01000 7500 +3 00000 00010 0 0 0 0 1 1 01000 7600 +1 00000 00010 0 0 0 0 1 0 01000 7700 +1 00000 00010 0 0 0 0 1 1 01000 7800 +1 00000 00010 0 0 0 0 1 0 01000 7900 +1 00000 00010 0 0 0 0 1 1 01000 7900 +2 00000 00010 0 0 0 0 0 1 01000 7900 +3 00000 00010 0 0 1 0 0 1 01000 # die Tuer geht im 4. auf, Mr. X steigt ein und will in den 2. Stock. run 200 force inknopf 00010 run 200 force inknopf 00000 run 200 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 8000 +1 00000 00010 0 0 1 0 0 0 01000 8100 +1 00000 00010 0 0 1 0 0 1 01000 8100 +2 00000 00010 0 0 1 1 0 1 01000 8100 +3 00000 00010 0 0 0 1 0 1 01000 8200 +1 00000 00010 0 0 0 1 0 0 01000 8200 +2 00010 00010 0 0 0 1 0 0 01000 8300 +1 00010 00010 0 0 0 1 0 1 01000 8300 +2 00010 00010 0 0 0 0 0 1 01000 8300 +3 00010 00010 0 1 0 0 0 1 01000 8400 +1 00010 00010 0 1 0 0 0 0 01000 8400 +2 00000 00010 0 1 0 0 0 0 01000 8500 +1 00000 00010 0 1 0 0 0 1 01000 8500 +2 00000 00010 0 1 0 0 1 1 00100 # es geht abwaerts in den 2. run 1000 8600 +1 00000 00010 0 1 0 0 1 0 00100 8700 +1 00000 00010 0 1 0 0 1 1 00100 8800 +1 00000 00010 0 1 0 0 1 0 00100 8900 +1 00000 00010 0 1 0 0 1 1 00100 8900 +2 00000 00010 0 1 0 0 1 1 00010 8900 +3 00000 00010 0 0 0 0 1 1 00010 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 9000 +1 00000 00010 0 0 0 0 1 0 00010 9100 +1 00000 00010 0 0 0 0 1 1 00010 9200 +1 00000 00010 0 0 0 0 1 0 00010 9300 +1 00000 00010 0 0 0 0 1 1 00010 9300 +2 00000 00010 0 0 0 0 0 1 00010 9300 +3 00000 00010 0 0 1 0 0 1 00010 9400 +1 00000 00010 0 0 1 0 0 0 00010 9500 +1 00000 00010 0 0 1 0 0 1 00010 9500 +2 00000 00010 0 0 1 1 0 1 00010 9500 +3 00000 00010 0 0 0 1 0 1 00010 # jetzt haben wir nichts mehr zu tun, doch das Kaugummi klebt noch immer # auf dem Knopf. Abwechselnd akzeptiert der Controller das als Knopfdruck # oder ignoriert es. Als resultat macht der Aufzug abwechselnd die Tuer # auf und wieder zu und auf und wieder zu ... run 800 9600 +1 00000 00010 0 0 0 1 0 0 00010 9700 +1 00000 00010 0 0 0 1 0 1 00010 9700 +2 00000 00010 0 0 0 0 0 1 00010 9700 +4 00000 00010 0 0 1 0 0 1 00010 9800 +1 00000 00010 0 0 1 0 0 0 00010 9900 +1 00000 00010 0 0 1 0 0 1 00010 9900 +2 00000 00010 0 0 1 1 0 1 00010 9900 +3 00000 00010 0 0 0 1 0 1 00010 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 10000 +1 00000 00010 0 0 0 1 0 0 00010 10100 +1 00000 00010 0 0 0 1 0 1 00010 10100 +2 00000 00010 0 0 0 0 0 1 00010 10100 +4 00000 00010 0 0 1 0 0 1 00010 10200 +1 00000 00010 0 0 1 0 0 0 00010 10300 +1 00000 00010 0 0 1 0 0 1 00010 10300 +2 00000 00010 0 0 1 1 0 1 00010 10300 +3 00000 00010 0 0 0 1 0 1 00010 # das geht jetzt endlich jemandem auf den Nerv, und der Kaugummi wird entfernt. force outknopf 00000 run 200 10400 +1 00000 00010 0 0 0 1 0 0 00010 10400 +2 00000 00000 0 0 0 1 0 0 00010 10500 +1 00000 00000 0 0 0 1 0 1 00010 10500 +2 00000 00000 0 0 0 0 0 1 00010 # jetzt haben wir wirklich nichts mehr zu tun, und machen im 2. bei # geschlossener Tuer Pause. run 400 10600 +1 00000 00000 0 0 0 0 0 0 00010 10700 +1 00000 00000 0 0 0 0 0 1 00010 10800 +1 00000 00000 0 0 0 0 0 0 00010 10900 +1 00000 00000 0 0 0 0 0 1 00010 # jetzt steigt noch jemand im 2. ein force outknopf 00010 run 200 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 11000 +1 00000 00000 0 0 0 0 0 0 00010 11000 +2 00000 00010 0 0 0 0 0 0 00010 11000 +3 00000 00010 0 0 1 0 0 0 00010 11100 +1 00000 00010 0 0 1 0 0 1 00010 11100 +2 00000 00010 0 0 1 1 0 1 00010 11100 +3 00000 00010 0 0 0 1 0 1 00010 # und will in den 5. Stock force outknopf 10000 run 200 11200 +1 00000 00010 0 0 0 1 0 0 00010 11200 +2 00000 10000 0 0 0 1 0 0 00010 11300 +1 00000 10000 0 0 0 1 0 1 00010 11300 +2 00000 10000 0 0 0 0 0 1 00010 11300 +3 00000 10000 1 0 0 0 0 1 00010 # gerade als wir am 4. Stock vorbeifahren force outknopf 00000 run 1000 11400 +1 00000 10000 1 0 0 0 0 0 00010 11400 +2 00000 00000 1 0 0 0 0 0 00010 11500 +1 00000 00000 1 0 0 0 0 1 00010 11500 +2 00000 00000 1 0 0 0 1 1 00100 11600 +1 00000 00000 1 0 0 0 1 0 00100 11700 +1 00000 00000 1 0 0 0 1 1 00100 11800 +1 00000 00000 1 0 0 0 1 0 00100 11900 +1 00000 00000 1 0 0 0 1 1 00100 11900 +2 00000 00000 1 0 0 0 1 1 01000 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 12000 +1 00000 00000 1 0 0 0 1 0 01000 12100 +1 00000 00000 1 0 0 0 1 1 01000 12200 +1 00000 00000 1 0 0 0 1 0 01000 12300 +1 00000 00000 1 0 0 0 1 1 01000 12300 +2 00000 00000 1 0 0 0 1 1 10000 12300 +3 00000 00000 0 0 0 0 1 1 10000 # will noch jemand zusteigen force outknopf 01000 run 200 12400 +1 00000 00000 0 0 0 0 1 0 10000 12400 +2 00000 01000 0 0 0 0 1 0 10000 12500 +1 00000 01000 0 0 0 0 1 1 10000 # # aber er war zu spaet ... er ueberlegt es sich anders und geht lieber zu # fuss. Wir bedienen noch eben den 5. Stock, und fahren nochmal in den # leeren 4. Stock force outknopf 00000 run 1400 12600 +1 00000 01000 0 0 0 0 1 0 10000 12600 +2 00000 00000 0 0 0 0 1 0 10000 12700 +1 00000 00000 0 0 0 0 1 1 10000 12700 +2 00000 00000 0 0 0 0 0 1 10000 12700 +3 00000 00000 0 0 1 0 0 1 10000 12800 +1 00000 00000 0 0 1 0 0 0 10000 12900 +1 00000 00000 0 0 1 0 0 1 10000 12900 +2 00000 00000 0 0 1 1 0 1 10000 12900 +3 00000 00000 0 0 0 1 0 1 10000 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 13000 +1 00000 00000 0 0 0 1 0 0 10000 13100 +1 00000 00000 0 0 0 1 0 1 10000 13100 +2 00000 00000 0 0 0 0 0 1 10000 13100 +3 00000 00000 0 1 0 0 0 1 10000 13200 +1 00000 00000 0 1 0 0 0 0 10000 13300 +1 00000 00000 0 1 0 0 0 1 10000 13300 +2 00000 00000 0 1 0 0 1 1 01000 13300 +3 00000 00000 0 0 0 0 1 1 01000 13400 +1 00000 00000 0 0 0 0 1 0 01000 13500 +1 00000 00000 0 0 0 0 1 1 01000 13600 +1 00000 00000 0 0 0 0 1 0 01000 13700 +1 00000 00000 0 0 0 0 1 1 01000 13700 +2 00000 00000 0 0 0 0 0 1 01000 13700 +3 00000 00000 0 0 1 0 0 1 01000 13800 +1 00000 00000 0 0 1 0 0 0 01000 13900 +1 00000 00000 0 0 1 0 0 1 01000 13900 +2 00000 00000 0 0 1 1 0 1 01000 13900 +3 00000 00000 0 0 0 1 0 1 01000 # damit sind wieder mal alle Anfragen bedient, und wir koennen uns verschnaufen run 1000 ns delta inknopf outknopf go_up go_down open_door door_open moving progress at ------------------------------------------------------------------------------------------ 14000 +1 00000 00000 0 0 0 1 0 0 01000 14100 +1 00000 00000 0 0 0 1 0 1 01000 14100 +2 00000 00000 0 0 0 0 0 1 01000 14200 +1 00000 00000 0 0 0 0 0 0 01000 14300 +1 00000 00000 0 0 0 0 0 1 01000 14400 +1 00000 00000 0 0 0 0 0 0 01000 14500 +1 00000 00000 0 0 0 0 0 1 01000 14600 +1 00000 00000 0 0 0 0 0 0 01000 14700 +1 00000 00000 0 0 0 0 0 1 01000 14800 +1 00000 00000 0 0 0 0 0 0 01000 14900 +1 00000 00000 0 0 0 0 0 1 01000 15000 +1 00000 00000 0 0 0 0 0 0 01000 ------------------------------------------------------------------------------------------ ns delta inknopf outknopf go_up go_down open_door door_open moving progress at # ... und ein arbeitsreicher Tag geht zuende ... # der Aufzug seufzt, in dem guten Gewissen, gute Arbeit geleistet zu haben.