A programmable logic controller (PLC) is a solid state device that can be programmed to control industrial equipment and processes. It allows for easy programming changes by maintenance personnel and plant engineers. PLCs can operate in harsh industrial environments. RSLogix 5000 software is used to program Allen-Bradley PLCs like ControlLogix, CompactLogix, and FlexLogix. It uses names to represent data variables instead of memory addresses.