A PLC contains an operating system that allows for downloading and executing user programs, communicating with I/O modules and other PLCs, and holding configuration data. A PLC retains its operating system, user programs, and some data in retentive memory even when power is removed. A PLC executes programs through a repeated scan cycle of input, program execution, and output steps. During input scan, data is collected from input modules and stored in an input image area. During program execution, the input image is used and the program is run to update the output image area. During output scan, data in the output image area is sent to output modules.