Dataverbindingen

Met een Gegevensverbinding kun je voor een programmeerblok een inputwaarde verschaffen door gebruik te maken van een outputwaarde van een ander blok in het programma. Op die manier kun je interacties tussen blokken creëren en je robot complexere handelingen laten uitvoeren.
Voorbeeld
Dit programma gebruikt een Gegevensverbinding om de output Licht van het blok Kleursensor te koppelen aan de input Vermogen van het blok Richting veranderen. Dit zorgt ervoor dat de snelheid van de robot bepaald wordt door de lichtintensiteit die gedetecteerd wordt door de Kleursensor. Dit proces wordt via een Herhaling herhaald zodat het vermogen doorlopend geüpdatet wordt op basis van nieuwe sensorgegevens.
Handige weetjes
Als je het bovenstaande programma toepast terwijl de Kleursensor naar beneden gericht is en zich net boven de grond bevindt, zal de snelheid van de robot veranderen als deze over verschillende kleuren rijdt.
Types Gegevensverbindingen
Gegevensverbindingen zetten waarden over van een blok naar een ander blok. Elke Gegevensverbinding heeft een bepaald type, dat bepaald wordt door het outputtype van het blok aan het begin van de verbinding. Dit is eveneens het type waarde van de Gegevensverbinding. Zie Datatypes voor meer informatie over de verschillende types.

Gegevensverbindingen, blokinputs en blokoutputs zien er anders uit afhankelijk van hun type (zie onderstaande tabel).
TypeBlokinputBlokoutputBlokoutput Gegevensverbinding
Logisch
Numeriek
Tekst
Numerieke reeks
Logische reeks
Een Gegevensverbinding aanmaken
Om een gegevensverbinding aan te maken, trek je vanaf een output van een programmeerblok een verbinding naar een input van een ander programmeerblok, zoals hieronder weergegeven.
StapActieVoorbeeld
1Begin bij een blokoutput.
2Sleep van links naar rechts.
3Eindig bij een blokinput.
Handige weetjes
Het blok met de output (het begin van de Gegevensverbinding) moet zich in het programma voor het blok met de input bevinden (het einde van de Gegevensverbinding).
De blokoutput en de blokinput moeten hetzelfde Gegevenstype hebben of ondersteuning bieden voor een Gegevensverbindingconversie.
Een Gegevensverbinding zal de ingevoerde inputwaarde in het blok rechtstreeks vervangen. In het bovenstaande voorbeeld wordt de inputwaarde van 50 voor Vermogen vervangen door de Gegevensverbinding. Het blok Richting veranderen ontvangt nu de input voor Vermogen via de Gegevensverbinding.
Een Gegevensverbinding verwijderen
Om een gegevensverbinding te verwijderen, klik je op de blokinput aan het einde van de gegevensverbinding. De Gegevensverbinding wordt verwijderd, en de inputwaarde die rechtstreeks in het blok werd ingevoerd, wordt hersteld. Klik nogmaals op de blokinput om een nieuwe inputwaarde in te voeren.
Een blokoutput gebruiken voor meerdere gegevensverbindingen
Je kunt de output van een blok gebruiken als beginpunt voor meer dan een gegevensverbinding, zoals hieronder weergegeven. Om een output nogmaals te gebruiken, trek je eenvoudig nog een Gegevensverbinding.
Handige weetjes
Het is niet mogelijk om meerdere inputgegevensverbindingen met dezelfde hub te verbinden.
Gegevensverbindingsconversies
Een Gegevensverbinding moet een verbinding maken tussen een blokoutput en een blokinput van hetzelfde type, of de types moeten ondersteuning bieden voor een van de onderstaande automatische conversies.
Van typeNaar typeResultaat
Logisch NumeriekOnwaar = 0
Waar = 1
Logisch TekstOnwaar = „0”
Waar = „1”
Logisch Logische reeksReeks met één element
Logisch Numerieke reeksReeks met één element (0 of 1)
Numeriek TekstTekst die het getal vertegenwoordigt
(Bijvoorbeeld „3,5”)
Numeriek Numerieke reeksReeks met één element
Logische reeks Numerieke reeksEven grote reeks met elementen gelijk aan 0 of 1
Waarden van een Gegevensverbinding weergeven
Als de EV3-steen verbonden is met je computer (via USB, Bluetooth of Wifi) wanneer er een programma uitgevoerd wordt, kun je de waarde van een Gegevensverbinding weergeven terwijl het programma actief is. Om de waarde van een Gegevensverbinding weer te geven, breng je gewoon je muiscursor boven de Gegevensverbinding. De waarde wordt weergegeven in een klein venster in de buurt van de Gegevensverbinding.
Voorbeeld
In het onderstaande programma heeft de Gegevensverbinding op het ogenblik dat de afbeelding gemaakt werd een waarde van 30. Omdat de blokken in dit voorbeeld met een Herhaling uitgevoerd worden, kan de waarde van de Gegevensverbinding wijzigen telkens wanneer het blok Kleursensor uitgevoerd wordt. De weergave wordt doorlopend geüpdatet met de recentste waarde.
Handige weetjes
Het weergegeven van waarden van Gegevensverbindingen kan je helpen begrijpen hoe je programma werkt. Door te zoeken naar waarden die anders zijn dan je verwacht, kun je de oorzaak van een probleem in je programma vinden. Als je bijvoorbeeld het bovenstaande programma aanmaakt maar per ongeluk de modus Meten – Kleur van de Kleursensor gebruikt in plaats van de modus Meten – Intensiteit gereflecteerd licht, zal de Gegevensverbinding waarden tonen tussen 0-7 in plaats van tussen 0-100, zoals je zou verwachten (zie De Kleursensor gebruiken).
Dataverbindingen
Snelkoppelingen