Bird
Raised Fist0
PLC Programmingscripting~5 mins

Indicator light control in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Indicator light control
O(n)
Understanding Time Complexity

We want to understand how the time it takes to control indicator lights changes as we add more lights.

How does the program's work grow when we have more lights to manage?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

FOR i := 1 TO NumberOfLights DO
  IF InputSignal[i] = TRUE THEN
    IndicatorLight[i] := TRUE;
  ELSE
    IndicatorLight[i] := FALSE;
  END_IF;
END_FOR;

This code checks each input signal and turns the matching indicator light on or off.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Loop through each light to check and set its state.
  • How many times: Exactly once for each light, from 1 up to NumberOfLights.
How Execution Grows With Input

As the number of lights increases, the program checks and sets each one individually.

Input Size (n)Approx. Operations
1010 checks and sets
100100 checks and sets
10001000 checks and sets

Pattern observation: The work grows directly with the number of lights.

Final Time Complexity

Time Complexity: O(n)

This means the time to control the lights grows in a straight line as you add more lights.

Common Mistake

[X] Wrong: "The program runs in the same time no matter how many lights there are."

[OK] Correct: Each light needs its own check and set, so more lights mean more work and more time.

Interview Connect

Understanding how loops affect time helps you explain how your code scales when controlling many devices, a useful skill in automation tasks.

Self-Check

"What if we added nested loops to check groups of lights? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of an indicator light in a PLC-controlled machine?
easy
A. To increase the machine's speed
B. To show the status of the machine or process clearly
C. To store data from the machine
D. To control the temperature of the machine

Solution

  1. Step 1: Understand indicator light function

    Indicator lights are used to show if a machine is running, stopped, or has a fault.
  2. Step 2: Match purpose to options

    Only To show the status of the machine or process clearly describes showing status clearly, which is the main purpose.
  3. Final Answer:

    To show the status of the machine or process clearly -> Option B
  4. Quick Check:

    Indicator lights = show status [OK]
Hint: Indicator lights always show machine status visually [OK]
Common Mistakes:
  • Thinking indicator lights control machine speed
  • Confusing indicator lights with data storage
  • Assuming indicator lights control temperature
2. Which of the following is the correct syntax to turn ON an indicator light named Light1 when a condition StartButton is TRUE in a PLC program?
easy
A. IF StartButton THEN Light1 = ON;
B. IF (StartButton) Light1 = ON;
C. IF StartButton Light1 = ON;
D. IF StartButton THEN Light1 ON;

Solution

  1. Step 1: Identify correct IF syntax in PLC

    Standard PLC IF syntax uses 'IF condition THEN action;' format.
  2. Step 2: Check each option

    IF StartButton THEN Light1 = ON; matches correct syntax with 'IF StartButton THEN Light1 = ON;'. Others miss THEN or equal sign.
  3. Final Answer:

    IF StartButton THEN Light1 = ON; -> Option A
  4. Quick Check:

    IF ... THEN ... = ...; syntax [OK]
Hint: Always use THEN and = in PLC IF statements [OK]
Common Mistakes:
  • Omitting THEN keyword
  • Missing equal sign for assignment
  • Incorrect parentheses usage
3. Given this PLC code snippet:
IF Sensor = TRUE THEN
  LightGreen = ON;
ELSE
  LightGreen = OFF;
END_IF;

What will be the state of LightGreen if Sensor is FALSE?
medium
A. LightGreen will be ON
B. LightGreen will blink
C. LightGreen state will not change
D. LightGreen will be OFF

Solution

  1. Step 1: Analyze IF condition with Sensor FALSE

    Since Sensor = FALSE, the ELSE branch runs.
  2. Step 2: Determine LightGreen state in ELSE branch

    ELSE sets LightGreen = OFF, so light turns off.
  3. Final Answer:

    LightGreen will be OFF -> Option D
  4. Quick Check:

    Sensor FALSE -> ELSE -> LightGreen OFF [OK]
Hint: FALSE condition triggers ELSE branch [OK]
Common Mistakes:
  • Assuming light stays ON when sensor is FALSE
  • Thinking light blinks automatically
  • Ignoring ELSE branch
4. Identify the error in this PLC code controlling an indicator light:
IF Start = TRUE THEN
  LightRed = ON
ELSE
  LightRed = OFF;
END_IF;
medium
A. Wrong variable name 'Start'
B. Incorrect use of ELSE keyword
C. Missing semicolon after 'LightRed = ON'
D. Missing END_IF statement

Solution

  1. Step 1: Check statement endings

    PLC statements require semicolons at end; 'LightRed = ON' lacks semicolon.
  2. Step 2: Verify other syntax parts

    ELSE and END_IF are correctly used; variable name 'Start' is valid.
  3. Final Answer:

    Missing semicolon after 'LightRed = ON' -> Option C
  4. Quick Check:

    Every statement ends with ; [OK]
Hint: Check every statement ends with a semicolon [OK]
Common Mistakes:
  • Forgetting semicolons
  • Misusing ELSE keyword
  • Assuming END_IF is optional
5. You want to control two indicator lights: LightGreen turns ON when MachineRunning is TRUE, and LightRed turns ON when MachineFault is TRUE. Which PLC code correctly implements this logic?
hard
A. IF MachineRunning THEN LightGreen = ON; ELSE LightGreen = OFF; END_IF;\nIF MachineFault THEN LightRed = ON; ELSE LightRed = OFF; END_IF;
B. IF MachineRunning = TRUE AND MachineFault = FALSE THEN LightGreen = ON; ELSE LightGreen = OFF; END_IF;
C. IF MachineRunning THEN LightGreen = ON; IF MachineFault THEN LightRed = ON; END_IF;
D. IF MachineRunning OR MachineFault THEN LightGreen = ON; ELSE LightRed = ON; END_IF;

Solution

  1. Step 1: Understand requirements for each light

    LightGreen depends only on MachineRunning; LightRed depends only on MachineFault.
  2. Step 2: Check each option for correct separate control

    IF MachineRunning THEN LightGreen = ON; ELSE LightGreen = OFF; END_IF;\nIF MachineFault THEN LightRed = ON; ELSE LightRed = OFF; END_IF; uses two separate IF blocks, correctly controlling each light independently.
  3. Step 3: Identify errors in other options

    IF MachineRunning = TRUE AND MachineFault = FALSE THEN LightGreen = ON; ELSE LightGreen = OFF; END_IF; combines conditions incorrectly; IF MachineRunning THEN LightGreen = ON; IF MachineFault THEN LightRed = ON; END_IF; misses ELSE for LightRed OFF; IF MachineRunning OR MachineFault THEN LightGreen = ON; ELSE LightRed = ON; END_IF; mixes logic wrongly.
  4. Final Answer:

    Separate IF blocks for each light with proper ON/OFF control -> Option A
  5. Quick Check:

    Separate IFs for independent lights [OK]
Hint: Control each light with its own IF-ELSE block [OK]
Common Mistakes:
  • Combining conditions incorrectly
  • Missing ELSE to turn lights OFF
  • Using OR instead of separate controls
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