📖 Scenario: You are learning how to program industrial machines using PLCs (Programmable Logic Controllers). Structured Text (ST) is one of the languages used to write these programs.Imagine you want to control a simple machine that turns on a motor when a button is pressed and turns it off when the button is released.
🎯 Goal: Understand why Structured Text is used by creating a simple program that reads a button input and controls a motor output using ST syntax.
📋 What You'll Learn
Create a variable to represent the button input
Create a variable to represent the motor output
Write a simple IF statement in Structured Text to turn the motor ON when the button is pressed
Print the motor output state
💡 Why This Matters
🌍 Real World
Structured Text is used in factories to program machines that assemble cars, package food, or control conveyor belts.
💼 Career
Learning Structured Text helps you become a PLC programmer, a valuable skill in automation and manufacturing industries.
Progress0 / 4 steps
1
Create Input and Output Variables
Create a variable called Button of type BOOL and set it to TRUE. Create another variable called Motor of type BOOL and set it to FALSE.
PLC Programming
Hint
Use VAR block to declare variables. BOOL means true or false.
2
Write the Control Logic
Write an IF statement that sets Motor to TRUE when Button is TRUE, otherwise sets Motor to FALSE.
PLC Programming
Hint
Use IF ... THEN ... ELSE ... END_IF; to control Motor.
3
Add a Configuration Variable
Create a variable called DebugMode of type BOOL and set it to TRUE. This variable will help us decide if we want to print the motor state.
PLC Programming
Hint
Add DebugMode inside the VAR block.
4
Print the Motor Output State
Write code that prints 'Motor is ON' if Motor is TRUE and DebugMode is TRUE. Otherwise, print 'Motor is OFF' if DebugMode is TRUE.
PLC Programming
Hint
Use nested IF statements to check DebugMode and Motor and print the correct message.
Practice
(1/5)
1. Why is Structured Text commonly used in PLC programming?
easy
A. Because it does not support loops or conditions
B. Because it only supports simple on/off commands
C. Because it makes programs clearer and easier to maintain
D. Because it is a graphical programming language
Solution
Step 1: Understand the purpose of Structured Text
Structured Text is designed to make PLC programs easier to read and maintain by using clear text-based code.
Step 2: Compare options with this purpose
Options A, B, and C describe features that do not match Structured Text's capabilities or nature.
Final Answer:
Because it makes programs clearer and easier to maintain -> Option C
Quick Check:
Clarity and maintainability = D [OK]
Hint: Structured Text is clear and easy to maintain [OK]
Common Mistakes:
Thinking Structured Text is graphical
Believing it lacks loops or conditions
Confusing it with simple on/off commands
2. Which of the following is the correct way to write a conditional statement in Structured Text?
easy
A. WHEN temperature > 100 DO alarm = TRUE
B. IF temperature > 100 THEN alarm := TRUE; END_IF;
C. if (temperature > 100) { alarm = true }
D. IF temperature > 100 alarm = TRUE END
Solution
Step 1: Identify Structured Text syntax for IF statements
Structured Text uses IF ... THEN ... END_IF; with semicolons and uppercase keywords.
Step 2: Compare each option to this syntax
IF temperature > 100 THEN alarm := TRUE; END_IF; matches the correct syntax. Options A, B, and D use syntax from other languages or are incomplete.
Final Answer:
IF temperature > 100 THEN alarm := TRUE; END_IF; -> Option B
Quick Check:
Correct IF syntax = C [OK]
Hint: Look for IF ... THEN ... END_IF; structure [OK]
Common Mistakes:
Using curly braces instead of END_IF;
Missing semicolons at line ends
Using lowercase keywords without proper syntax
3. What will be the output of this Structured Text code snippet?
VAR count : INT := 0; END_VAR
FOR i := 1 TO 3 DO
count := count + i;
END_FOR;
medium
A. 6
B. 3
C. 0
D. Error
Solution
Step 1: Understand the FOR loop range and iterations
The loop runs with i = 1, 2, 3.
Step 2: Calculate the sum of count after each iteration
count starts at 0, then adds 1, then 2, then 3: 0+1=1, 1+2=3, 3+3=6.
Final Answer:
6 -> Option A
Quick Check:
Sum 1+2+3 = 6 [OK]
Hint: Sum numbers 1 to 3 in loop to find count [OK]
Common Mistakes:
Confusing loop range (starting at 0 or 1)
Forgetting to add all iterations
Assuming syntax error due to VAR block
4. Identify the error in this Structured Text code:
IF sensorValue > 50 THEN
alarm := TRUE
END_IF;
medium
A. Missing semicolon after alarm := TRUE
B. Incorrect keyword END_IF
C. sensorValue should be in quotes
D. THEN should be lowercase
Solution
Step 1: Check syntax for assignment statements
Each statement must end with a semicolon in Structured Text.
Step 2: Verify the given code
The line 'alarm := TRUE' is missing a semicolon at the end.
Final Answer:
Missing semicolon after alarm := TRUE -> Option A
Quick Check:
Statements end with semicolon = B [OK]
Hint: Check for missing semicolons after assignments [OK]
Common Mistakes:
Thinking END_IF is wrong syntax
Quoting variable names incorrectly
Changing keyword case unnecessarily
5. You want to use Structured Text to check multiple sensor values and set an alarm if any exceed limits. Which feature of Structured Text helps you write this clearly and maintainably?
hard
A. Avoiding loops and case statements for simplicity
B. Using only simple ON/OFF commands without conditions
C. Writing all checks in one long line without structure
D. Using multiple nested IF statements with ELSE_IF
Solution
Step 1: Identify how to handle multiple conditions clearly
Structured Text supports IF, ELSE_IF, and ELSE to handle multiple checks cleanly.
Step 2: Evaluate options for clarity and maintainability
Using multiple nested IF statements with ELSE_IF uses nested IF and ELSE_IF, which is clear and maintainable. Options B, C, and D reduce clarity or ignore useful features.
Final Answer:
Using multiple nested IF statements with ELSE_IF -> Option D
Quick Check:
Multiple conditions = nested IF/ELSE_IF [OK]
Hint: Use nested IF and ELSE_IF for multiple checks [OK]
Common Mistakes:
Ignoring ELSE_IF for multiple conditions
Trying to write all logic in one line
Avoiding loops or case statements unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.