📖 Scenario: You are programming a simple PLC controller for a water tank system. The tank has a sensor that measures the water level as an integer value. You want to control a pump that fills the tank only when the water level is below a certain threshold.
🎯 Goal: Build a PLC program using an IF-THEN-ELSE statement to turn the pump ON if the water level is below 50, and turn it OFF otherwise.
📋 What You'll Learn
Create an integer variable water_level with the value 45
Create a boolean variable pump_on to control the pump
Use an IF-THEN-ELSE statement to set pump_on to TRUE if water_level is less than 50
Set pump_on to FALSE if water_level is 50 or more
Output the value of pump_on
💡 Why This Matters
🌍 Real World
Controlling pumps and actuators based on sensor inputs is common in industrial automation.
💼 Career
Understanding IF-THEN-ELSE logic is essential for PLC programmers to implement control decisions.
Progress0 / 4 steps
1
Create the water level variable
Create an integer variable called water_level and set it to 45.
PLC Programming
Hint
Use the assignment operator := to set the value.
2
Create the pump control variable
Create a boolean variable called pump_on to control the pump.
PLC Programming
Hint
Declare pump_on as a boolean variable.
3
Write the IF-THEN-ELSE logic
Write an IF-THEN-ELSE statement that sets pump_on to TRUE if water_level is less than 50, otherwise set pump_on to FALSE.
PLC Programming
Hint
Use IF, THEN, ELSE, and END_IF; keywords properly.
4
Output the pump status
Write a statement to output the value of pump_on.
PLC Programming
Hint
Output methods vary by PLC. For this exercise, ensure pump_on is assigned correctly.
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.