Bird
Raised Fist0
PLC Programmingscripting~5 mins

PLC scan cycle (input scan, program execution, output update) in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: PLC scan cycle (input scan, program execution, output update)
O(n)
Understanding Time Complexity

We want to understand how the time a PLC takes to complete one scan cycle changes as the number of inputs and outputs grows.

Specifically, how does the scan cycle time increase when the PLC reads inputs, runs the program, and updates outputs?

Scenario Under Consideration

Analyze the time complexity of the following PLC scan cycle steps.


// Simplified PLC scan cycle
FOR i := 1 TO NumInputs DO
  ReadInput(i);
END_FOR;

ExecuteProgram();

FOR j := 1 TO NumOutputs DO
  WriteOutput(j);
END_FOR;
    

This code reads all inputs one by one, runs the control program once, then updates all outputs one by one.

Identify Repeating Operations

Look for loops or repeated steps that take most time.

  • Primary operation: Reading each input and writing each output in loops.
  • How many times: Each input is read once per scan, and each output is updated once per scan.
  • Program execution: Runs once per scan, fixed cost.
How Execution Grows With Input

As the number of inputs and outputs grows, the time to read and write them grows too.

Input/Output Count (n)Approx. Operations
10About 20 operations (10 reads + 10 writes) + 1 program run
100About 200 operations (100 reads + 100 writes) + 1 program run
1000About 2000 operations (1000 reads + 1000 writes) + 1 program run

Pattern observation: The total operations grow roughly in direct proportion to the number of inputs and outputs.

Final Time Complexity

Time Complexity: O(n)

This means the scan cycle time grows linearly as the number of inputs and outputs increases.

Common Mistake

[X] Wrong: "The program execution time grows with the number of inputs and outputs."

[OK] Correct: The program runs once per scan and usually takes a fixed time, independent of input/output count. The loops reading and writing inputs/outputs cause the time to grow.

Interview Connect

Understanding how scan cycle time grows helps you design efficient PLC programs and predict system performance as complexity increases.

Self-Check

What if the program execution included a loop over all inputs as well? How would that change the time complexity?

Practice

(1/5)
1. What is the correct order of the PLC scan cycle steps?
easy
A. Output update, input scan, program execution
B. Input scan, program execution, output update
C. Program execution, input scan, output update
D. Program execution, output update, input scan

Solution

  1. Step 1: Understand the PLC scan cycle process

    The PLC first reads all inputs to get the current state of sensors and switches.
  2. Step 2: Follow the sequence of operations

    After reading inputs, the PLC runs the user program logic, then updates outputs accordingly.
  3. Final Answer:

    Input scan, program execution, output update -> Option B
  4. Quick Check:

    Scan cycle order = Input, Program, Output [OK]
Hint: Remember: Inputs first, then logic, then outputs [OK]
Common Mistakes:
  • Mixing up the order of program execution and input scan
  • Thinking outputs update before program runs
  • Assuming outputs update before inputs are scanned
2. Which of the following is the correct syntax to represent the PLC scan cycle steps in order?
easy
A. InputScan(); ProgramExecution(); OutputUpdate();
B. OutputUpdate(); InputScan(); ProgramExecution();
C. ProgramExecution(); OutputUpdate(); InputScan();
D. OutputUpdate(); ProgramExecution(); InputScan();

Solution

  1. Step 1: Identify the correct function call order

    The PLC scan cycle functions must be called in the order: InputScan, ProgramExecution, then OutputUpdate.
  2. Step 2: Match the syntax with the correct order

    InputScan(); ProgramExecution(); OutputUpdate(); correctly shows the functions in the right sequence with proper syntax.
  3. Final Answer:

    <code>InputScan(); ProgramExecution(); OutputUpdate();</code> -> Option A
  4. Quick Check:

    Function calls order = InputScan, ProgramExecution, OutputUpdate [OK]
Hint: Functions follow the scan cycle order: input, program, output [OK]
Common Mistakes:
  • Placing OutputUpdate before InputScan
  • Swapping ProgramExecution and OutputUpdate calls
  • Incorrect function call syntax
3. Given the following PLC scan cycle pseudo-code, what will be the output state after one full scan if input sensor is ON?
InputScan(): sensor = ON
ProgramExecution(): if sensor == ON then output = ON else output = OFF
OutputUpdate(): set output device to output
medium
A. Output device state will not change
B. Output device will be OFF
C. Output device will be ON
D. Output device will toggle randomly

Solution

  1. Step 1: Analyze input scan step

    The sensor input is read as ON during InputScan.
  2. Step 2: Evaluate program execution logic

    Since sensor == ON, the program sets output = ON.
  3. Step 3: Understand output update effect

    OutputUpdate sets the output device state to ON based on program logic.
  4. Final Answer:

    Output device will be ON -> Option C
  5. Quick Check:

    Sensor ON leads to output ON [OK]
Hint: Input ON means output ON after program runs [OK]
Common Mistakes:
  • Confusing input and output states
  • Ignoring program logic conditions
  • Assuming output updates before program execution
4. A PLC program is not updating outputs correctly. The code snippet is:
OutputUpdate()
InputScan()
ProgramExecution()
What is the main problem here?
medium
A. OutputUpdate is called before inputs are scanned and program runs
B. InputScan should be last in the cycle
C. ProgramExecution should be before OutputUpdate only
D. No problem, this order is correct

Solution

  1. Step 1: Review the correct PLC scan cycle order

    The correct order is InputScan, ProgramExecution, then OutputUpdate.
  2. Step 2: Identify the error in the given code

    OutputUpdate is called first, before inputs are scanned and program logic runs, causing incorrect output updates.
  3. Final Answer:

    OutputUpdate is called before inputs are scanned and program runs -> Option A
  4. Quick Check:

    OutputUpdate must be last in scan cycle [OK]
Hint: Output update must come after input scan and program execution [OK]
Common Mistakes:
  • Calling OutputUpdate too early
  • Swapping InputScan and ProgramExecution order
  • Assuming any order works for scan cycle
5. You want to ensure a safety output turns OFF immediately when an emergency stop input is pressed. Which scan cycle step should you prioritize to minimize delay?
hard
A. None, PLC scan cycle cannot be changed
B. Program execution to run safety logic faster
C. Output update to apply changes immediately
D. Input scan to detect emergency stop as early as possible

Solution

  1. Step 1: Understand the scan cycle timing

    The input scan step reads all inputs at the start of the cycle, so detecting emergency stop early is critical.
  2. Step 2: Prioritize input scan for safety

    By ensuring input scan happens promptly, the PLC can detect emergency stop quickly and then run program logic to turn off outputs.
  3. Step 3: Output update applies changes but depends on earlier steps

    Output update applies the result but cannot act before inputs are scanned and logic runs.
  4. Final Answer:

    Input scan to detect emergency stop as early as possible -> Option D
  5. Quick Check:

    Early input scan = faster emergency response [OK]
Hint: Detect emergency input ASAP in input scan step [OK]
Common Mistakes:
  • Thinking output update speed alone improves safety
  • Ignoring input scan timing importance
  • Assuming program execution speed is the only factor
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