നിയന്ത്രണം#

ആമുഖം#

VEXcode-ലെ കൺട്രോൾ ബ്ലോക്കുകൾ ലൂപ്പുകൾ, കണ്ടീഷനുകൾ, റൺ ചെയ്യുന്നതിൽ നിന്ന് ബ്ലോക്കുകൾ വൈകിപ്പിക്കൽ എന്നിവ കൈകാര്യം ചെയ്തുകൊണ്ട് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് കൈകാര്യം ചെയ്യുന്നു.

ഒരു കമ്പ്യൂട്ടർ നിർത്താൻ പറയുന്നതുവരെ ഒരേ ഘട്ടമോ ഘട്ടങ്ങളുടെ ഒരു കൂട്ടമോ വീണ്ടും വീണ്ടും ആവർത്തിക്കുന്നതിനെയാണ് ലൂപ്പ് എന്ന് പറയുന്നത്. അടുത്തതായി എന്തുചെയ്യണമെന്ന് തീരുമാനിക്കാൻ കമ്പ്യൂട്ടർ പരിശോധിക്കുന്ന ഒരു നിയമമാണ് ഒരു കണ്ടീഷൻ. ഉദാഹരണത്തിന്, കൈ ഒരു വസ്തുവിനെ ചലിപ്പിക്കുകയാണെങ്കിൽ ഒരു ലൈറ്റ് തെളിയും.

ലഭ്യമായ ബ്ലോക്കുകളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

  • കാത്തിരിക്കുക – ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

  • വരെ കാത്തിരിക്കുക – ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

  • ആവർത്തിക്കുക – ഒരു കൂട്ടം ബ്ലോക്കുകൾ ഒരു നിശ്ചിത എണ്ണം തവണ ആവർത്തിക്കുന്നു.

  • forever – ഒരു കൂട്ടം ബ്ലോക്കുകൾ അനിശ്ചിതമായി ആവർത്തിക്കുന്നു.

  • ആവർത്തിക്കുക – ഒരു വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.

  • while – ഒരു വ്യവസ്ഥ ശരിയായിരിക്കുമ്പോൾ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.

  • if – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു.

  • if / else – ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു, അല്ലാത്തപക്ഷം മറ്റൊന്ന് പ്രവർത്തിപ്പിക്കുന്നു.

  • if / else if / else – ഒന്നിലധികം വ്യവസ്ഥകളെ ആശ്രയിച്ച് വ്യത്യസ്ത ബ്ലോക്കുകളുടെ സെറ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു.

  • break – repeat, forever, repeat until, അല്ലെങ്കിൽ while ലൂപ്പിൽ നിന്ന് ഉടൻ പുറത്തുകടക്കുന്നു.

  • പ്രോജക്റ്റ് നിർത്തുക – പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.

കാത്തിരിക്കുക#

wait സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ്, ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

വെയ്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക്#
(1) സെക്കൻഡ് കാത്തിരിക്കുക

പാരാമീറ്ററുകൾ

വിവരണം

സമയം

സെക്കൻഡുകളിൽ ഒരു പോസിറ്റീവ് പൂർണ്ണ സംഖ്യയായോ ദശാംശമായോ കാത്തിരിക്കേണ്ട സമയത്തിന്റെ അളവ്.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, ഒരു സെക്കൻഡ് മുന്നോട്ട് നീങ്ങുന്നു, തുടർന്ന് എല്ലാ ചലനങ്ങളും നിർത്തുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Move to the left, then the right after one second.]
[കൈ v] x:[100] y:[0] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
(1) സെക്കൻഡ് കാത്തിരിക്കുക
[കൈ v] x:[-100] y:[0] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶

കാത്തിരിക്കൂ#

wait until സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ് ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.

സ്റ്റാക്ക് ബ്ലോക്ക് ആകുന്നതുവരെ കാത്തിരിക്കുക.#
<> വരെ കാത്തിരിക്കുക

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

അടുത്ത ബ്ലോക്കിലേക്ക് പോകുന്നതിനുമുമ്പ് പാലിക്കേണ്ട വ്യവസ്ഥ.

ആവർത്തിക്കുക#

ആവർത്തിച്ചുള്ള C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകളെ ഒരു നിശ്ചിത എണ്ണം തവണ പ്രവർത്തിപ്പിക്കുന്നു.

സി ബ്ലോക്ക് ആവർത്തിക്കുക#
[10] തവണ ആവർത്തിക്കുക
अंत

പാരാമീറ്ററുകൾ

വിവരണം

തവണകൾ

ആവർത്തന ബ്ലോക്ക് എത്ര തവണ പ്രവർത്തിക്കണമെന്ന് നിശ്ചയിക്കുന്ന ഒരു പൂർണ്ണ സംഖ്യ.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ
[Move in a square pattern.]
[4] തവണ ആവർത്തിക്കുക
[കൈ v] x:[2] y:[0] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[0] y:[2] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[-2] y:[0] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[0] y:[2] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
अंत

എന്നേക്കും#

forever C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ നിർത്താതെ വീണ്ടും വീണ്ടും പ്രവർത്തിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു.

ഫോറെവർ സി ബ്ലോക്ക്#
എന്നും
अंत

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, അനന്തമായ ഒരു ലൂപ്പിൽ 50 mm മുന്നോട്ട് നീങ്ങി വലത്തേക്ക് 90 ഡിഗ്രി തിരിഞ്ഞ് തുടർച്ചയായി ഒരു ചതുര പാതയിൽ നീങ്ങുക.#
ആരംഭിക്കുമ്പോൾ
[Move in a square path forever.]
എന്നും
[കൈ v] x:[2] y:[0] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[0] y:[2] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[-2] y:[0] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
[കൈ v] x:[0] y:[2] z:[0] [ഇഞ്ച് v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
अंत

വരെ ആവർത്തിക്കുക#

repeat until C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുമ്പോൾ നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കപ്പെടുന്നില്ല.

ബ്ലോക്ക് ആകുന്നത് വരെ ആവർത്തിക്കുക#
<> വരെ ആവർത്തിക്കുക
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് തെറ്റ് ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് ശരി ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ, സ്‌ക്രീൻ അമർത്തുന്നത് വരെ എല്ലാ LED-കളും ചുവപ്പ് നിറത്തിൽ സൂക്ഷിക്കുക, തുടർന്ന് അവ ഓഫാക്കുക.#
ആരംഭിക്കുമ്പോൾ
[Increment along the x-axis until it's no longer possible.]
<<[കൈ v] സ്ഥാനം x:[100] y:[0] z:[0] [mm v] കൊണ്ട് വർദ്ധിപ്പിക്കാൻ കഴിയുമോ?> അല്ല> വരെ ആവർത്തിക്കുക
[കൈ v] x:[100] y:[0] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
अंत
[കൈ v] നിയന്ത്രണം നിർത്തുക

അതേസമയം#

നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ while C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുന്നു.

സി ബ്ലോക്ക് ഉള്ളപ്പോൾ#
<> ആയിരിക്കുമ്പോൾ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് ശരി ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് തെറ്റ് ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും.

ഉദാഹരണം

ഒരു സ്റ്റാർട്ട് ബ്ലോക്കിൽ ആരംഭിക്കുമ്പോൾ എന്നതിൽ ആരംഭിച്ച്, തുടർന്ന് ഒരു കമന്റ് ബ്ലോക്ക് റീഡിംഗ് ഉള്ള ബ്ലോക്കുകളുടെ ഒരു കൂട്ടം. 2 സെക്കൻഡ് കഴിഞ്ഞതിന് ശേഷമുള്ള സമയം പ്രദർശിപ്പിക്കുക. ടൈമർ രണ്ട് സെക്കൻഡിൽ എത്തുന്നതുവരെയോ അതിൽ കൂടുതലാകുന്നതുവരെയോ ബ്ലോക്ക് എക്സിക്യൂഷൻ താൽക്കാലികമായി നിർത്തുന്നതുവരെ കാത്തിരിക്കുക. ഈ അവസ്ഥ പാലിച്ചുകഴിഞ്ഞാൽ, ഒരു പ്രിന്റ് ബ്ലോക്ക് സ്ക്രീനിൽ ടൈമർ മൂല്യം പ്രദർശിപ്പിക്കുന്നു.#
ആരംഭിക്കുമ്പോൾ
[Display the 6-Axis Arm's position as it moves.]
[കൈ v] x:(-100) y:(200) z:(100) [mm v] സ്ഥാനത്തേക്ക് നീക്കുക ◀ കാത്തിരിക്കേണ്ട
<<[കൈ v] നീക്കം പൂർത്തിയായോ?> അല്ല> ആയിരിക്കുമ്പോൾ
കൺസോളിൽ ([കൈ v] സ്ഥാനം [y v] [mm v]-ൽ) പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
[0.25] സെക്കൻഡ് കാത്തിരിക്കുക

എങ്കിൽ#

True എന്ന അവസ്ഥയാണെങ്കിൽ if C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകളെ പ്രവർത്തിപ്പിക്കുന്നു.

ബ്ലോക്ക് ആണെങ്കിൽ#
<> ആണെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, ബ്ലോക്കുകൾ ഒഴിവാക്കപ്പെടും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ
[Check if the 6-Axis Arm can move to a position.]
<<[കൈ v] x:[0] y:[0] z:[0] [mm v] സ്ഥാനത്തേക്ക് നീക്കാൻ കഴിയുമോ?> അല്ല> ആണെങ്കിൽ
[The 6-Axis Arm can't move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക

അല്ലെങ്കിൽ / അല്ലെങ്കിൽ#

if / else C ബ്ലോക്ക് ആണ് ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കണമെന്ന് നിർണ്ണയിക്കുന്നത്, വ്യവസ്ഥ ശരി ആണോ തെറ്റ് ആണോ എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ്.

അല്ലെങ്കിൽ ബ്ലോക്ക് ചെയ്യുക#
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, അത് else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ
[Check if the 6-Axis Arm can or can't move to a position.]
<<[കൈ v] x:[100] y:[100] z:[100] [mm v] സ്ഥാനത്തേക്ക് നീക്കാൻ കഴിയുമോ?> അല്ല> ആണെങ്കിൽ
കൺസോളിൽ [The 6-Axis Arm can't move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക
അല്ലെങ്കിൽ
കൺസോളിൽ [The 6-Axis Arm can move to this position.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക

എങ്കിൽ / അല്ലെങ്കിൽ എങ്കിൽ / അല്ലെങ്കിൽ#

if / else if / else വികസിപ്പിക്കാവുന്ന C ബ്ലോക്ക്, വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കുന്നുവെന്ന് തിരഞ്ഞെടുക്കുന്നു:

  • True എന്ന അവസ്ഥ വിലയിരുത്തിയാൽ if അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കുന്നു.

  • else if എന്നത് മുൻ വ്യവസ്ഥകളെല്ലാം False ആയി വിലയിരുത്തിയാൽ മാത്രമേ അധിക വ്യവസ്ഥകൾ പരിശോധിക്കൂ. ഒന്നിലധികം else if പ്രസ്താവനകൾ ഉപയോഗിക്കാം.

  • അല്ലെങ്കിൽ മുമ്പത്തെ അവസ്ഥകളൊന്നും ശരി എന്ന് വിലയിരുത്തിയിട്ടില്ലെങ്കിൽ മാത്രമേ അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കൂ.

അല്ലെങ്കിൽ അങ്ങനെയാണെങ്കിൽ ബ്ലോക്ക്#
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ <> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत

പാരാമീറ്ററുകൾ

വിവരണം

അവസ്ഥ

സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. ആദ്യത്തെ കണ്ടീഷൻ ആയ True ആ ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിപ്പിക്കുന്നു. എല്ലാ കണ്ടീഷനുകളും False ആയി വിലയിരുത്തിയാൽ, else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും.

ഉദാഹരണം

ആരംഭിക്കുമ്പോൾ
[Move until the 6-Axis Arm is at the corner of the tile.]
<[കൈ v] സ്ഥാനം x:[50] y:[0] z:[0] [mm v] കൊണ്ട് വർദ്ധിപ്പിക്കാൻ കഴിയുമോ?> ആണെങ്കിൽ
[കൈ v] x:[50] y:[0] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
അല്ലെങ്കിൽ <[കൈ v] സ്ഥാനം x:[0] y:[50] z:[0] [mm v] കൊണ്ട് വർദ്ധിപ്പിക്കാൻ കഴിയുമോ?> ആണെങ്കിൽ
[കൈ v] x:[0] y:[50] z:[0] [mm v] ആയി സ്ഥാനം വർദ്ധിപ്പിക്കുക ▶
അല്ലെങ്കിൽ
കൺസോളിൽ [The 6-Axis Arm has reached the corner.] പ്രിൻ്റ് ചെയ്യുക ◀ കർസർ അടുത്ത വരിയിലേക്ക് സെറ്റ് ചെയ്യുക

ബ്രേക്ക്#

break സ്റ്റാക്ക് ബ്ലോക്ക് ഒരു ലൂപ്പിൽ നിന്ന് ഉടനടി പുറത്തുകടക്കുന്നു. ഈ ബ്ലോക്ക് repeat, repeat until, while, forever ബ്ലോക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കാം. ഒരു ബട്ടൺ അമർത്തുകയോ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്ന സെൻസർ പോലുള്ള പ്രോജക്റ്റ് സമയത്ത് സംഭവിക്കുന്ന എന്തെങ്കിലും അടിസ്ഥാനമാക്കി ഒരു ലൂപ്പ് നേരത്തെ നിർത്തേണ്ടിവരുമ്പോൾ Break ഉപയോഗപ്രദമാണ്.

ബ്രേക്ക് സ്റ്റാക്ക് ബ്ലോക്ക്#
ബ്രേക്ക്

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.

പദ്ധതി നിർത്തുക#

സ്റ്റോപ്പ് പ്രോജക്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക് റൺ ചെയ്യുന്ന ഒരു പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.

പ്രോജക്റ്റ് ബ്ലോക്ക് നിർത്തുക#
പ്രോജക്ട് നിർത്തുക

പാരാമീറ്ററുകൾ

വിവരണം

ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല.