Can anyone tell me when CPU of PLC becomes busy?


Thread Starter


Can anyone tell when cpu of PLC becomes busy? If input varies frequently then CPU becomes much busy then if input not varies? Can anyone answer this questions?

Daniel Chartier


Your question implies you have much to learn about PLCs and their scan cycle. Please refer to any basic PLC manual and look it up.

A PLC starts its scan cycle by loading the input values into an image register; these values will remain fixed until the start of the next cycle (say 20 ms on average); logic processing and output image writing then follow, and the cycle repeats itself. If the values at the inputs change while processing is active, they will not be taken into account (unless you use specialized input modules known as Immediate Input or interrupt-capable).

So, basically, the CPU of a PLC is always active, but always at the same rate. Changes at input values do not matter. As I said before, if this is not clear, please find an adequate PLC manual.

Hope this helps,
Daniel Chartier
Your question does not make sense. It does not matter to the PLC how often an input turns on or off. The scan time may vary slightly but your question about the CPU becoming "busy" is curious to say the least. Are you familiar with how a PLC works?
If the input is faster than the plc scan time, then you might want to use a "high speed counter" input card.
Another option is to use a "Discrete Input Interrupt" instruction for high-speed processing applications or any application that needs to respond to an event quickly. This will allow the processor to execute a ladder subroutine when the input bit pattern of a discrete I/O card matches a compare value that you programmed.


Ranjan Acharya

Your question does not make much sense. They are always busy - they run a real-time operating system - there is always something to do. Tasks are scheduled, interrupt driven, et cetera depending on how the RTOS works - which is really not important for end users like us to worry about.

On a scan time basis, PLCs become overloaded if you ask too much of them. An old-fashioned linear scan PLC can solve a certain amount of logic per microsecond - normally quoted in milliseconds or microseconds per KB of ladder. If you have too many rungs, you will have a scan overrun. Also, at the back of the manual you get to find out how long each instruction takes. If you are bored you can sit down and figure out how long each rung will take to execute. Interrupt driven sub-routines might need tracking, but probably not if you know what you are doing.

There is usually a watchdog timer that trips if your PLC is too busy.

Some more modern PLCs don't run a linear scan - you group code in organisational blocks / POUs or whatever and schedule when they run. It is a little bit more difficult to track. Your development environment and PLC will be in touch with the PLC and let you know if you have schedule too much stuff at 1ms and need to back some tasks off to 10ms and so on.

Quite often I/O requirements drive your PLC selection. If you can't fit all the I/O you need, then you go up to the next model. If you are using all the I/O capabilities with little to spare, then you might have scan time problems.

In the PLC's I know (Modicon = Schneider), input change rate doesn't really affect logic solving time. You may want to learn the PLC model first - CPU is busy all the time. Meir

Brian E Boothe

Well it actually Depends, on how the ROM Code is written and on optimization, the CPU is always Busy Per Cycle of an input or an output It also depends on the CPU and the IRQs for other glue logic Handled Depends on the Manufacture and the VLST Used. Why are u asking?