PLC Scan Time: What it is And How it Works (Diagram Included)

Having looked at what hardware is inside the PLC, we can now look at the software inside the PLC and how it runs.
Every PLC has a scan time and a scan cycle. Understanding these terms explains how the PLC works and how the software inside it runs.
During a scan cycle, the PLC gathers the inputs and runs your PLC program before updating the outputs.
The PLC needs some time to complete this process. That time is often measured in milliseconds (ms).
We call the amount of time the PLC needs to complete one full scan cycle the PLC’s scan time.
You need to understand the PLC scan time and how long each scan cycle takes, particularly when working with plc timers and delays. Timer accuracy often depends on the length of that cycle.
Alongside the PLC hardware, the PLC contains software. Some software comes pre-installed; the rest is the software you provide.
PLC Firmware
We can divide the software inside the PLC into two parts: a piece of software called the firmware and the program itself.
The PLC’s operating system is its firmware. It runs your program commands and manages communications, along with other tasks.
The firmware enables communication between the microprocessor and the RAM. It also makes the PLC compatible with its programming software.
The PLC manufacturer installs the firmware. It handles many other tasks that you will almost never need to think about.
Your PLC program
We develop the other piece of software ourselves for the PLC. The logic program we put inside it reads the inputs and sets the outputs.
Before looking more closely at this program, we need to find out where it is stored inside the PLC.
The program is normally saved in the PLC’s RAM. As the previous chapter explains, storing your program there can be risky.
RAM is a risky place for the program because switching off the power clears what is stored there.
Most PLCs have a backup battery to prevent the RAM from being cleared. For more permanent program storage, the EEPROM is a better place.
The data you save in EEPROM stays there after power has been removed from the PLC. In most cases, this makes EEPROM the best place to keep the program.
The scan time is how the PLC program works
The logic program we save in the PLC controls its main function. It uses the inputs to decide which outputs to set. Once powered up, the PLC runs as follows:

First, the PLC checks the status of all its inputs. More precisely, it takes an image of those inputs and saves it in RAM.
Taking an image means saving a binary value that describes the inputs. An example makes this clearer:
Suppose a PLC has 8 digital inputs. If all the inputs are low when the PLC checks them, the binary number will be 00000000. Each 0 describes a digital input.
A low input has a value of 0, while a high input has a value of 1. Connecting the last input (input 8) to a power source would therefore make the PLC save 00000001 when it checks the inputs.
Once it has checked the status of every input, the PLC moves on to executing the program. The logic program we have programmed into the PLC now runs. During execution, it collects some numbers and saves them temporarily.
You may have guessed what these numbers describe: they are the output status that the program’s logic has decided on.
Once the program finishes, the PLC updates the output status. This follows the input process in reverse.
The PLC saves the number that describes the output status, then updates all the outputs.
Like the input image, the temporary number the PLC program uses for the output status is binary. Consider an example with 8 digital outputs.
If all outputs are to be low or off, the program saves 00000000. Setting the first output high makes the saved number 10000000, with 0 meaning off and 1 meaning on.
How does the PLC use this number to update the outputs? It keeps the output status in a special location in memory.
The microprocessor has a number at a particular address in memory. The value kept at that address always describes the status of the PLC’s outputs.
If we save the number 10000000 in this particular memory location, the first output of the PLC will turn on.
When the PLC program reaches its end, it takes the temporary number that it has calculated and saves it in this special memory location. The outputs are then updated.
Together, these three steps form a scan cycle. The cycle is complete once the PLC checks the input status and executes the program, then updates the output status.
For another explanation of PLC scan time, watch this video from Ron Beaufort:
The PLC works quickly, completing this cycle within milliseconds. Even with this speed, understanding the scan cycle is relevant when you program it. You especially need to understand scan time, the amount of time that a single scan cycle takes.
Scan time can affect work with timers and other advanced PLC functions. It can also become an issue in large projects containing thousands of lines of code or ladder logic.
Brand-specific settings – More on scan times
A Reddit comment on this post points out that PLC scan time is completely brand and setting specific.
Many PLCs let you set the I/O cycle time separately from the task cycle time.
Task cycle time corresponds to this article’s second step: Execute the PLC program.
These settings vary with the brand of PLC. Future articles will cover the brand-specific settings and give further information about the different PLC scan times.
When you start learning PLC programming, focus on scan time. Reading the I/O and executing your program, followed by updating the I/O, gives you a basic understanding of how a PLC works.
Understanding the scan cycle gives you an advantage when you begin learning PLC programming.
Early in your learning, this idea helps explain the basic concepts you encounter in PLC programming.
If you have programmed PLCs before, you may already know some scan cycle settings.
Have you ever used custom scan cycle settings?
Share your experience in the comments below.






Dear sir
larning and understanding material or ladder logic solution send in my mail?
I am interested in learning PLC programming. I would like to enquirer if i could do the boot camp online. I am in Botswana.
Kind regards,
Bonnie
Sir,
If my scan time set for the PLC is 10ms and if program is getting scan in 5ms only then what will plc do for another 5ms.
it will start next scan cycle or it will wailt for 5ms and then start.
I have done Plc programming Module 1 but I do not understand practically on scan time . The above notes are just too good, but the video was done too fast.
Dear Sir,
I have one question that in s7400 plc & remote io et200m configuration ,what is impact on plc scan time after addition of remote io’s.
If is there any mathematical relation between plc scan time & input/output count please provide such info on my below email
Sir i want learn how can copy programme from any machine plc and how can save progrrame in plc
Sir,
Your article is very interesting for me.
I am a student in Cameroon (Africa).
I have two questions. They have been already asked by VINOD and Gajanan Gunjal (in part) :
1- If the scan time of a PLC is fixed to 10ms and if the total duration of the real cycle is 5ms, would the PLC wait for 5ms before starting a new scan cycle?
If so, what could be the necessity to fix the scan cycle ? Is it because of the frequency of specific Inputs or Outputs ?
2- Does the process of scanning inputs and updating outputs takes time? The action of reading the input register and writing in the output register are they instantanuous? If no, what would be the mathematical relation between the scan cycle and its relevant elements?
I would need a scientific paper presenting some PLCs and their scan cycle time !
Thanks