A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis.
PLCs can range from small modular devices with tens of inputs and outputs (I/O), in a housing integral with the processor, to large rack-mounted modular devices with thousands of I/O, and which are often networked to other PLC and SCADA systems.Tubbs, Stephen Phillip. Programmable Logic Controller (PLC) Tutorial, Siemens Simatic S7-1200. Publicis MCD Werbeagentur GmbH; 3rd ed., 2018. They can be designed for many arrangements of digital and analog I/O, extended temperature ranges, immunity to electrical noise, and resistance to vibration and impact.
PLCs were first developed in the automobile manufacturing industry to provide flexible, rugged and easily programmable controllers which could replace hard-wired relay logic systems. Dick Morley is credited with having invented the first PLC, the Modicon 084, for General Motors in 1968.
A PLC is an example of a hard real-time system: output results must be produced in response to input conditions within a limited time, so that unintended operations do not result. Programs to control machine operation are typically stored in battery-backed-up or non-volatile memory.
Invention and early development The PLC originated in the late 1960s in the automotive industry in the US and was designed to replace relay logic systems. Before, control logic for manufacturing was mainly composed of relays, cam timers, drum sequencers, and dedicated closed-loop controllers.
The hard-wired nature of these components made it difficult for design engineers to alter the automation process. Changes would require rewiring and careful updating of the documentation. Troubleshooting was a tedious process. When general-purpose computers became available, they were soon applied to control logic in industrial processes. These early computers were unreliable: "The first industrial computer application was probably a system installed in an oil refinery in Port Arthur USA in 1959. The reliability and mean time between failure of computers meant that little actual control was performed." and required specialist programmers and strict control of working conditions, such as temperature, cleanliness, and power quality.
The PLC provided several advantages over earlier automation systems. It was designed to tolerate the industrial environment better than systems intended for office use, and was more reliable, compact, and required less maintenance than relay systems. It was easily expandable with additional I/O modules. While relay systems required tedious and sometimes complicated hardware changes in case of reconfiguration, a PLC can be reconfigured by loading new or modified code. This allowed for easier iteration over manufacturing process design. With a simple programming language focused on logic and switching operations, it was more user-friendly than computers using general-purpose programming languages. Early PLCs were programmed in ladder logic, which strongly resembled a schematic diagram of relay logic. It also permitted its operation to be monitored.
Virtual PLCs In recent years, the introduction of virtual PLCs has expanded the scope of programmable logic controllers. Virtual PLCs are software-based controllers that simulate the functions of traditional PLCs but are executed on general-purpose hardware, offering a more cost-effective and flexible alternative. These controllers enable automation systems to be managed without the need for dedicated hardware, making them ideal for applications requiring simulation, remote control, or cloud-based systems.
Modicon
In 1968, GM Hydramatic, the automatic transmission division of General Motors, issued a request for proposals for an electronic replacement for hard-wired relay systems based on a white paper written by engineer Edward R. Clark. The winning proposal came from Bedford Associates from Bedford, Massachusetts. The result, built in 1969, was the first PLC and designated the 084, because it was Bedford Associates' eighty-fourth project.
Bedford Associates started a company, Modicon, Inc., dedicated to developing, manufacturing, selling, and servicing this new product, which they named (standing for "modular digital controller"). One of the people who worked on that project was Dick Morley, who is considered to be the father of the PLC. The Modicon brand was sold in 1977 to Gould Electronics and later to Schneider Electric, its current owner. About this same time, Modicon created Modbus, a data communications protocol to be used with its PLCs. Modbus has since become a standard open protocol commonly used to connect many industrial electrical devices.
One of the first Modicon 084 models built is now on display at Schneider Electric's facility in North Andover, Massachusetts. It was presented to Modicon by GM, when the unit was retired after nearly twenty years of uninterrupted service. Modicon used the 84 moniker at the end of its product range like Modicon Micro 84 and Modicon TSX CSY 84 until after the 984 made its appearance.
Allen-Bradley In a parallel development, Odo Josef Struger is sometimes known as the "father of the programmable logic controller" as well. He was involved in the invention of the Allen-Bradley programmable logic controller.Anzovin, p. 100, item # 2189. Programmable logic controller was invented by the Austrian-born American engineer Odo J. Struger in 1958–60 at the Allen-Bradley company in Milwaukee, WI, USA. A programmable logic controller, or PLC, is a simple electronic device that allows precise numerical control of machinery. It is widely used to control everything from washing machines to roller coaster to automated manufacturing equipment. Prior to the release of the IBM "Personal Computer" in 1981, these devices were commonly known simply as "Programmable Controllers", or "PC's. But rapid expansion of the personal computer industry in the early 1980's, the abbreviation "PC" was rapidly and universally accepted as a reference to "Personal Computers". Odo was later credited with coining the "PLC" acronym to distinguish these two technologies, And the inclusion of the word "Logic" was an easy choice as "Ladder Logic" had already been accepted as the name of the programming language. Allen-Bradley (now a brand owned by Rockwell Automation) went on to become the dominant PLC manufacturer in the United States during his tenure. Struger played a leadership role in developing IEC 61131-3 PLC programming language standards. Allen-Bradley's PLC-5 family, preceded by the 1774-PLC (released in the 1980's, was the first modular design found in modern-day systems.
While Modicon was the most popular of the first full featured PLC's through the early 1980's, Allen Bradley overtook them in the mid-1980's and grew to own the largest market share of PLC hardware and software in North America.
Early methods of programming Many early PLC programming applications were not capable of graphical representation of the logic, and so it was instead represented as a series of logic expressions in some kind of Boolean format, similar to Boolean algebra. As programming terminals evolved, because ladder logic was a familiar format used for electro-mechanical control panels, it became more commonly used. Newer formats, such as state logic, function block diagrams, and structured text exist. Ladder logic remains popular because PLCs solve the logic in a predictable and repeating sequence, and ladder logic allows the person writing the logic to see any issues with the timing of the logic sequence more easily than would be possible in other formats.
Up to the mid-1990s, PLCs were programmed using proprietary programming panels or special-purpose programming terminals, which often had dedicated function keys representing the various logical elements of PLC programs. Some proprietary programming terminals displayed the elements of PLC programs as graphic symbols, but plain ASCII character representations of contacts, coils, and wires were common. Programs were stored on cassette tape cartridges. Facilities for printing and documentation were minimal due to a lack of memory capacity. The oldest PLCs used magnetic-core memory.
Architecture A PLC is an industrial microprocessor-based controller with programmable memory used to store program instructions and various functions. It consists of: A processor unit (CPU) which interprets inputs, executes the control program stored in memory and sends output signals, A power supply unit which converts AC voltage to DC, A memory unit storing data from inputs and program to be executed by the processor, An input and output interface, where the controller receives and sends data from and to external devices, A communications interface to receive and transmit data on communication networks from and to remote PLCs.
PLCs require a programming device that is used to develop and later download the created program into the memory of the controller.
Modern PLCs generally contain a real-time operating system, such as OS-9 or VxWorks.
Mechanical design
There are two types of mechanical design for PLC systems. A single box (also called a brick) is a small programmable controller that fits all units and interfaces into one compact casing, although, typically, additional expansion modules for inputs and outputs are available. The second design type a modular PLC has a chassis (also called a rack) that provides space for modules with different functions, such as power supply, processor, selection of I/O modules and communication interfaces which all can be customized for the particular application. Several racks can be administered by a single processor and may have thousands of inputs and outputs. Either a special high-speed serial I/O link or comparable communication method is used so that racks can be distributed away from the processor, reducing the wiring costs for large plants. Discrete and analog signals Discrete (digital) signals can only take on or off value (1 or 0, true or false). Examples of devices providing a discrete signal include limit switches and photoelectric sensors.
Analog signals can use voltage or current that is analogous to the monitored variable and can take any value within their scale. Pressure, temperature, flow, and weight are often represented by analog signals. These are typically interpreted as integer values with various ranges of accuracy depending on the device and the number of bits available to store the data. For example, an analog 0 to 10 V or 4-20 mA current loop input would be converted into an integer value of 0 to 32,767. The PLC will take this value and translate it into the desired units of the process so the operator or program can read it.
Redundancy Some special processes need to work permanently with minimum unwanted downtime. Therefore, it is necessary to design a system that is fault tolerant. In such cases, to increase the system availability in the event of hardware component failure, redundant CPU or I/O modules with the same functionality can be added to a hardware configuration to prevent a total or partial process shutdown due to hardware failure. Other redundancy scenarios could be related to safety-critical processes, for example, large hydraulic presses could require that two PLCs turn on an output before the press can come down in case one PLC does not behave properly.
Programming