Datenleitungen

Eine Datenleitung ermöglicht es dir, einen Ausgabewert von einem Programmierblock in deinem Programm als Eingangswert für einen anderen Programmierblock in demselben Programm zu verwenden. Auf diese Weise kannst du Blöcke miteinander interagieren lassen und deinem Roboter komplexere Verhaltensweisen „beibringen“.
Beispiel
In diesem Programm wird eine Datenleitung verwendet, um die Lichtausgabe des Farbsensor-Blocks an die Leistungseingabe des Bewegungslenkungs-Blocks anzuschließen. Auf diese Weise wird die Fahrgeschwindigkeit des Roboters durch die vom Farbsensor erkannte Lichtstärke bestimmt. Der Prozess wird in einer Schleife wiederholt, sodass die Leistung ständig aktualisiert wird – und zwar auf Grundlage der jeweils neuesten Sensormesswerte.
Tipps und Tricks
Wenn du das oben beschriebene Programm an einem Roboter mit nach unten gerichtetem und in Bodennähe montiertem Farbsensor ausprobierst, verändert sich die Fahrgeschwindigkeit des Roboters bei jeder Farbe, über die er fährt.
Typen von Datenleitungen
Datenleitungen übertragen Werte von einem Block zu einem anderen. Der Typ der jeweiligen Datenleitung wird vom Ausgabetyp des Blocks am Ausgangspunkt der Leitung bestimmt. Dieser Ausgabetyp gibt außerdem an, welcher Wert von der Datenleitung übertragen wird. Weitere Informationen über die unterschiedlichen Typen findest du unter Datentypen.

Datenleitungen, Block-Eingaben und Block-Ausgaben besitzen je nach Typ ein anderes Erscheinungsbild.
TypBlock-EingabeBlock-AusgabeBlock-Ausgabe Datenleitung
Logische Werte
Numerische Werte
Text
Numerisches Array
Logisches Array
Datenleitung erstellen
Eine Datenleitung wird erstellt, indem sie von der Ausgabe eines Programmierblocks zur Eingabe eines anderen Programmierblocks gezogen wird (siehe die nachstehenden Schritte).
SchrittAktionBeispiel
1.Beginne an einer Block-Ausgabe.
2.Ziehe von links nach rechts.
3.Beende das Ziehen an einer Block-Eingabe.
Tipps und Tricks
In dem Programm muss sich der Block mit der Ausgabe (dem Anfangspunkt der Datenleitung) vor dem Block mit der Eingabe (dem Endpunkt der Datenleitung) befinden.
Die Block-Ausgabe und die Block-Eingabe müssen entweder denselben Datentyp besitzen oder mit einer Datenleitungskonvertierung kompatibel sein.
Eine Datenleitung ersetzt den Eingabewert, der direkt in den Block eingegeben wurde. Im Beispiel oben wird der Wert 50 in der Eingabe „Leistung“ durch eine Datenleitung ersetzt. Jetzt bezieht der Bewegungslenkung-Block den Wert für die Eingabe „Leistung“ aus der Datenleitung.
Datenleitung löschen
Klicke auf die Block-Eingabe am Ende der Datenleitung, um die Datenleitung zu löschen. Die Datenleitung wird gelöscht, und der Eingabewert, der direkt in den Block eingegeben wurde, wird wiederhergestellt. Klicke erneut auf die Block-Eingabe, um einen neuen Eingabewert einzugeben.
Verwendung einer Block-Ausgabe für mehrere Datenleitungen
Du kannst die Ausgabe eines Blocks auch als Ausgangspunkt für mehr als eine Datenleitung verwenden (siehe Abbildung unten). Um eine Ausgabe erneut zu verwenden, muss einfach nur eine neue Datenleitung gezogen werden.
Tipps und Tricks
Mehrere Eingabe-Datenleitungen können jedoch nicht mit demselben Datenknoten verbunden werden.
Datenleitungskonvertierungen
Eine Datenleitung muss eine Block-Ausgabe und eine Block-Eingabe desselben Typs verbinden, oder die Typen müssen mit einer der nachstehenden automatischen Konvertierungen kompatibel sein.
Von TypIn TypErgebnis
Logische Werte Numerische WerteFalsch = 0
Wahr = 1
Logische Werte TextFalsch = 0
Wahr = 1
Logische Werte Logisches ArrayArray mit einem Element
Logische Werte Numerisches ArrayArray mit einem Element (0 oder 1)
Numerische Werte TextDarstellung der Zahl in Textformat
(z. B.: „3,5“)
Numerische Werte Numerisches ArrayArray mit einem Element
Logisches Array Numerisches ArrayArray derselben Größe (Anzahl der Elemente: 0 oder 1)
Werte von Datenleitungen anzeigen
Falls der EV3-Stein mit deinem Computer verbunden ist (per USB-Kabel oder drahtlos per Bluetooth oder WLAN), während ein Programm ausgeführt wird, kannst du den über eine Datenleitung übertragenen Wert bei laufendem Programm anzeigen. Um den Wert einer Datenleitung anzuzeigen, musst du einfach nur den Mauszeiger über der Datenleitung positionieren. Der Wert wird dann in einem kleinen Fenster in der Nähe der Datenleitung eingeblendet.
Beispiel
In dem nachstehenden Programm hat die Datenleitung zu dem Zeitpunkt, als das Bild gemacht wurde, den Wert 30 enthalten. Da sich die Blöcke bei diesem Beispiel in einer Schleife befinden, kann sich der Wert der Datenleitung bei jeder Ausführung des Farbsensor-Blocks ändern. Die Anzeige wird ständig aktualisiert, damit stets der aktuelle Wert eingeblendet wird.
Tipps und Tricks
Das Anzeigen der Werte von Datenleitungen erleichtert es dir, die Funktionsweise deines Programms zu verstehen. Wenn du bei Problemen in deinem Programm nach Werten Ausschau zu hältst, die von deinen Erwartungen abweichen, kommst du der Ursache des jeweiligen Problems schneller auf den Grund. Wenn du bspw. das oben beschriebene Programm erstellst, dabei aber versehentlich den Modus „Messen – Farbe“ anstelle des Modus „Messen – Stärke des reflektierten Lichts“ verwendest, dann werden in der Datenleitung nur Werte aus dem Bereich 0 bis 7 angezeigt – und nicht die erwarteten Werte aus dem Bereich 0 bis 100 (siehe Verwendung des Farbsensors).
Datenleitungen
Direktlinks