Bird
Raised Fist0
CNC Programmingscripting~10 mins

Conditional statements (IF-THEN) in CNC Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if the spindle speed is greater than 1000.

CNC Programming
IF SPINDLE_SPEED [1] 1000 THEN
  M03 ; Start spindle
ENDIF
Drag options to blanks, or click blank then click option'
A<
B>
C=
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' causes the spindle to start at lower speeds.
Using '=' checks for exact speed, not greater than.
2fill in blank
medium

Complete the code to stop the coolant if the temperature is less than 50.

CNC Programming
IF TEMPERATURE [1] 50 THEN
  M09 ; Stop coolant
ENDIF
Drag options to blanks, or click blank then click option'
A>=
B>
C<=
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>=' would stop coolant at higher temperatures.
Using '<=' includes 50, but the instruction says less than 50.
3fill in blank
hard

Fix the error in the code to check if tool number equals 5.

CNC Programming
IF TOOL_NUMBER [1] 5 THEN
  M06 ; Change tool
ENDIF
Drag options to blanks, or click blank then click option'
A=
B==
C!=
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' causes syntax errors in CNC IF statements.
Using '!=' checks for inequality, which is not the goal here.
4fill in blank
hard

Fill both blanks to check if feed rate is less than or equal to 200 and stop feed if true.

CNC Programming
IF FEED_RATE [1] 200 [2] THEN
  M05 ; Stop feed
ENDIF
Drag options to blanks, or click blank then click option'
A<=
B>
CTHEN
D=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' instead of '<=' reverses the condition.
Forgetting 'THEN' causes syntax errors.
5fill in blank
hard

Fill all three blanks to create a condition that checks if the axis position is greater than 100 and stops the machine.

CNC Programming
IF AXIS_POSITION [1] 100 [2] 
  [3] ; Stop machine
ENDIF
Drag options to blanks, or click blank then click option'
A<
B>
CM00
DTHEN
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' reverses the condition.
Omitting 'THEN' causes syntax errors.
Using wrong stop command causes unexpected behavior.

Practice

(1/5)
1. What does an IF-THEN statement do in CNC programming?
easy
A. It repeats a set of commands multiple times.
B. It stops the machine immediately.
C. It defines the speed of the machine.
D. It makes the program choose actions based on conditions.

Solution

  1. Step 1: Understand the purpose of IF-THEN

    IF-THEN checks a condition and runs commands only if the condition is true.
  2. Step 2: Compare with other options

    Repeating commands is done by loops, speed is set by other commands, and stopping is a different command.
  3. Final Answer:

    It makes the program choose actions based on conditions. -> Option D
  4. Quick Check:

    IF-THEN controls flow based on conditions [OK]
Hint: IF-THEN means "if this, then do that" [OK]
Common Mistakes:
  • Confusing IF-THEN with loops
  • Thinking IF-THEN sets machine speed
  • Assuming IF-THEN stops the machine
2. Which of the following is the correct syntax for an IF statement in CNC programming?
easy
A. WHEN condition DO commands END
B. IF (condition) { commands }
C. IF [condition] THEN commands ENDIF
D. if condition: commands

Solution

  1. Step 1: Identify CNC IF syntax

    CNC uses IF [condition] THEN ... ENDIF structure.
  2. Step 2: Check other options

    Options B and C use programming languages like C or Python syntax, A is not standard CNC syntax.
  3. Final Answer:

    IF [condition] THEN commands ENDIF -> Option C
  4. Quick Check:

    CNC IF syntax uses THEN and ENDIF [OK]
Hint: Look for THEN and ENDIF keywords in CNC IF syntax [OK]
Common Mistakes:
  • Using parentheses or braces like other languages
  • Omitting THEN or ENDIF keywords
  • Confusing IF with WHEN or DO
3. What will be the output of this CNC code snippet?
IF #100 GT 50 THEN
  #101 = 1
ELSE
  #101 = 0
ENDIF
PRINT #101
Assuming variable #100 is 60.
medium
A. 0
B. 1
C. Syntax Error
D. No output

Solution

  1. Step 1: Evaluate the condition #100 GT 50

    #100 is 60, which is greater than 50, so condition is true.
  2. Step 2: Determine the assigned value to #101

    Since condition is true, #101 is set to 1, then printed.
  3. Final Answer:

    1 -> Option B
  4. Quick Check:

    60 > 50 is true, so #101 = 1 [OK]
Hint: Check condition truth to find which branch runs [OK]
Common Mistakes:
  • Confusing GT (greater than) with LT (less than)
  • Ignoring ELSE branch
  • Assuming syntax error due to ELSE
4. Identify the error in this CNC IF statement:
IF #200 EQ 10
  G01 X100 Y100
ENDIF
medium
A. Missing THEN keyword after condition
B. Incorrect variable name #200
C. Missing ENDIF keyword
D. G01 command is invalid inside IF

Solution

  1. Step 1: Check IF statement syntax

    CNC IF requires THEN after the condition, missing here.
  2. Step 2: Verify other parts

    Variable name is valid, ENDIF is present, G01 is valid command inside IF.
  3. Final Answer:

    Missing THEN keyword after condition -> Option A
  4. Quick Check:

    IF must have THEN before commands [OK]
Hint: IF condition must be followed by THEN [OK]
Common Mistakes:
  • Forgetting THEN after IF condition
  • Thinking ENDIF is missing
  • Assuming commands can't be inside IF
5. You want the CNC machine to move to X=50 only if the tool number (#1) is 3 or higher. Which IF statement correctly does this?
hard
A. IF #1 GE 3 THEN G01 X50 ENDIF
B. IF #1 GT 3 THEN G01 X50 ENDIF
C. IF #1 LE 3 THEN G01 X50 ENDIF
D. IF #1 EQ 3 THEN G01 X50 ENDIF

Solution

  1. Step 1: Understand the condition "3 or higher"

    This means #1 is greater than or equal to 3 (GE 3).
  2. Step 2: Check each option's condition

    IF #1 GE 3 THEN G01 X50 ENDIF uses GE (greater or equal), B uses GT (greater than) which excludes 3, C uses LE (less or equal), D uses EQ (equal only).
  3. Final Answer:

    IF #1 GE 3 THEN G01 X50 ENDIF -> Option A
  4. Quick Check:

    GE means "3 or higher" [OK]
Hint: Use GE for "greater or equal" conditions [OK]
Common Mistakes:
  • Using GT excludes the value 3
  • Using LE or EQ does not cover all values 3 or higher
  • Confusing GE with GT
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard