Bird
Raised Fist0
PLC Programmingscripting~5 mins

Input addressing scheme in PLC Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Input addressing scheme
O(n)
Understanding Time Complexity

When working with input addressing in PLC programming, it's important to know how the time to read inputs changes as the number of inputs grows.

We want to understand how the program's speed changes when it reads more inputs.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

// Read multiple inputs using input addressing scheme
FOR i := 0 TO n-1 DO
  inputValue := READ_INPUT(i); // Read input at address i
  PROCESS(inputValue);        // Process the input value
END_FOR

This code reads and processes each input one by one using an input addressing scheme.

Identify Repeating Operations
  • Primary operation: Reading and processing each input inside the loop.
  • How many times: The loop runs once for each input, so n times.
How Execution Grows With Input

As the number of inputs increases, the program reads and processes more inputs, so the work grows steadily.

Input Size (n)Approx. Operations
1010 reads and processes
100100 reads and processes
10001000 reads and processes

Pattern observation: The number of operations grows directly with the number of inputs.

Final Time Complexity

Time Complexity: O(n)

This means the time to read and process inputs grows in a straight line as the number of inputs increases.

Common Mistake

[X] Wrong: "Reading multiple inputs happens all at once, so time stays the same no matter how many inputs there are."

[OK] Correct: Each input must be read and processed separately, so more inputs mean more time.

Interview Connect

Understanding how input reading scales helps you explain how your PLC program will behave with more sensors or buttons, showing you think about real system growth.

Self-Check

"What if the inputs were read in parallel instead of one by one? How would the time complexity change?"

Practice

(1/5)
1. What does the input addressing scheme I1.3 mean in a PLC program?
easy
A. Internal memory at byte 1, bit 3
B. Output at byte 1, bit 3
C. Input at byte 3, bit 1
D. Input at byte 1, bit 3

Solution

  1. Step 1: Understand the input address format

    The format I<byte>.<bit> means input at specified byte and bit.
  2. Step 2: Interpret I1.3

    This means input at byte 1, bit 3.
  3. Final Answer:

    Input at byte 1, bit 3 -> Option D
  4. Quick Check:

    Input address = I1.3 means byte 1, bit 3 [OK]
Hint: I means input, number before dot is byte, after dot is bit [OK]
Common Mistakes:
  • Confusing input with output addresses
  • Mixing up byte and bit positions
  • Assuming bit number comes before byte
2. Which of the following is the correct syntax for addressing input bit 5 in byte 2?
easy
A. I2.5
B. I5.2
C. O2.5
D. I2-5

Solution

  1. Step 1: Recall input address syntax

    The correct format is I<byte>.<bit>.
  2. Step 2: Match byte 2 and bit 5

    So input bit 5 in byte 2 is I2.5.
  3. Final Answer:

    I2.5 -> Option A
  4. Quick Check:

    Correct input syntax = I2.5 [OK]
Hint: Use dot between byte and bit, start with I for input [OK]
Common Mistakes:
  • Swapping byte and bit numbers
  • Using O instead of I for input
  • Using dash instead of dot
3. Given the PLC input address I0.7 is ON and all others OFF, what is the binary value of byte 0?
medium
A. 00000001
B. 10000000
C. 11111111
D. 00000000

Solution

  1. Step 1: Understand bit numbering in a byte

    Bit 0 is the least significant bit (rightmost), bit 7 is the most significant (leftmost).
  2. Step 2: Set bit 7 ON and others OFF

    Bit 7 ON means the leftmost bit is 1, others 0, so binary is 10000000.
  3. Final Answer:

    10000000 -> Option B
  4. Quick Check:

    I0.7 ON means bit 7 = 1, binary = 10000000 [OK]
Hint: Bit 7 is leftmost bit in byte, so 10000000 [OK]
Common Mistakes:
  • Assuming bit 7 is rightmost bit
  • Confusing bit numbering direction
  • Setting wrong bit ON
4. A PLC program uses the input address I3.8. What is wrong with this address?
medium
A. Bit number 8 does not exist in a byte
B. Byte number 3 is invalid
C. Input addresses cannot have dots
D. I should be lowercase

Solution

  1. Step 1: Recall bit numbering limits

    A byte has bits numbered 0 to 7 only, so bit 8 is invalid.
  2. Step 2: Check address I3.8

    Bit 8 is outside valid range, so address is incorrect.
  3. Final Answer:

    Bit number 8 does not exist in a byte -> Option A
  4. Quick Check:

    Bits 0-7 valid, 8 invalid [OK]
Hint: Bits go 0 to 7 only, no bit 8 in a byte [OK]
Common Mistakes:
  • Thinking bits go 1 to 8
  • Ignoring dot separator
  • Assuming case sensitivity matters
5. You want to read inputs from byte 4 bits 0 to 3 and combine them into a 4-bit number in your PLC program. Which input addresses should you use?
hard
A. I4.4, I4.5, I4.6, I4.7
B. I0.4, I1.4, I2.4, I3.4
C. I4.0, I4.1, I4.2, I4.3
D. I3.0, I3.1, I3.2, I3.3

Solution

  1. Step 1: Identify byte and bit range

    You want bits 0 to 3 in byte 4, so bits 0,1,2,3 of byte 4.
  2. Step 2: Write input addresses for these bits

    These are I4.0, I4.1, I4.2, I4.3.
  3. Final Answer:

    I4.0, I4.1, I4.2, I4.3 -> Option C
  4. Quick Check:

    Bits 0-3 in byte 4 = I4.0 to I4.3 [OK]
Hint: Bits 0-3 in byte 4 are I4.0 to I4.3 [OK]
Common Mistakes:
  • Mixing bits from different bytes
  • Using bits 4-7 instead of 0-3
  • Confusing byte numbers
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