Understanding programmable controllers

A programmable controller, or PLC as it is commonly known, is the heart of an industrial control system (Fig. 1).

By Jeanine Katzel, Senior Editor, Plant Engineering Magazine October 1, 2000

A programmable controller, or PLC as it is commonly known, is the heart of an industrial control system (Fig. 1). It functions as one component in a collection of devices configured to ensure a stable, accurate, and smooth operation of a process or manufacturing activity. Rapid advances in technology have allowed complicated tasks to be accomplished by these systems, which typically include a host computer, field devices, networking communications, and controllers.

Although there are various types of controllers, PLCs are still the most popular. Drawing upon a control application program stored in its memory, the PLC monitors the system through the signals of various field input devices. Based on its program logic, it then determines a course of action to be carried out by the field output devices.


In simple terms, a PLC is a solid state device that controls output devices based on input status and a user program (Fig. 2). For example, the PLC may receive inputs from a switch or thermocouple (Fig. 3a), and set corresponding outputs (Fig. 3b) such as “turn on a light” or “close a valve” based on the instructions in its program (Fig. 4). It may be used to control a simple and repetitive task. Or it may be grouped with other PLCs and computers and linked through a communications network to integrate the control of a complex process (Fig. 5).

Every PLC has four basic components.

  • CPU , or processor, stores program files and data into memory and executes the program.

    • Power supply provides power to modules in the chassis. It does not usually power any I/O devices.

      • Chassis , or backplane, is the hardware into which I/O and specialty modules are plugged. It provides the communications link from the modules to the processor.

        • I/Os are the modules to which the field devices physically connect.

          • Programming

            A PLC reads the input information and sets appropriate outputs based on a program entered by the user. The process by which the PLC scans its inputs, executes its program rungs, turns on outputs, performs housekeeping tasks, and returns to the first rung to start the sequence again is called a program scan . Instructions include addresses that are used to correlate physical I/O data into PLC memory locations and store internal data and values used in the ladder program. Addressing schemes vary with the PLC product.

            PLCs are programmed from a computer equipped with the proper programming software or with a dedicated programming device designed for the particular PLC being used. Today, most users run a programming software package suited for the PLCs they are using on a standard PC connected to the PLC through a communications network. The increased functionality available today lets users do more complex programming, data handling, and information exchange. Operator terminals or human/ machine interfaces (HMIs) let users monitor processes and communicate instructions and information to the PLC more easily and more efficiently.

            PLCs may be programmed in a number of ways. Six languages are commonly used:

          • Relay ladder logic

            • Instruction list

              • Sequential function chart

                • Function block

                  • Structured text

                    • High level (C, Basic, etc.).

                      • By far, ladder logic is most well known and most common (Fig. 6). It is fast and well suited for sequential logic, discrete logic, timing/counting, and Boolean operations. Instruction list is a low-level language similar to assembly language. Powerful but difficult to learn, it is useful when small functions are repeated often. Sequential function charts are typically used for batch/sequential control.

                        Function blocks are targeted at process and drive systems and show the flow of the program more easily. Structured text is similar to Basic or Pascal and well suited for complex math and data handling. Although not normally used for PLCs, high-level languages such as C or Basic can be applied with the help of special modules. These languages are typically used for complex algorithms.

                        Languages are governed by the international standard IEC 1131-3. It specifies their syntax, semantics, and display, in essence letting compliant multiple languages be used within the same PLC and letting the program developer select the language best suited for each task. The standard was developed with the input of vendors, end-users, and academics and is available from the American National Standards Institute. (See More info box for ordering information.)

                        Integrated solutions

                        PLCs are not isolated components. They are part of complex, integrated systems. They may be part of a control subsystem connected to a data acquisition system. They may be configured for centralized control or for distributed control (Fig. 7). They interact and are interoperable with compatible software, HMIs, network communications, remote I/O devices, and more. Without all the elements, the solution is not complete.

                        Plant Engineering magazine would like to acknowledge with appreciation the special contributions made to this article by Allen-Bradley/Rockwell Automation, Cleveland, OH; Cutler-Hammer/ Eaton Corp., Cleveland, OH; GE Fanuc Automation, Charlottesville, VA; and Omron Elect ronics, Schaumburg, IL.

                        Maintenance and troubleshooting

                        PLCs are designed for reliability. Nonetheless, problems can occur. Most PLCs are equipped with a variety of self-diagnostic functions that help rapidly identify and correct errors that might occur. Fatal errors are serious and typically stop PLC operation. Nonfatal errors are less serious and program execution usually continues. However, the cause of the error should be corrected and the error cleared as quickly as possible. The accompanying flow chart can be used to help troubleshoot errors that occur during operation.

                        Probably the biggest deterrent to system breakdown is adequate preventive maintenance for the PLC and the control system. Here are five points to keep in mind.

                      • Inspect the tightness of the I/O terminal screws periodically. They can become loose over time.

                        • Ensure that components are free of dust. Proper cooling of the PLC is impossible if layers of dust are present.

                          • Check for corrosion of connecting terminals periodically. Corrosion may occur in some environments. The printed circuit board and connector may become corroded internally.

                            • Maintain a certain amount of commonly used spare parts such as the input and output modules. Downtime is costly and should not occur because parts are not available.

                              • Keep proper documentation of the operating program and wiring circuit of the control system. They may be needed in case of emergency.

                                • More info

                                  IEC-1131-3 is available from the American National Standards Institute, Inc., Customer Service Dept., 11 W. 42nd St., New York, NY 10036; 212-642-4900; fax: 212-302-1486; www.ansi.org. For more information about the International Electrotechnical Commission (IEC), visit its web site at www.iec.ch.

                                  PLCopen (www.plcopen.org) is a worldwide association committed to supplying and using IEC-1131-compatible systems and to promoting the use of the standard.

                                  Many web sites provide information about PLCs and their selection, application, and design. A few are listed below.

                                  www.ab.com Allen-Bradley/Rockwell Automation

                                  www.cutlerhammer.eaton.com Cutler-Hammer/Eaton Corp.

                                  www.gefanuc.com GE Fanuc Automation

                                  www.omron.com Omron Electronics, Inc.

                                  www.sea.siemens.com Siemens Energy and Automation

                                  www.squared.com Square D