Programmable logic controller
|
A programmable logic controller, PLC or programmable controller is a small computer used for automation of real-world processes, such as control of machinery on factory assembly lines. Where older automated systems would use hundreds or thousands of relays and cam timers, a single PLC can be programmed as a replacement. Programmable controllers were initially adopted by the automotive manufacturing industry, where software revision replaced the re-wiring of hard-wired control panels.
The PLC is a microprocessor based device with either modular or integral input/output circuitry that monitors the status of field connected "sensor" inputs and controls the attached output "actuators" (motor starters, solenoids, pilot lights/displays, speed drives, valves, etc.) according to a user-created logic program stored in the microprocessor's battery-backed RAM memory. The functionality of the PLC has evolved over the years to include capabilities beyond typical relay control; sophisticated motion control, process control, Distributed Control System and complex networking have now been added to the PLC's list of functions.
Contents |
Inputs and Outputs
Digital signals behave as switches, yielding simply an On or Off signal (logical 1 or 0, respectively). These are interpreted as boolean values by the PLC. Pushbuttons, limit switches, and photo-eyes are examples of devices providing a digital signal. Digital signals generally use either voltage or current, where a specific range is denominated as On (logical 1) and another as Off (logical 0). A typical PLC might use 24VDC I/O (with values near 24V representing On and values near 0V representing Off). Initially PLCs had only digital (discrete) I/O.
Analog signals behave as volume controls, yielding a range of values between zero and full-scale. These are typically interpreted as integer values by the PLC, with various ranges of accuracy depending on the device and the number of bits available to store the data. Pressure, flow and temperature transducers, scales and gas leak detectors can provide analog signals. Analog signals generally use voltage or current as well, but do not have discrete ranges for On or Off. They define a range of valid values, typically the range in which the I/O device operates reliably. PLC models introduced in the last 20 years typically have more or less powerful functions for analog I/O.
Other methods of signal I/O include serial communications (typically RS-232 or RS-485), and proprietary networks like Allen-Bradley's Data Highway, Opto 22's OptoMux or open and standardised networks like Profibus. Communication channels may be used to interface the PLC with human-machine interface devices such as printers, keypads, video terminals, and supervisory level computers.
PLCs of the modular type have a limited number of connections built in for signals such as digital inputs, digital outputs, analog inputs and analog outputs. Typically, expansions are available if the base model does not have sufficient I/O. Rack-style PLCs have processor modules without I/O and separate I/O modules, which may occupy many racks giving thousands of discrete and analog inputs and outputs. Often a special high speed serial I/O link is used so that racks can be remotely mounted from the processor, thereby saving on wiring costs especially for large plants.
The average amount of inputs installed in the world is three times that of outputs for both analog and digital. The need for this rises from the PLC's need to have redundant methods to monitor a instrument to appropriately control another.
PLCs intended for use in larger I/O systems have peer-to-peer communication between processors. This allows separate parts of a complex process to have individual control while allowing the sub-systems to co-ordinate over the communication link. These communication links are also often used for HMI devices such as keypads or PC-type workstations.
Examples
As an example, say the facility needs to store water in a tank. The water is used as needed, but spilling is not permitted.
The PLC has two digital inputs from float switches, and a timer. The PLC controls two digital outputs to open and close the two inlet valves into the tank, and an error light. The valves are one after the other so that either valve can turn off the water. This means that the water can be turned off even if one valve breaks. The valves have repeaters, little sensor switches, so the logic controller can sense whether they are open or closed.
If both float switches are off (down) the PLC will open the valves to let more water in, and starts a timer. If both float switches are on, both valves turn off. When the timer is done, it turns off both valves anyway, to prevent spills, and if both switches are not on, and both valves closed, an error light turns on to indicate that a switch or valve is broken. A test button provides a way to restart the timer and retest the switches. The maintenance engineer will have a schedule to test such equipment.
Another example might use a load cell (the sensor of a scale) that weighs the tank and a rate valve. The logic controller would use a PID feedback loop to control the rate valve. The load cell is connected to one of the PLC's analog inputs and the rate valve is connected to one of the PLC's analog outputs. This system fills the tank faster when there's less water in the tank. If the water level drops rapidly, the rate valve can be opened wide. If water is only dripping out of the tank, the rate valve adjusts to slowly drip water back into the tank.
In this system, the tricky thing is adjusting the PID loop so the rate valve doesn't wear out from many continual small adjustments. Many PLCs have a "deadband", a range of outputs in which no change is commanded. In this application, the deadband would be adjusted so the valve moves only for a significant change in rate. This will in turn minimize the motion of the valve, and reduce its wear.
A real system might combine both approaches, using float switches and simple valves to prevent spills, and a rate sensor and rate valve to optimize refill rates.
Programming
PLCs programs are generally written in a special application on a personal computer then downloaded over a custom cable to the PLC. The program is stored in the PLC either in battery-backed-up RAM or some other non-volatile memory.
Early PLCs were designed to be used by electricians who would learn PLC programming on the job. These PLC's were programmed in "ladder logic", which strongly resembles a schematic of relay logic. Modern PLCs can be programmed in a variety of ways, from ladder logic to more traditional programming languages such as BASIC and C. Another method is State Logic, a Very High Level Programming Language designed to program PLCs based on State Transition Diagrams.
Recently, the International standard IEC 61131-3 has become popular. IEC 61131-3 currently defines 5 programming languages for programmable control systems: FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text, Pascal type language), IL (Instruction List) and SFC (Sequential Function Chart). These techniques emphasize logical organization of operations.
PID loops
PLCs may include logic for single-variable generic industrial feedback loop, a "proportional, integral, derivative" loop, or "PID controller."
A PID loop is the standard solution to many industrial process control processes that require proportional control. Proportional control dictates that large deviations should be corrected by large amounts and small deviations should be corrected by small amounts. A PID loop could be used to control the pH level of water in a swimming pool.
User interface
PLCs may need to interact with people for the purpose of configuration, alarm reporting or everyday control. A Human-Machine Interface is employed for this purpose.
A simple system may use buttons and lights to interact with the user. Text displays are available as well as graphical touch screens. Most modern PLCs can communicate over a network to some other system, such as a computer running SCADA system or web browser.
History
The PLC was invented in response to the needs of the American automotive industry. Before the PLC, control, sequencing, and safety interlock logic for manufacturing automobiles and trucks was accomplished using relays, timers and dedicated closed-loop controllers. The process for updating such facilities for the yearly model change-over was very time consuming and expensive, as the relay systems needed to be rewired by skilled electricians. In 1968 GM Hydramatic (the automatic transmission division of General Motors) issued a request for proposal for an electronic replacement for hard-wired relay systems.
The winning proposal came from Bedford Associates of Bedford, Massachusetts. The first PLC, designated the 084 because it was Bedford Associates eighty-fourth project, was the result. Bedford Associates started a new company dedicated to developing, manufacturing, selling, and servicing this new product: Modicon, which stood for MOdular DIgital CONtroller.
One of the very first 084 models built is now on display at Modicon's headquarters in North Andover, Massachusetts. It was presented to Modicon by GM, when the unit was retired from nearly twenty years of uninterrupted service.
The automotive industry is still one of the largest users of PLCs, and Modicon still numbers some of its controller models such that they end with eighty-four.da:Programmable logic controller de:Speicherprogrammierbare Steuerung es:Controlador lógico programable fr:Automate programmable industriel it:PLC (automazione) nl:Programmable Logic Controller pl:Sterownik PLC