What is the purpose of an IF-THEN-ELSE statement in PLC programming?
It allows the program to make decisions by executing different actions based on whether a condition is true or false.
Click to reveal answer
beginner
In an IF-THEN-ELSE statement, what happens if the condition is false?
The program executes the code inside the ELSE block, if it exists, or skips the IF block if there is no ELSE.
Click to reveal answer
beginner
Write a simple IF-THEN-ELSE statement in PLC structured text to turn on a motor if a start button is pressed, otherwise turn it off.
IF StartButton THEN
Motor := TRUE;
ELSE
Motor := FALSE;
END_IF;
Click to reveal answer
intermediate
Can IF-THEN-ELSE statements be nested in PLC programming?
Yes, you can place an IF-THEN-ELSE statement inside another to check multiple conditions step-by-step.
Click to reveal answer
intermediate
Why is it important to use IF-THEN-ELSE statements carefully in PLC programs?
Because incorrect conditions or missing ELSE parts can cause unexpected machine behavior or safety issues.
Click to reveal answer
What does the ELSE part of an IF-THEN-ELSE statement do?
ARuns when the IF condition is false
BRuns when the IF condition is true
CRuns before the IF condition is checked
DRuns only if there is an error
✗ Incorrect
The ELSE block runs only when the IF condition is false.
Which keyword ends an IF-THEN-ELSE statement in PLC structured text?
AEND_ELSE
BENDIF
CEND_IF
DSTOP
✗ Incorrect
END_IF marks the end of the IF-THEN-ELSE block in PLC structured text.
What happens if you omit the ELSE part in an IF-THEN-ELSE statement?
AThe program skips the IF block when the condition is false
BThe program crashes
CThe program runs the IF block twice
DThe program always runs the ELSE block
✗ Incorrect
Without ELSE, the program just skips the IF block if the condition is false.
Can you use multiple IF-THEN-ELSE statements inside each other?
AOnly in special programs
BNo, it causes errors
COnly if the PLC supports it
DYes, this is called nesting
✗ Incorrect
Nesting means placing IF-THEN-ELSE statements inside others to check multiple conditions.
Which of these is a correct IF-THEN-ELSE syntax in PLC structured text?
AIF Condition DO Action1 ELSE Action2 END;
BIF Condition THEN Action1; ELSE Action2; END_IF;
CIF Condition { Action1 } ELSE { Action2 }
DIF Condition: Action1 ELSE: Action2 END
✗ Incorrect
Option B uses the correct PLC structured text syntax with IF, THEN, ELSE, and END_IF.
Explain how an IF-THEN-ELSE statement controls the flow of a PLC program.
Think about how the program chooses what to do based on a yes/no question.
You got /4 concepts.
Describe a real-life example where you might use an IF-THEN-ELSE statement in a machine control program.
Consider a start button or sensor input controlling a motor or light.
You got /4 concepts.
Practice
(1/5)
1. What does an IF-THEN-ELSE statement do in PLC programming?
easy
A. It repeats a set of instructions multiple times.
B. It sends data to an external device.
C. It stores data in a table format.
D. It chooses between two actions based on a condition.
Solution
Step 1: Understand the purpose of IF-THEN-ELSE
The IF-THEN-ELSE statement checks a condition and decides which action to take based on that condition.
Step 2: Compare with other options
Repeating instructions is done by loops, storing data is done by variables or tables, and sending data is communication, not decision making.
Final Answer:
It chooses between two actions based on a condition. -> Option D
Quick Check:
IF-THEN-ELSE = Choose action based on condition [OK]
Hint: IF-THEN-ELSE picks one of two paths [OK]
Common Mistakes:
Confusing IF-THEN-ELSE with loops
Thinking it stores data
Assuming it sends data externally
2. Which of the following is the correct syntax to start an IF statement in PLC structured text?
easy
A. IF condition THEN
B. IF condition DO
C. WHEN condition THEN
D. IF condition THEN DO
Solution
Step 1: Recall PLC IF statement syntax
The correct way to start an IF statement is with 'IF condition THEN'.
Step 2: Check other options for errors
'DO' is not used after IF in PLC structured text, 'WHEN' is for CASE statements, and 'THEN DO' is invalid syntax.
Final Answer:
IF condition THEN -> Option A
Quick Check:
IF starts with 'IF condition THEN' [OK]
Hint: IF always pairs with THEN, no DO needed [OK]
Common Mistakes:
Adding DO after THEN
Using WHEN instead of IF
Mixing CASE syntax with IF
3. What will be the output of this PLC code snippet?
IF SensorInput = TRUE THEN
Motor := ON;
ELSE
Motor := OFF;
END_IF;
Assuming SensorInput is FALSE initially.
medium
A. Motor will keep previous state
B. Motor will be ON
C. Motor will be OFF
D. Syntax error occurs
Solution
Step 1: Evaluate the condition with SensorInput = FALSE
The condition 'SensorInput = TRUE' is false, so the ELSE branch runs.
Step 2: Determine the action in ELSE branch
In ELSE, Motor is set to OFF.
Final Answer:
Motor will be OFF -> Option C
Quick Check:
Condition false -> ELSE -> Motor OFF [OK]
Hint: False condition triggers ELSE action [OK]
Common Mistakes:
Assuming Motor stays ON by default
Confusing TRUE and FALSE conditions
Thinking ELSE is optional and skipped
4. Identify the error in this PLC IF-THEN-ELSE code:
IF Temperature > 100 THEN
Alarm := TRUE
ELSE
Alarm := FALSE;
END_IF;
medium
A. Missing END_IF statement
B. Missing semicolon after Alarm := TRUE
C. Incorrect comparison operator
D. ELSE should be ELSEIF
Solution
Step 1: Check statement endings
In PLC structured text, each assignment must end with a semicolon. 'Alarm := TRUE' is missing a semicolon.
Step 2: Verify other parts
Comparison operator '>' is correct, END_IF is present, and ELSE is correct for two branches.
Final Answer:
Missing semicolon after Alarm := TRUE -> Option B
Quick Check:
Statements need semicolons [OK]
Hint: Every assignment ends with a semicolon [OK]
Common Mistakes:
Omitting semicolons after assignments
Confusing ELSE with ELSEIF
Forgetting END_IF
5. You want a PLC program to turn ON a fan only if the temperature is above 30°C and the humidity is below 70%. Which IF-THEN-ELSE statement correctly implements this?
hard
A. IF Temperature > 30 AND Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF;
B. IF Temperature > 30 OR Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF;
C. IF Temperature > 30 THEN
Fan := ON;
ELSE IF Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF;
D. IF Temperature > 30 THEN
Fan := ON;
END_IF;
IF Humidity < 70 THEN
Fan := ON;
END_IF;
Solution
Step 1: Understand the condition requirements
The fan should turn ON only if both conditions are true: temperature above 30 and humidity below 70.
Step 2: Check each option's logic
IF Temperature > 30 AND Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF; uses AND, requiring both conditions. IF Temperature > 30 OR Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF; uses OR, which turns fan ON if either condition is true. IF Temperature > 30 THEN
Fan := ON;
ELSE IF Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF; turns fan ON if either condition is true via ELSE IF. IF Temperature > 30 THEN
Fan := ON;
END_IF;
IF Humidity < 70 THEN
Fan := ON;
END_IF; turns fan ON separately for each condition, possibly turning ON incorrectly.
Final Answer:
IF Temperature > 30 AND Humidity < 70 THEN
Fan := ON;
ELSE
Fan := OFF;
END_IF; -> Option A
Quick Check:
Both conditions must be true -> use AND [OK]
Hint: Use AND to require both conditions true [OK]
Common Mistakes:
Using OR instead of AND
Using separate IFs causing wrong ON state
Misusing ELSE IF for combined conditions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.