Bird
Raised Fist0
CNC Programmingscripting~10 mins

Conditional statements (IF-THEN) in CNC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Conditional statements (IF-THEN)
Start
↓
Evaluate Condition
↓
Execute THEN block
No↓
Skip THEN block
↓
Continue Program
The CNC program checks a condition. If true, it runs the THEN commands; if false, it skips them and continues.
Execution Sample
CNC Programming
IF [#100 GT 50] THEN
  G01 X10 Y10
ENDIF
If variable #100 is greater than 50, move tool to X10 Y10.
Execution Table
StepCondition CheckedCondition ResultAction TakenOutput/Movement
1#100 GT 50TrueExecute THEN blockMove tool to X10 Y10
2End of IFN/AContinue programNo further action
💡 Condition true, THEN block executed; program continues after IF.
Variable Tracker
VariableStartAfter Step 1Final
#100606060
Key Moments - 2 Insights
Why does the program move the tool only when #100 is greater than 50?
Because the condition '#100 GT 50' is checked at Step 1 in the execution_table. If true, the THEN block runs, moving the tool.
What happens if the condition is false?
The THEN block is skipped, so no movement occurs. This is shown by the 'Skip THEN block' path in concept_flow.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the action taken when the condition '#100 GT 50' is true?
AExecute THEN block and move tool to X10 Y10
BSkip THEN block and do nothing
CStop the program
DReset variable #100
💡 Hint
Check Step 1 in execution_table under 'Action Taken' column.
At which step does the program continue after the IF statement?
AStep 1
BBefore Step 1
CStep 2
DNever continues
💡 Hint
Look at Step 2 in execution_table where action is 'Continue program'.
If #100 was 40 instead of 60, how would the execution_table change?
ACondition Result would be True and THEN block executed
BCondition Result would be False and THEN block skipped
CProgram would stop with error
DVariable #100 would change to 50
💡 Hint
Refer to key_moments about what happens if condition is false.
Concept Snapshot
IF-THEN checks a condition.
If true, runs THEN commands.
If false, skips THEN commands.
Syntax: IF [condition] THEN ... ENDIF
Used to control CNC tool actions based on variables.
Full Transcript
In CNC programming, conditional statements let the machine decide what to do based on conditions. The IF-THEN statement checks if a condition is true. For example, if variable #100 is greater than 50, the machine moves the tool to X10 Y10. If not, it skips that move. This helps make programs smarter and adaptable. The flow starts by evaluating the condition, then either runs the commands inside THEN or skips them, continuing the program. Variables like #100 hold values that affect decisions. Understanding this helps control CNC machines precisely.

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