 <p>pboedker and ChrisKo answers are both good. A couple of extra warnings are needed.</p> <p>A scan (or the scan time) can be shorter than your code's execution time. In most PLC's there is a "watchdog" to detect this, and warn you that it is happening. You often need to set this "watchdog" up, and set up a alarm/event handler for it.</p> <p>Know how your PLC executes I/O. Some (Such as ControlLogix) are Asynchronous, I/O gets read into your controllers memory based on the RPI (request packet interval), and gets written out (same RPI) when you make a change to the I/O point with code. Others (Such as AutomationDirect's Productivity 2000 series) only write the outputs upon a COMPLETE scan of your code. I'm sure you can picture the pro's and cons of each scenario, especially if your controller is not completing your code before restarting a scan.</p> <p>PLC's that allow you to have different scan rates for different pieces of code give you powerful tools for I/O and program flow management. Slow processes can be scanned slowly, allowing you more PLC time for other things.</p>