Programmable Logic Controller (PLC)
Definition. Programmable Logic Controller (PLC) Advantages. Programmable Logic
Controller (PLC) Dis-Advantages. Programmable Logic Controller (PLC)
Applications. Programmable Logic Controller (PLC) Major Components.
Programmable Logic Controller (PLC) Images. Programmable Logic Controller (PLC)
Photos.
PROGRAMMABLE LOGIC CONTROLLER
A programmable logic controller (PLC) or programmable controller is a digital
computer used for automation of electromechanical processes, such as control of
machinery on factory assembly
lines, amusement
rides, or light
fixtures. PLCs are used in
many industries and machines. Unlike general-purpose computers, the PLC is
designed for multiple inputs and output arrangements, extended temperature
ranges, immunity to electrical noise, and resistance to vibration and impact.
Programs to control machine operation are typically stored in battery-backed-up
or non-volatile memory. A PLC is an example of a hardreal time system since output results
must be produced in response to input conditions within a limited time,
otherwise unintended operation will result.
Programming:
Early PLCs,
up to the mid-1980s, 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. Programs
were stored on cassette tape cartridges. Facilities for
printing and documentation were minimal due to lack of memory capacity. The
very oldest PLCs used non-volatile magnetic core memory.
More
recently, PLCs are programmed using application software on personal computers.
The computer is connected to the PLC through Ethernet, RS-232, RS-485 or RS-422 cabling.
The programming software allows entry and editing of the ladder-style logic.
Generally the software provides functions for debugging and troubleshooting the
PLC software, for example, by highlighting portions of the logic to show
current status during operation or via simulation. The software will upload and
download the PLC program, for backup and restoration purposes. In some models
of programmable controller, the program is transferred from a personal computer
to the PLC through a programming board which
writes the program into a removable chip such as an EEPROM or EPROM.
|
PLC Programmable Logic Controller |
Functionality:
The
functionality of the PLC has evolved over the years to include sequential relay
control, motion control, process
control, distributed control systems and networking. The data
handling, storage, processing power and communication capabilities of some
modern PLCs are approximately equivalent to desktop
computers.
PLC-like programming combined with remote I/O hardware, allow a general-purpose
desktop computer to overlap some PLCs in certain applications. Regarding the
practicality of these desktop computer based logic controllers, it is important
to note that they have not been generally accepted in heavy industry because
the desktop computers run on less stable operating systems than do PLCs, and
because the desktop computer hardware is typically not designed to the same
levels of tolerance to temperature, humidity, vibration, and longevity as the
processors used in PLCs. In addition to the hardware limitations of desktop
based logic, operating systems such as Windows do not lend themselves to
deterministic logic execution, with the result that the logic may not always
respond to changes in logic state or input status with the extreme consistency
in timing as is expected from PLCs. Still, such desktop logic applications find
use in less critical situations, such as laboratory automation and use in small
facilities where the application is less demanding and critical, because they
are generally much less expensive than PLCs.
In more
recent years, small products called PLRs (programmable logic relays), and also
by similar names, have become more common and accepted. These are very much
like PLCs, and are used in light industry where only a few points of I/O (i.e.
a few signals coming in from the real world and a few going out) are involved,
and low cost is desired. These small devices are typically made in a common
physical size and shape by several manufacturers, and branded by the makers of
larger PLCs to fill out their low end product range. Popular names include PICO
Controller, NANO PLC, and other names implying very small controllers. Most of
these have between 8 and 12 digital inputs, 4 and 8 digital outputs, and up to
2 analog inputs. Size is usually about 4" wide, 3" high, and 3"
deep. Most such devices include a tiny postage stamp sized LCD screen for
viewing simplified ladder logic (only a very small portion of the program being
visible at a given time) and status of I/O points, and typically these screens
are accompanied by a 4-way rocker push-button plus four more separate
push-buttons, similar to the key buttons on a VCR remote control, and used to
navigate and edit the logic. Most have a small plug for connecting via RS-232
or RS-485 to a personal computer so that programmers can use simple Windows
applications for programming instead of being forced to use the tiny LCD and
push-button set for this purpose. Unlike regular PLCs that are usually modular
and greatly expandable, the PLRs are usually not modular or expandable, but
their price can be two orders of magnitude less than a PLC and they still offer robust design and
deterministic execution of the logic.
PLC Topics:
Features:
The main
difference from other computers is that PLCs are armored for severe conditions
(such as dust, moisture, heat, cold) and have the facility for extensive input/output (I/O)
arrangements. These connect the PLC to sensors and actuators. PLCs read
limit switches, analog
process variables (such as temperature and pressure), and the positions of
complex positioning systems. Some use machine vision. On
the actuator side, PLCs operate electric motors, pneumatic or hydraulic cylinders,
magnetic relays, solenoids, or analog
outputs. The input/output arrangements may be built into a simple PLC, or the
PLC may have external I/O modules attached to a computer network that plugs
into the PLC.
Scan time:
A PLC
program is generally executed repeatedly as long as the controlled system is
running. The status of physical input points is copied to an area of memory
accessible to the processor, sometimes called the "I/O Image Table".
The program is then run from its first instruction rung down to the last rung.
It takes some time for the processor of the PLC to evaluate all the rungs and
update the I/O image table with the status of outputs. This
scan time may be a few milliseconds for a small program or on a fast processor,
but older PLCs running very large programs could take much longer (say, up to
100 ms) to execute the program. If the scan time was too long, the response of
the PLC to process conditions would be too slow to be useful.
As PLCs
became more advanced, methods were developed to change the sequence of ladder
execution, and subroutines were implemented. This
simplified programming and could also be used to save scan time for high-speed
processes; for example, parts of the program used only for setting up the
machine could be segregated from those parts required to operate at higher
speed.
Special-purpose
I/O modules, such as timer modules or counter modules, could be used where the
scan time of the processor was too long to reliably pick up, for example,
counting pulses from a shaft encoder. The relatively slow PLC could still
interpret the counted values to control a machine, but the accumulation of
pulses was done by a dedicated module that was unaffected by the speed of the
program execution.
System scale:
A small PLC
will have a fixed number of connections built in for inputs and outputs.
Typically, expansions are available if the base model has insufficient I/O.
Modular
PLCs have a chassis (also called a rack) into which are placed modules with
different functions. The processor and selection of I/O modules are customized
for the particular application. Several racks can be administered by a single
processor, and may have thousands of inputs and outputs. A special high speed
serial I/O link is used so that racks can be distributed away from the
processor, reducing the wiring costs for large plants.
User interface:
PLCs may
need to interact with people for the purpose of configuration, alarm reporting
or everyday control. A human-machine
interface (HMI) is employed for this purpose. HMIs are
also referred to as man-machine interfaces (MMIs) and graphical user interface
(GUIs). A simple system may use buttons and lights to interact with the user.
Text displays are available as well as graphical touch screens. More complex
systems use programming and monitoring software installed on a computer, with
the PLC connected via a communication interface.
Communications:
PLCs have
built in communications ports, usually 9-pin RS-232, but
optionally EIA-485 or Ethernet. Modbus, BACnet or DF1 is usually included as one of the communications protocols. Other options
include various fieldbuses such
as DeviceNet or Profibus. Other
communications protocols that may be used are listed in the List of automation protocols.
Most modern
PLCs can communicate over a network to some other system, such as a computer
running a SCADA (Supervisory
Control And Data Acquisition) system or web browser.
PLCs used
in larger I/O systems may have peer-to-peer (P2P)
communication between processors. This allows separate parts of a complex
process to have individual control while allowing the subsystems to co-ordinate
over the communication link. These communication links are also often used
for HMI devices such as keypads or PC-type
workstations.
Programming:
PLC
programs are typically written in a special application on a personal computer,
then downloaded by a direct-connection cable or over a network to the PLC. The
program is stored in the PLC either in battery-backed-up RAM or some other
non-volatile flash memory. Often, a single PLC can be programmed to replace
thousands of relays.
Under the IEC 61131-3 standard,
PLCs can be programmed using standards-based programming languages. A graphical
programming notation called Sequential Function Charts is available
on certain programmable controllers. Initially most PLCs utilized Ladder Logic
Diagram Programming, a model which emulated electromechanical control panel
devices (such as the contact and coils of relays) which PLCs replaced. This
model remains common today.
IEC 61131-3
currently defines five programming languages for programmable control
systems: function block diagram (FBD), ladder diagram (LD), structured text (ST;
similar to the Pascal programming language), instruction list (IL;
similar to assembly language) and sequential function chart (SFC). These
techniques emphasize logical organization of operations.
While the
fundamental concepts of PLC programming are common to all manufacturers,
differences in I/O addressing, memory organization and instruction sets mean
that PLC programs are never perfectly interchangeable between different makers.
Even within the same product line of a single manufacturer, different models
may not be directly compatible.
PLC compared with other control systems:
PLCs are
well-adapted to a range of automation tasks. These are typically industrial processes in manufacturing
where the cost of developing and maintaining the automation system is high
relative to the total cost of the automation, and where changes to the system
would be expected during its operational life. PLCs contain input and output
devices compatible with industrial pilot devices and controls; little
electrical design is required, and the design problem centers on expressing the
desired sequence of operations. PLC applications are typically highly
customized systems so the cost of a packaged PLC is low compared to the cost of
a specific custom-built controller design. On the other hand, in the case of
mass-produced goods, customized control systems are economic due to the lower
cost of the components, which can be optimally chosen instead of a
"generic" solution, and where the non-recurring engineering charges
are spread over thousands or millions of units.
For high
volume or very simple fixed automation tasks, different techniques are used.
For example, a consumer dishwasher would be controlled by an electromechanical cam
timer costing only
a few dollars in production quantities.
A microcontroller-based design
would be appropriate where hundreds or thousands of units will be produced and
so the development cost (design of power supplies, input/output hardware and
necessary testing and certification) can be spread over many sales, and where
the end-user would not need to alter the control. Automotive applications are
an example; millions of units are built each year, and very few end-users alter
the programming of these controllers. However, some specialty vehicles such as
transit buses economically use PLCs instead of custom-designed controls,
because the volumes are low and the development cost would be uneconomic.
Very complex
process control, such as used in the chemical industry, may require algorithms
and performance beyond the capability of even high-performance PLCs. Very
high-speed or precision controls may also require customized solutions; for
example, aircraft flight controls. Single-board computers using semi-customized or fully proprietary hardware may be chosen
for very demanding control applications where the high development and
maintenance cost can be supported. "Soft PLCs" running on
desktop-type computers can interface with industrial I/O hardware while
executing programs within a version of commercial operating systems adapted for
process control needs.
Programmable
controllers are widely used in motion control, positioning control and torque
control. Some manufacturers produce motion control units to be integrated with
PLC so that G-code (involving a CNC machine) can be used to instruct machine movements PLCs may include
logic for single-variable feedback analog control loop, a "proportional,
integral, derivative" or "PID
controller". A PID loop could be used to control the temperature of a
manufacturing process, for example. Historically PLCs were usually configured
with only a few analog control loops; where processes required hundreds or
thousands of loops, a distributed control system (DCS) would instead be used. As PLCs have become more powerful,
the boundary between DCS and PLC applications has become less distinct.
PLCs have
similar functionality as Remote Terminal Units. An RTU,
however, usually does not support control algorithms or control loops. As
hardware rapidly becomes more powerful and cheaper,RTUs, PLCs and DCSs are
increasingly beginning to overlap in responsibilities, and many vendors sell
RTUs with PLC-like features and vice versa. The industry has standardized on
the IEC
61131-3 functional
block language for creating programs to run on RTUs and PLCs, although nearly
all vendors also offer proprietary alternatives and associated development
environments.
In recent
years "Safety" PLCs have started to become popular, either as
standalone models (Pilz PNOZ Multi, Sick etc.) or as functionality and
safety-rated hardware added to existing controller architectures (Allen Bradley
Guardlogix, Siemens F-series etc.). These differ from conventional PLC types as
being suitable for use in safety-critical applications for which PLCs have
traditionally been supplemented with hard-wired safety relays. For example, a
Safety PLC might be used to control access to a robot cell with trapped-key access, or perhaps
to manage the shutdown response to an emergency stop on a conveyor production
line. Such PLCs typically have a restricted regular instruction set augmented
with safety-specific instructions designed to interface with emergency stops,
light screens and so forth. The flexibility that such systems offer has
resulted in rapid growth of demand for these controllers.
Digital and Control Signals:
Digital or
discrete signals behave as binary switches, yielding simply an On or Off signal
(1 or 0, True or False, respectively). Push buttons, limit switches, and photoelectric sensors are examples of devices providing a discrete signal. Discrete
signals are sent using either voltage or current, where a specific range is designated as On and another as Off. For example, a PLC might
use 24 V DC I/O, with values above 22 V DC representing On, values below 2VDC
representing Off, and
intermediate values undefined. Initially, PLCs had only discrete I/O.
Analog
signals are like volume controls, with a range of values between zero and
full-scale. These are typically interpreted as integer values (counts) by the
PLC, with various ranges of accuracy depending on the device and the number of
bits available to store the data. As PLCs typically use 16-bit signed binary
processors, the integer values are limited between -32,768 and +32,767.
Pressure, temperature, flow, and weight are often represented by analog
signals. Analog signals can use voltage or current with a magnitude proportional to the value of the process signal.
For example, an analog 0 - 10 V input or 4-20
mA would be converted into an integer value of 0 - 32767.
Current
inputs are less
sensitive to electrical noise (i.e. from welders or electric motor starts) than
voltage inputs.
Example:
As an
example, say a facility needs to store water in a tank. The water is drawn from
the tank by another system, as needed, and our example system must manage the
water level in the tank.
Using only
digital signals, the PLC has two digital inputs from float switches (Low
Level and High Level). When the water level is above the switch it closes a
contact and passes a signal to an input. The PLC uses a digital output to open
and close the inlet valve into
the tank.
When the
water level drops enough so that the Low Level float switch is off (down), the
PLC will open the valve to let more water in. Once the water level rises enough
so that the High Level switch is on (up), the PLC will shut the inlet to stop
the water from overflowing. This rung is an example of seal-in (latching)
logic. The output is sealed in until some condition breaks the circuit.
| |
| Low Level High Level Fill Valve |
|------[/]------|------[/]----------------------(OUT)--------|
| | |
| | |
| | |
| Fill Valve | |
|------[ ]------| |
| |
| |
An analog
system might use a water pressure sensor or
a load cell, and an
adjustable (throttled) control (e.g. by a valve) of the fill of the tank.
In this
system, to avoid 'flutter' adjustments that can wear out the valve, many PLCs
incorporate "hysteresis"
which essentially creates a "deadband" of
activity. A technician adjusts this dead band 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 and
prevent water hammer. Backup and maintenance methods can make a real
system very complicated.