Veranstaltungen#

Einführung#

Ein Ereignis ist ein Startsignal für eine Gruppe von Blöcken. Ereignisblöcke in VEXcode ermöglichen es, verschiedene Blockgruppen zu unterschiedlichen Zeitpunkten zu starten. Beispielsweise kann eine Blockgruppe beim Projektstart gestartet werden, eine andere hingegen, wenn ein Signal von einer anderen Stelle im Projekt gesendet wird.

  • when timer – Führt einen Stapel von Blöcken aus, nachdem der Timer eine bestimmte Zeit überschritten hat.

  • when started – Führt den angehängten Blockstapel beim Projektstart aus.

  • wenn ich ein Ereignis empfange – Führt den angehängten Stapel von Blöcken aus, wenn ein bestimmtes Ereignis übertragen wird.

  • Broadcast-Ereignis – Löst ein Ereignis aus, ohne andere Blöcke anzuhalten.

  • Ereignis senden und warten – Löst ein Ereignis aus und pausiert andere Blöcke, bis die Aufgaben des Ereignisses abgeschlossen sind.

wenn Timer#

Der when timer Hutblock führt den angehängten Blockstapel nach einer bestimmten Zeitspanne aus.

Der „Wenn“-Timer-Hutblock.#
wenn Timer > [1] Sekunden

Parameter

Beschreibung

Zeit

Gibt die Anzahl der Sekunden an, bevor der angehängte Blockstapel startet. Akzeptiert sowohl ganze Zahlen als auch Dezimalzahlen.

Beispiel

wenn Timer > [2] Sekunden
[Move the 6-Axis Arm after 2 seconds.]
erhöhe [arm v] Position um x:[100] y:[0] z:[0] [mm v] ▶

beim Start#

Der Beim Start-Block startet die Ausführung der darunterliegenden Blöcke, sobald das Projekt beginnt. Jedes Projekt benötigt mindestens einen Beim Start-Block – ohne ihn werden die darunterliegenden Blöcke nicht ausgeführt. Mehrere Beim Start-Blöcke können verwendet werden, um verschiedene Blockgruppen gleichzeitig auszuführen.

Der Block “When” begann mit dem Hutblock.#
wenn gestartet

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

wenn gestartet
[Move the 6-Axis Arm 100 millimeters along the x-axis.]
erhöhe [arm v] Position um x:[100] y:[0] z:[0] [mm v] ▶

Parameter

Beschreibung

Dieser Block hat keine Parameter.

wenn ich ein Ereignis erhalte#

Der wenn ich ein Ereignis empfange-Block startet die Ausführung der darunter liegenden Blöcke, wenn ein Signal mit dem gleichen Ereignisnamen broadcast empfangen wird.

Der „Wenn ich ein Ereignis erhalte“-Hutblock.#
wenn ich [my_event v] empfange

Parameter

Beschreibung

Ereignis

Das auszulösende Ereignis. Benutzer können ein vorhandenes Ereignis auswählen, ein neues erstellen, das ausgewählte Ereignis umbenennen oder es löschen.

Beispiel

wenn gestartet
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
erhöhe [arm v] Position um x:[100] y:[0] z:[0] [mm v] ▶
sende [move_y v]

wenn ich [move_y v] empfange
drucke [Received!] in Konsole ◀ und Cursor in nächste Zeile
erhöhe [arm v] Position um x:[0] y:[100] z:[0] [mm v] ▶

Fernsehübertragung#

Der Broadcast-Event-Block sendet ein Signal, das einen beliebigen wenn ich ein Ereignis empfange-Block mit demselben Ereignisnamen startet. Die übrigen Blöcke im Projekt werden weiter ausgeführt, ohne auf die Beendigung dieser Blöcke zu warten.

Der Broadcast-Ereignisstapelblock.#
sende [message1 v]

Parameter

Beschreibung

Ereignis

Das auszulösende Ereignis. Benutzer können ein vorhandenes Ereignis auswählen, ein neues erstellen, das ausgewählte Ereignis umbenennen oder es löschen.

Beispiel

wenn gestartet
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
erhöhe [arm v] Position um x:[100] y:[0] z:[0] [mm v] ▶
sende [move_y v]

wenn ich [move_y v] empfange
drucke [Received!] in Konsole ◀ und Cursor in nächste Zeile
erhöhe [arm v] Position um x:[0] y:[100] z:[0] [mm v] ▶

Übertragung des Ereignisses und Warten#

Der Broadcast-Event-and-Wait-Block sendet ein Signal, das einen beliebigen When I Receive Event-Block mit demselben Ereignisnamen startet. Der Rest des Projekts wartet, bis das gesendete Ereignis abgeschlossen ist.

Das Broadcast-Ereignis und der Wartestapelblock.#
sende [message1 v] und warte

Parameter

Beschreibung

Ereignis

Das auszulösende Ereignis. Benutzer können ein vorhandenes Ereignis auswählen, ein neues erstellen, das ausgewählte Ereignis umbenennen oder es löschen.

Beispiel

wenn gestartet
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
erhöhe [arm v] Position um x:[100] y:[0] z:[0] [mm v] ▶
sende [move_y v] und warte
drucke [Finished moving!] in Konsole ◀ und Cursor in nächste Zeile


wenn ich [move_y v] empfange
drucke [Received!] in Konsole ◀ und Cursor in nächste Zeile
erhöhe [arm v] Position um x:[0] y:[100] z:[0] [mm v] ▶