Bird
Raised Fist0
PLC Programmingscripting~5 mins

Level control system in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Level control system
O(n)
Understanding Time Complexity

We want to understand how the time it takes for a level control system program to run changes as the system size or input changes.

Specifically, we ask: how does the program's work grow when it checks or adjusts levels repeatedly?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

// Simple level control loop
WHILE TRUE DO
  level := READ_SENSOR();
  IF level < LOW_LIMIT THEN
    OPEN_VALVE();
  ELSIF level > HIGH_LIMIT THEN
    CLOSE_VALVE();
  END_IF;
  WAIT(1000); // wait 1 second
END_WHILE;

This code continuously reads a level sensor and opens or closes a valve based on the level.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The infinite WHILE loop that reads the sensor and controls the valve.
  • How many times: This loop runs forever, repeating the check and control every second.
How Execution Grows With Input

Each cycle does a fixed amount of work: one sensor read and one valve action check.

Input Size (n)Approx. Operations
10 seconds10 sensor reads and checks
100 seconds100 sensor reads and checks
1000 seconds1000 sensor reads and checks

Pattern observation: The work grows linearly with time, as each second adds one cycle of fixed work.

Final Time Complexity

Time Complexity: O(n)

This means the program's work grows directly in proportion to how long it runs or how many cycles it completes.

Common Mistake

[X] Wrong: "The program does more work if the level is far from the limits because it opens or closes the valve more."

[OK] Correct: The program checks the level and decides what to do each cycle, but the number of operations per cycle stays the same regardless of the level value.

Interview Connect

Understanding how control loops run repeatedly and how their work grows helps you explain automation system behavior clearly and confidently.

Self-Check

"What if we added multiple sensors and valves checked in the loop? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of a level control system in a tank?
easy
A. To measure the temperature of the liquid
B. To keep the liquid level within safe limits automatically
C. To change the color of the liquid
D. To increase the pressure inside the tank

Solution

  1. Step 1: Understand the system goal

    A level control system is designed to maintain liquid levels safely.
  2. Step 2: Identify the correct function

    It uses sensors and pumps to keep levels steady, not temperature or color.
  3. Final Answer:

    To keep the liquid level within safe limits automatically -> Option B
  4. Quick Check:

    Level control = safe liquid level [OK]
Hint: Focus on what 'level control' means in real life [OK]
Common Mistakes:
  • Confusing level control with temperature control
  • Thinking it changes liquid properties
  • Assuming it controls pressure
2. Which of the following is the correct simple IF statement to turn ON a pump when the level is below 30%?
easy
A. IF level = 30 THEN pump = OFF;
B. IF level > 30 THEN pump = ON;
C. IF level < 30 THEN pump = ON;
D. IF level <= 30 THEN pump = OFF;

Solution

  1. Step 1: Understand the condition for turning pump ON

    The pump should turn ON when level is below 30% to fill the tank.
  2. Step 2: Match the correct syntax

    IF level < 30 THEN pump = ON; correctly uses IF level < 30 THEN pump = ON;
  3. Final Answer:

    IF level < 30 THEN pump = ON; -> Option C
  4. Quick Check:

    Turn ON pump if level less than 30% [OK]
Hint: Pump ON when level is less, so use '<' operator [OK]
Common Mistakes:
  • Using > instead of < for turning pump ON
  • Confusing ON and OFF states
  • Using equality instead of inequality
3. Given this PLC logic snippet:
IF level < 40 THEN pump = ON;
ELSE pump = OFF;

What will be the pump state if the level sensor reads 45?
medium
A. Pump will be ON
B. Pump will stay in previous state
C. Pump state will toggle rapidly
D. Pump will be OFF

Solution

  1. Step 1: Check the condition with level = 45

    Since 45 is not less than 40, the IF condition is false.
  2. Step 2: Follow the ELSE branch

    Because IF is false, pump = OFF is executed.
  3. Final Answer:

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

    Level 45 ≥ 40 means pump OFF [OK]
Hint: Check IF condition with given value carefully [OK]
Common Mistakes:
  • Assuming pump stays ON without checking ELSE
  • Confusing < and > operators
  • Ignoring ELSE branch
4. Identify the error in this PLC code snippet for level control:
IF level > 70 THEN pump = ON;
ELSE pump = ON;
medium
A. Pump is always ON regardless of level
B. Syntax error: missing ENDIF
C. Pump never turns ON
D. Level sensor value is not checked

Solution

  1. Step 1: Analyze the IF and ELSE assignments

    Both IF and ELSE branches set pump = ON, so pump is always ON.
  2. Step 2: Understand the logic flaw

    This means pump never turns OFF, ignoring level changes.
  3. Final Answer:

    Pump is always ON regardless of level -> Option A
  4. Quick Check:

    Same action in IF and ELSE means no control [OK]
Hint: Check if IF and ELSE do different things [OK]
Common Mistakes:
  • Thinking ELSE is missing
  • Assuming pump turns OFF somewhere
  • Ignoring logic duplication
5. You want to design a level control system that turns ON the pump when level is below 30%, turns OFF when above 70%, and keeps the pump state unchanged between 30% and 70%. Which logic correctly implements this?
hard
A. IF level < 30 THEN pump = ON; ELSE IF level > 70 THEN pump = OFF;
B. IF level <= 70 THEN pump = OFF; ELSE pump = ON;
C. IF level < 30 THEN pump = ON; ELSE pump = OFF;
D. IF level > 70 THEN pump = ON; ELSE IF level < 30 THEN pump = OFF;

Solution

  1. Step 1: Understand the required behavior

    Turn pump ON below 30%, OFF above 70%, and keep state unchanged between 30% and 70%.
  2. Step 2: Analyze each option

    IF level < 30 THEN pump = ON; ELSE IF level > 70 THEN pump = OFF; turns ON if level < 30, OFF if level > 70, and does nothing in between (keeps state).
  3. Final Answer:

    IF level < 30 THEN pump = ON; ELSE IF level > 70 THEN pump = OFF; -> Option A
  4. Quick Check:

    Two conditions control pump ON/OFF, else no change [OK]
Hint: Use two IFs for ON and OFF, no ELSE for unchanged [OK]
Common Mistakes:
  • Turning pump OFF immediately below 70%
  • Not handling the middle range correctly
  • Reversing ON and OFF conditions
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