Vorherige Seite Diskrete Zeitsteuerung bei Ereignisfortpflanzung Nächste Seite
Durch Ereignisse veränderte Variablen können weitere Ereignisse triggern.

Beispiel: Abwärts- und Aufwärtszähler

STATE VARIABLES
Z1 (INT) := 0,
Z2 (INT) := 0

WHENEVER Z1 > 0
DO
Z1^ := Z1 - 1;
END

WHENEVER Z1 = 0 AND Z2 < 10
DO
Z2^ := Z2 + 1;
Z1^ := 10;
END
Roll Pendulum

Der Zähler Z1 wird regelmäßig auf null heruntergezählt. Dann wird der Zähler Z2 um eins erhöht, solange bis er den Wert 10 annimmt.

Um die Ereignisse von einander unterscheiden zu können, wird nach jeder Zustandsänderung ein Ereigniszähler (Takt) hochgezählt, der auch im Ergebnis ausgewiesen wird.

Erst wenn zu einem Zeitpunkt keine weiteren Ereignisse mehr ausgeführt werden können, wird die Systemzeit weitergesetzt.