Achieving different execution times within one PLC hardware?

G

Thread Starter

Gopinath Ch

The difference between different logic speeds needs can vary between 10 mSec to 100 mSec. There is need to execute multiple logics in a plant with different scan rates. However, no flexibility to have multiple PLCs exist. hence all these logics needs to be done in one physical PLC. Any ideas are welcome.
 
M

Michael E. Crossman

The Rockwell Automation, Allen-Bradley ControlLogix platform has what they call a Periodic Task. They define it as follows.

“A task executed at a fixed interval, ranging from 1 msec to 2147 seconds, in increments of 1 msec. Periodic tasks perform a function according to a specific rate. When the end of this specified time period is reached, the task is triggered. When triggered, the task interrupts any lower priority task (either continuous, periodic, or event), and all programs assigned to the task are executed or scanned once, from top to bottom. After this single scan, an output update is triggered and control is returned to the task that was interrupted, at the point at which it was interrupted”.

You could create your program completely out of Periodic Task.
 
T

Trevor Ousey \(lists\)

What PLC are you looking at?

There are ways of doing this in PLC5's and SLC5's, sort of, and it would be possible with the ControlLogix platform. But all this would depend on how much code and IO is required.

Regards,

Trevor
 
P

Paul Cunningham

Allen-Bradley's Controllogix will allow you to set the scan rate of each routine independently. Older platforms will allow you to program jumps to subroutines based on a timer which could give you the same result.
 
S
Some PLCs such as AB's Control Logix allow you to explicitly schedule different tasks for different execution frequencies and priorities. If a PLC of that caliber is too expensive for your application, you can achieve the same effect with a little elbow grease on your own part.

Get a PLC powerful enough to do the average logic load per scan in 10ms. Then don't perform the low frequency tasks every scan. For example, if you have ten low frequency tasks that only need to be performed every 100ms, do all the high priority 10ms logic and one of the 100ms tasks on a given scan. The next scan, do all the 10ms stuff and a different 100ms task, and so on. Remember when estimating the PLC power needed that if there are more than 10 low frequency tasks, you will need to do more than one per scan. Also make sure your I/O is fast enough to support the high frequency/priority tasks.

Almost every PLC will let you skip over blocks of logic (or conditionally call subroutines). It's important to understand the difference between jumping over blocks of rungs and executing rungs that don't have power flow. The second situation will not save nearly as much scan time and may not save any at all vs. solving all the logic every scan.
--
Steve Myres, PE
Automation Solutions
(480) 813-1145
 
Top