Kontrollera#

Introduktion#

Kontrollblocken i VEXcode hanterar flödet i ett projekt genom att hantera loopar, villkor och fördröja blockkörning.

En loop är när en dator upprepar samma steg eller grupp av steg om och om igen tills den får en uppmaning att sluta. Ett villkor är en regel som datorn kontrollerar för att avgöra vad den ska göra härnäst. Till exempel kan en lampa tändas om armen rör ett föremål.

Nedan följer en lista över tillgängliga block:

  • vänta – Pausar block från att köras under en viss tid.

  • vänta tills – Pausar block från att köras tills ett angivet villkor är uppfyllt.

  • upprepa – Upprepar en uppsättning block ett visst antal gånger.

  • för alltid – Upprepar en uppsättning block i all oändlighet.

  • upprepa tills – Upprepar en uppsättning block tills ett villkor är uppfyllt.

  • medan – Upprepar en uppsättning block medan ett villkor förblir sant.

  • if – Kör en uppsättning block om ett villkor är sant.

  • if / else – Kör en uppsättning block om ett villkor är sant, annars körs en annan.

  • if / else if / else – Kör olika uppsättningar block beroende på flera villkor.

  • break – Avslutar en repeat, forever, repeat until eller while loop omedelbart.

  • stoppa projekt – Avslutar projektet.

vänta#

Stackblocket vänta pausar block från att köras under en viss tid innan de går vidare till nästa block.

väntstackblock#
vänta (1) sekunder

Parametrar

Beskrivning

tid

Väntetiden, som ett positivt heltal eller decimaltal i sekunder.

Exempel

När den startas, rör sig den framåt i en sekund och stoppar sedan all rörelse.#
när startad
[Move to the left, then the right after one second.]
öka [arm v] position med x:[100] y:[0] z:[0] [mm v] ▶
vänta (1) sekunder
öka [arm v] position med x:[-100] y:[0] z:[0] [mm v] ▶

vänta tills#

Stackblocket vänta tills pausar block från att köras tills ett angivet villkor är uppfyllt innan nästa block går vidare.

vänta tills stackblocket#
vänta tills <>

Parametrar

Beskrivning

skick

Villkoret som måste vara uppfyllt innan man går vidare till nästa block.

upprepa#

Repeat C-blocket kör blocken inuti det ett visst antal gånger.

upprepa c-blocket#
upprepa [10]
avsluta

Parametrar

Beskrivning

gånger

Ett heltal som anger hur många gånger upprepningsblocket körs.

Exempel

när startad
[Move in a square pattern.]
upprepa [4]
öka [arm v] position med x:[2] y:[0] z:[0] [tum v] ▶
öka [arm v] position med x:[0] y:[2] z:[0] [tum v] ▶
öka [arm v] position med x:[-2] y:[0] z:[0] [tum v] ▶
öka [arm v] position med x:[0] y:[2] z:[0] [tum v] ▶
avsluta

evigt#

Det för eviga C-blocket fortsätter att köra blocken inuti det om och om igen utan att stanna.

för alltid c-block#
för alltid
avsluta

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Vid start rör sig den kontinuerligt i en fyrkantig bana genom att röra sig framåt 50 mm och vrida sig åt höger 90 grader i en oändlig loop.#
när startad
[Move in a square path forever.]
för alltid
öka [arm v] position med x:[2] y:[0] z:[0] [tum v] ▶
öka [arm v] position med x:[0] y:[2] z:[0] [tum v] ▶
öka [arm v] position med x:[-2] y:[0] z:[0] [tum v] ▶
öka [arm v] position med x:[0] y:[2] z:[0] [tum v] ▶
avsluta

upprepa tills#

C-blocket upprepa tills kör blocken inuti det upprepade gånger medan det angivna villkoret inte är uppfyllt.

upprepa tills blocket#
upprepa tills <>
avsluta

Parametrar

Beskrivning

skick

Ett uttryck eller en variabel som kontrolleras före varje loop. Om den är Falskt fortsätter blocken att upprepas. Om den är Sant stoppas loopen.

Exempel

När den startas, hålls alla lysdioder röda tills skärmen trycks ned, sedan släcks de.#
när startad
[Increment along the x-axis until it's no longer possible.]
upprepa tills <inte <[arm v] öka position med x:[100] y:[0] z:[0] [mm v]?>>
öka [arm v] position med x:[100] y:[0] z:[0] [mm v] ▶
avsluta
ställ in [arm v] till styrstopp

medan#

while C-blocket kör blocken inuti upprepade gånger medan det angivna villkoret är uppfyllt.

medan c-blocket#
medan <>
avsluta

Parametrar

Beskrivning

skick

Ett uttryck eller en variabel som kontrolleras före varje loop. Om den är Sant fortsätter blocken att upprepas. Om den är Falskt stoppas loopen.

Exempel

En stapel av block som börjar med ett när-startat-block, följt av ett kommentarblock som läser Visar tiden efter att 2 sekunder har gått. Ett vänta tills-block pausar körningen tills timern når eller överstiger två sekunder. När detta villkor är uppfyllt visar ett utskriftsblock timervärdet på skärmen.#
när startad
[Display the 6-Axis Arm's position as it moves.]
flytta [arm v] till position x:(-100) y:(200) z:(100) [mm v] ◀ och vänta inte
medan <inte <[arm v] klar med rörelse?>>
skriv ut ([arm v] position [y v] i [mm v]) i konsolen ◀ och flytta markör till nästa rad
vänta [0.25] sekunder

om#

if C-blocket kör blocken inuti om villkoret är True.

om blocket#
om <> då
avsluta

Parametrar

Beskrivning

skick

Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är Sant kommer blocken inuti if-blocket att köras. Om den är Falskt hoppas blocken över.

Exempel

när startad
[Check if the 6-Axis Arm can move to a position.]
om <inte <kan [arm v] flytta till position x:[0] y:[0] z:[0] [mm v]?>> då
skriv ut [The 6-Axis Arm can't move to this position.] ◀ och flytta markör till nästa rad

om / annars#

C-blocket if / else avgör vilken uppsättning block som körs baserat på om villkoret är True eller False.

om då annars blockera#
om <> då
annars
avsluta

Parametrar

Beskrivning

skick

Ett uttryck eller en variabel som kontrolleras när satsen körs. Om den är Sant kommer blocken inuti if-blocket att köras. Om den är False kommer blocken inuti else-blocket att köras.

Exempel

när startad
[Check if the 6-Axis Arm can or can't move to a position.]
om <inte <kan [arm v] flytta till position x:[100] y:[100] z:[100] [mm v]?>> då
skriv ut [The 6-Axis Arm can't move to this position.] i konsolen ◀ och flytta markör till nästa rad
annars
skriv ut [The 6-Axis Arm can move to this position.] i konsolen ◀ och flytta markör till nästa rad

om / annars om / annars#

Det expanderbara C-blocket if / else if / else väljer vilken uppsättning block som körs baserat på villkor:

  • if kör sitt kodblock om villkoret utvärderas som True.

  • else if kontrollerar ytterligare villkor endast om alla tidigare villkor utvärderas som Falskt. Flera else if-satser kan användas.

  • annars körs sitt kodblock endast om inget av de föregående villkoren utvärderas som Sant.

om annars om annars blockera#
om <> då
annars om <> då
annars
avsluta

Parametrar

Beskrivning

skick

Ett uttryck eller en variabel som kontrolleras när satsen körs. Det första villkoret som är Sant kör den uppsättningen block. Om alla villkor utvärderas som Falskt kommer blocken inuti annars-blocket att köras.

Exempel

när startad
[Move until the 6-Axis Arm is at the corner of the tile.]
om <[arm v] öka position med x:[50] y:[0] z:[0] [mm v]?> då
öka [arm v] position med x:[50] y:[0] z:[0] [mm v] ▶
annars om <[arm v] öka position med x:[0] y:[50] z:[0] [mm v]?> då
öka [arm v] position med x:[0] y:[50] z:[0] [mm v] ▶
annars
skriv ut [The 6-Axis Arm has reached the corner.] i konsolen ◀ och flytta markör till nästa rad

bryta#

Stackblocket break avslutar en loop omedelbart. Detta block kan användas inuti blocken repeat, repeat until, while och forever. Break är användbart när en loop behöver stoppas i förtid baserat på något som händer under projektet, som att en knapp trycks ner eller att en sensor detekterar ett objekt.

bryta stackblocket#
bryt

Parametrar

Beskrivning

Det här blocket har inga parametrar.

stoppa projektet#

Stackblocket stoppa projektet avslutar ett pågående projekt.

stoppa projektblocket#
stoppa projekt

Parametrar

Beskrivning

Det här blocket har inga parametrar.