Forgrening-blok

Forgrening-blokken er en beholder, der kan indeholde to eller flere sekvenser af programmeringsblokke. Hver sekvens kaldes et udsagn. En test i begyndelsen af forgreningen afgør, hvilket udsagn der bliver kørt. Der køres kun ét udsagn, hver gang forgreningen udføres.
Den forgreningstest, der er vist her, kan afgøre, hvilket udsagn der skal køres, ud fra en sensordataværdi eller en værdi fra et datakabel. Efter et udsagn er valgt og kørt, fortsætter programmet med eventuelle andre blokke efter forgreningen.

Eksempel
Nedenstående program får en robot til at sige "Touch" og tester derefter, om tryksensoren er trykket ind. Hvis den er trykket ind, udføres udsagnet Sandt (øverst), og robotten viser "Thumbs up" og siger "Yes". Hvis tryksensoren ikke er trykket ind, udføres udsagnet Falsk (nederst), og robotten viser "Thumbs down" og siger "No". Efter forgreningen siger robotten "Thank you".
Eksempel
Udsagnet Sandt
Udsagnet Falsk

Tryksensoren testes, lige så snart robotten har sagt "Touch". Hvis sensoren trykkes ned på det tidspunkt, kører forgreningen udsagnet Sandt, hvis ikke kører det udsagnet Falsk.
Tips og tricks
En forgrening venter ikke på, at en sensordataværdi eller et datakabel når en bestemt værdi. Testen udføres lige så snart, Forgrening-blokken starter. Lige så snart testen er færdig vælges og udføres et af udsagnene.
I ovenstående program kan du trykke tryksensoren ind før testen (eller endda før programmet starter) og holde den inde under testen. Derved er du sikker på, at forgreningen udfører udsagnet med værdien Sandt. Prøv at se, hvor længe du kan vente med at trykke på sensoren og stadig få robotten til at sige "Yes".
Du kan lade ethvert udsagn i en Forgrening-blok stå tomt, hvis du ikke ønsker, at robotten skal foretage sig noget i den pågældende situation. Prøv at fjerne to blokke fra udsagnet Falsk i ovenstående program, og se, hvad der sker.
Faneinddelt visning
En forgrening kan blive vist med Flad visning som i ovenstående eksempel eller med Faneinddelt visning som vist nedenfor. I Flad visning er alle udsagn synlige i forskellige rækker. I Faneinddelt visning vises kun ét udsagn ad gangen.

Du kan bruge Faneinddelt visning til at få programmet til at fylde mindre på skærmen. Visningen påvirker ikke den måde, forgreningen udføres på.



Vælger til Flad/Faneinddelt visning
Udsagnet Sandt
Udsagnet Falsk

Klik på vælgeren til Flad/Faneinddelt visning for at skifte mellem Flad og Faneinddelt visning.

For at få vist et andet udsagn i en faneinddelt Forgrening-blok skal du klikke på de forskellige faner oven på blokkens omrids.
Tips og tricks
Blokke i alle udsagn i en forgrening er en del af en programmet, selvom du kun kan se nogle af dem.
Vælg forgreningstesten


Tilstandsvælger
Portvælger
Input

Brug tilstandsvælgeren til at vælge den type, som forgreningen skal bruge til at vælge, hvilket udsagn der skal udføres. Du kan teste en sensorværdi eller en datakabelværdi.

Hvis du vælger en tilstand, der bruger en port, skal du bruge portvælgeren til at sikre dig, at porten svarer til den port på EV3 klodsen, som sensoren eller motoren er sluttet til.

De tilgængelige input ændres alt efter tilstanden. I nogle tilstande kan du sammenligne en sensorværdi med en tærskelværdi, og i andre tilstande kan du teste for specifikke sensorværdier. Tilstandene er beskrevet nedenfor.
Test af en sensortærskel
Forgrening-blokken indeholder adskillige tilstande, der læser en numerisk sensordataværdi og sammenligner den med en tærskelværdi for at få et Sandt- eller Falsk-resultat. I tilstanden Farvesensor – Sammenlign – Intensitet af reflekteret lys kan du for eksempel teste, om intensiteten af det reflekterede lys fra farvesensoren er mindre end 50.

I disse tilstande indeholder Forgrening-blokken to udsagn. Hvis resultatet af testen er Sandt, udføres udsagnet Sandt, og ellers udføres udsagnet Falsk.
Tips og tricks
Udsagnet Sandt er det øverste udsagn i Flad visning og er markeret med et flueben. Udsagnet Falsk er det nederste udsagn og er markeret med et "X".
Hvis du vil bruge en tilstand med en sensortærskel, skal du vælge sammenligningstypen (for eksempel Mindre end) og angive den tærskelværdi (for eksempel 50), sensordataværdien skal sammenlignes med. Forgrening-blokken vil tage en enkelt sensormåling og sammenligne den med tærsklen for at få et Sandt- eller Falsk-resultat.
Eksempel
I dette program bruger Forgrening-blokken tilstanden Farvesensor – Sammenlign – Intensitet af reflekteret lys til at teste, om lysintensiteten af det reflekterede lys er mindre end 50. Hvis den er lavere, vises "Low" på displayet, og hvis den ikke er, vises "High". Forgreningen gentages i en løkke, så displayet opdateres løbende ud fra nye sensortest.
Tips og tricks
Sensortest foregår meget hurtigt. Uden løkken i ovenstående eksempel ville programmet kun teste sensoren én gang og afslutte så hurtigt, at du slet ikke ville bemærke det.
Test for specifikke sensorværdier
I nedenstående tilstande kan en forgrening teste for specifikke sensorværdier. I forgreningen kan du oprette to eller flere udsagn, der svarer til de forskellige værdier, du ønsker at teste for. Derefter vælger forgreningen det udsagn, der passer.
TilstandAnvendelseSe
Betjeningsknapper – Mål Vælg mellem to eller flere udsagn alt efter, hvilken betjeningsknap der er trykket ind.Brug af betjeningsknapperne
Betjeningsknapper – Sammenlign Vælg mellem to udsagn alt efter, om en af de valgte betjeningsknapper er trykket ind, sluppet eller stødt.Brug af betjeningsknapperne
Farvesensor – Mål – Farve Vælg mellem to eller flere udsagn alt efter, hvilken farve der registreres.Brug af farvesensoren
Farvesensor – Sammenlign – Farve Vælg mellem to udsagn, alt efter om en af de valgte farver registreres.Brug af farvesensoren
Infrarød sensor – Mål – Fjernbetjening Vælg blandt to eller flere udsagn alt efter, hvilken eller hvilke knapper der er trykket ind på IR positionsgiveren.Brug af den infrarøde sensor i tilstanden Fjernbetjening
Infrarød sensor – Sammenlign – Fjernbetjening Vælg mellem to udsagn alt efter, om en angiven knap på IR positionsgiveren er trykket ind (eller om et sæt af angivne knapper er trykket ind).Brug af den infrarøde sensor i tilstanden Fjernbetjening
Tryksensor Vælg mellem to udsagn alt efter, om tryksensoren er trykket ind eller ej, sluppet eller ej eller stødt eller ej.Brug af tryksensoren
Ultralydssensor – Sammenlign – Tilstedeværelse Vælg mellem to udsagn alt efter, om et ultralydssignal registreres i en tilstand, hvor sensoren kun lytter og ikke selv udsender signaler.Brug af ultralydssensoren
Beskeder Vælg mellem to udsagn ud fra en beskedværdi.Beskeder
Test for flere værdier
I sensormåletilstandene i Forgrening-blokken kan du angive flere (to eller flere) forskellige sensorværdier, der skal testes for. Du kan tildele hver værdi et forskelligt udsagn i forgreningen. I tilstanden Farvesensor – Mål – Farve kan du for eksempel teste for Sort, Hvid og Rød og oprette tre forskellige udsagn, et for hver farve.




Tilføj udsagn
Udsagnsværdi
Standardudsagn
Fjern udsagn

Hvis du vil bruge flere udsagn i en sensormåletilstand, skal du klikke på knappen Tilføj udsagn for at oprette det ønskede antal udsagn. Klik på Udsagnsværdi for hvert udsagn for at vælge en værdi for sensoren på listen. Du kan klikke på knappen Fjern udsagn, hvis du vil fjerne et udsagn.

Klik på knappen Standardudsagn for at markere et udsagn som standardudsagn. Standardudsagnet udføres, når sensoren registrerer en værdi, der ikke svarer til nogen af udsagnene i forgreningen,

Se programmeringseksemplet "Sig "rød", "grøn" og "blå" ved registrering af farverne" i Brug af farvesensoren.

Se programmeringseksemplet Kontrolpanel af betjeningsknapper i Brug af betjeningsknapperne.
Test af en værdi fra et datakabel
I tilstandene Logisk, Tekst og Numerisk kan forgreningen vælge, hvilket udsagn der skal udføres på baggrund af en inputværdi fra et datakabel.
Tilstande
Tilstanden Logisk
I tilstanden Logisk vælger en forgrening mellem et Sandt-udsagn og et Falsk-udsagn ud fra værdien i inputtet Logisk. Du kan forbinde et logisk output fra enhver programmeringsblok med inputtet Logisk ved hjælp af et datakabel.

Programmeringseksempel: Se Sammenlign-blok.
Tilstanden Tekst
I tilstanden Tekst, sammenligner forgreningen værdien i inputtet Tekst med to eller flere Tekst-værdier, som du angiver, idet der oprettes et udsagn for hver værdi. Det udsagn, der har en værdi, som svarer til værdien i inputtet Tekst, udføres. Hvis der ikke er nogen værdier, der passer, udføres standardudsagnet.

Se, hvordan du opretter flere udsagn i Test for flere værdier ovenfor. Hvert udsagn i tilstanden Tekst vil have en tekstværdi, som du kan indtaste direkte i dets udsagnsværdi.
Eksempel
I dette tilfælde bruger en forgrening i tilstanden Tekst outputtet fra en Beskeder-blok til at vælge mellem tre forskellige udsagn alt efter, hvilken besked der modtages.
Tilstanden Numerisk
I tilstanden Numerisk, sammenligner forgreningen værdien i inputtet Tal med to eller flere numeriske værdier, som du angiver, idet der oprettes et udsagn for hver værdi. Det udsagn, der har en værdi, som svarer til værdien i inputtet Tal, udføres. Hvis der ikke er nogen værdier, der passer, udføres standardudsagnet.

Se, hvordan du opretter flere udsagn i Test for flere værdier ovenfor. Hvert udsagn i tilstanden Numerisk vil have en numerisk værdi, som du kan indtaste direkte i dets udsagnsværdi.
Eksempel
I dette tilfælde bruger en forgrening i tilstanden Numerisk outputtet fra en Variabel-blok til at vælge mellem tre forskellige udsagn. Forgreningens standardudsagn er tomt, så hvis handlingsvariablens værdi er alt andet end 1, 2 eller 3, gør forgreningen intet.
Tilpasning af Forgrening-blokkens størrelse
Forgrening-blokken udvides som regel automatisk for at gøre plads til de nye programmeringsblokke, du trækker ind i udsagnene i blokken. Du kan også tilpasse Forgrening-blokkens størrelse manuelt, hvis det er nødvendigt. For at tilpasse størrelsen på et udsagn i en Forgrening-blok i Flad visning skal du klikke på Forgrening-blokkens venstre eller højre kant ved det udsagn, du vil ændre størrelse på. Træk derefter i størrelsestilpasningshåndtagene, der vises.

Tips og tricks
I Faneinddelt visning vises alle udsagn med samme størrelse. Hvis du gør ét udsagn større, bliver alle de andre udsagn også større.
Input
De tilgængelige input for Forgrening-blokken afhænger af den valgte tilstand. Du kan angive inputværdierne direkte i blokken. I stedet kan inputværdierne også leveres via datakabler fra andre programmeringsblokkes output.
InputTypeBemærkninger
Logisk LogiskBruges til at vælge et udsagn i tilstanden Logisk
Tal NumeriskBruges til at vælge et udsagn i tilstanden Numerisk
Tekst TekstBruges til at vælge et udsagn i tilstanden Tekst
Sammenligningstype NumeriskSammenligningstype for en tilstand med et tærskelværdiinput.
0: = (Lig med)
1: ≠ (Ikke lig med)
2: > (Større end)
3: ≥ (Større end eller lig med)
4: < (Mindre end)
5: ≤ (Mindre end eller lig med)
Tærskelværdi NumeriskVærdi, som sensordata skal sammenlignes med, for at vælge et Sandt-udsagn eller et Falsk-udsagn ud fra en numerisk sensorværdi.
(Input til individuelle sensortyper)Se hjælpen til de individuelle sensortyper for at få yderligere oplysninger om sensordataene.
Forgrening
Hurtige link