📖 Scenario: You are designing a simple flashing light circuit using a PLC (Programmable Logic Controller). The light should turn ON and OFF repeatedly with a fixed time interval. This is a common task in automation to signal warnings or status.
🎯 Goal: Build a PLC program that uses timers to flash a light ON and OFF every 1 second.
📋 What You'll Learn
Create a boolean variable called Light to represent the light state.
Create a timer variable called Timer1 with a preset of 1 second.
Use the timer to toggle the Light variable ON and OFF repeatedly.
Print the Light state as 'ON' or 'OFF' to show the flashing effect.
💡 Why This Matters
🌍 Real World
Flashing lights are used in factories and machines to signal warnings, alerts, or operational status.
💼 Career
Understanding timers and boolean logic in PLC programming is essential for automation technicians and engineers.
Progress0 / 4 steps
1
Create the Light variable
Create a boolean variable called Light and set it to False to represent the light being OFF initially.
PLC Programming
Hint
Think of Light as a switch that can be ON (True) or OFF (False).
2
Create the Timer1 variable with 1 second preset
Create a timer variable called Timer1 with a preset time of 1 second. Use a dictionary with keys 'preset' and 'acc' (accumulated time) initialized to 0.
PLC Programming
Hint
The timer needs a preset time and an accumulator to count time.
3
Implement timer logic to toggle Light
Write code to increase Timer1['acc'] by 0.1 seconds each cycle. When Timer1['acc'] reaches or exceeds Timer1['preset'], toggle Light (change True to False or vice versa) and reset Timer1['acc'] to 0.
PLC Programming
Hint
Use not Light to switch the light state.
4
Print the Light state
Print the text 'ON' if Light is True, otherwise print 'OFF'.
PLC Programming
Hint
Use a conditional expression inside print() to show the light state.
Practice
(1/5)
1. What is the main purpose of a timer in a flashing light circuit in PLC programming?
easy
A. To increase the brightness of the light
B. To measure the voltage of the light circuit
C. To create a delay that controls when the light turns on or off
D. To permanently keep the light on
Solution
Step 1: Understand timer function in PLC
Timers in PLCs are used to create delays or measure time intervals before an action occurs.
Step 2: Apply timer role in flashing light circuit
In a flashing light circuit, the timer delays turning the light on or off to create the flashing effect.
Final Answer:
To create a delay that controls when the light turns on or off -> Option C
Quick Check:
Timer delays control flashing = B [OK]
Hint: Timers delay actions to create flashing effects [OK]
Common Mistakes:
Thinking timers increase brightness
Confusing timers with voltage measurement
Assuming timers keep lights permanently on
2. Which of the following is the correct syntax to start a TON timer named T1 with a preset of 5 seconds in a PLC program?
easy
A. TON T1 (IN=Start, PT=5s);
B. TON(T1, Start, 5);
C. TIMER TON T1 SET 5
D. TON T1(IN:=Start, PT:=T#5s);
Solution
Step 1: Recall standard TON timer syntax in PLC
The TON timer uses named parameters with := and time format T# for preset time.
Step 2: Match syntax to options
TON T1(IN:=Start, PT:=T#5s); uses correct parameter names and time format: TON T1(IN:=Start, PT:=T#5s); others are incorrect or incomplete.
Final Answer:
TON T1(IN:=Start, PT:=T#5s); -> Option D
Quick Check:
Correct TON syntax uses := and T# time format = D [OK]
Hint: Use := for parameters and T# for time in TON timers [OK]
Common Mistakes:
Using parentheses without := for parameters
Writing time as plain number without T#
Incorrect keyword order or missing parameters
3. Given this PLC ladder logic snippet for a flashing light:
TON T1(IN:=Start, PT:=T#2s);
IF T1.Q THEN Light := NOT Light; T1(IN:=FALSE); END_IF;
What happens to the Light output after 2 seconds of Start being TRUE?
medium
A. Light turns ON and stays ON
B. Light toggles once then stops
C. Light remains OFF permanently
D. Light toggles its state every 2 seconds
Solution
Step 1: Analyze timer and toggle logic
The timer T1 starts when Start is TRUE. After 2 seconds, T1.Q becomes TRUE, toggling Light once.
Step 2: Check timer reset behavior
After toggling, T1 is set to FALSE (stopped), so no further toggling occurs.
Final Answer:
Light toggles once then stops -> Option B
Quick Check:
Timer reset stops repeated toggling = A [OK]
Hint: Timer reset stops repeated toggling; toggles only once [OK]
Common Mistakes:
Assuming continuous toggling without timer reset
Thinking light stays ON permanently
Ignoring timer reset effect
4. Identify the error in this PLC code snippet for a flashing light:
TON T1(IN:=Start, PT:=T#3s);
IF T1.Q THEN Light := NOT Light; END_IF;
T1(IN:=Start);
medium
A. Timer input IN is assigned after checking T1.Q, causing logic error
B. Timer preset time PT is missing units
C. Light output is not toggled correctly
D. Timer T1 is not declared
Solution
Step 1: Check order of timer input assignment
The timer input IN must be assigned before checking T1.Q to update timer status correctly.
Step 2: Identify impact of wrong order
Assigning IN after checking T1.Q means T1.Q is stale, causing incorrect toggling behavior.
Final Answer:
Timer input IN is assigned after checking T1.Q, causing logic error -> Option A
Quick Check:
Assign timer input before reading output = A [OK]
Hint: Assign timer input before reading output to avoid stale data [OK]
Common Mistakes:
Assigning timer input after reading output
Forgetting time units in PT
Misunderstanding toggle logic
5. How would you modify a PLC flashing light circuit using a TON timer to make the light flash continuously every 1 second?
hard
A. Use a TON timer with 1 second preset and toggle light when timer done, then reset timer input
B. Use a TON timer with 1 second preset and never reset timer input
C. Use a TON timer with 1 second preset and toggle light only once when Start is TRUE
D. Use a TON timer with 2 second preset and toggle light every 1 second
Solution
Step 1: Understand continuous flashing logic
To flash continuously, the light must toggle every timer cycle and the timer must restart each cycle.
Step 2: Apply timer reset and toggle
Toggle light when timer finishes (Q=TRUE), then reset timer input to restart timing for next cycle.
Final Answer:
Use a TON timer with 1 second preset and toggle light when timer done, then reset timer input -> Option A