Programmable Logic Controller
Programmable Logic Controller
Programmable Logic Controller
Manufacturing
Manufacturing methods
Batch production
Job production
Flow production
Improvement methods
RCM
TPM
VDM
QRM
TOC
Lean
Six Sigma
TQM
ZD
v
t
e
Contents
1Overview
2Invention and early development
3Programming
4Functionality
o 4.1Basic functions
o 4.2Timers and counters
o 4.3Programmable logic relay (PLR)
5PLC topics
o 5.1Features
o 5.2Scan time
o 5.3Process of a scan cycle
o 5.4System scale
o 5.5User interface
o 5.6Communications
o 5.7Programming
5.7.1Control example shown in ladder diagram
o 5.8Security
o 5.9Simulation
o 5.10Redundancy
6PLC compared with other control systems
7Discrete (digital) and analog signals
8See also
9References
10Further reading
Overview[edit]
PLC system in a rack, left-to-right: power supply unit (PSU), CPU, interface module (IM) and
communication processor (CP).
PLCs can range from small "building brick" devices with tens of inputs and outputs (I/O),
in a housing integral with the processor, to large rack-mounted modular devices with a
count of thousands of I/O, and which are often networked to other PLC
and SCADA systems.
They can be designed for multiple arrangements of digital and analog I/O, 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.
It was from the automotive industry in the USA that the PLC was born. Before the PLC,
control, sequencing, and safety interlock logic for manufacturing automobiles was
mainly composed of relays, cam timers, drum sequencers, and dedicated closed-loop
controllers. Since these could number in the hundreds or even thousands, the process
for updating such facilities for the yearly model change-over was very time consuming
and expensive, as electricians needed to individually rewire the relays to change their
operational characteristics.
When digital computers became available, being general-purpose programmable
devices, they were soon applied to control sequential and combinatorial logic in
industrial processes. However these early computers required specialist programmers
and stringent operating environmental control for temperature, cleanliness, and power
quality. To meet these challenges the PLC was developed with several key attributes. It
would tolerate the shop-floor environment, it would support discrete (bit-form) input and
output in an easily extensible manner, it would not require years of training to use, and it
would permit its operation to be monitored. Since many industrial processes have
timescales easily addressed by millisecond response times, modern (fast, small,
reliable) electronics greatly facilitate building reliable controllers, and performance could
be traded off for reliability.[1]
Programming[edit]
Early PLCs, up to the mid-1990s, 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.[2] 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 lack of memory capacity. The oldest PLCs
used non-volatile magnetic core memory.
More recently, PLCs are programmed using application software on personal
computers, which now represent the logic in graphic form instead of character symbols.
The computer is connected to the PLC through USB,Ethernet, RS-232, RS-485, or RS-
422 cabling. The programming software allows entry and editing of the ladder-style
logic. In some software packages, it is also possible to view and edit the program in
function block diagrams, sequence flow charts and structured text. 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 EPROM.
Functionality[edit]
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. Desktop computer controllers
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. Operating systems
such as Windows do not lend themselves to deterministic logic execution, with the result
that the controller may not always respond to changes of input status with the
consistency in timing expected from PLCs. 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.[citation needed]
Basic functions[edit]
The most basic function of a programmable controller is to emulate the functions of
electro-mechanical relays. Discrete inputs are given a unique address, and a PLC
instruction can test if the input state is on or off. Just as a series of relay contacts
perform a logical AND function, not allowing current to pass unless all the contacts are
closed, so a series of "examine if on" instructions will energize its output storage bit if all
the input bits are on. Similarly, a parallel set of instructions will perform a logical OR. In
an electro-mechanical relay wiring diagram, a group of contacts controlling one coil is
called a "rung" of a "ladder diagram ", and this concept is also used to describe PLC
logic. Some models of PLC limit the number of series and parallel instructions in one
"rung" of logic. The output of each rung sets or clears a storage bit, which may be
associated with a physical output address or which may be an "internal coil" with no
physical connection. Such internal coils can be used, for example, as a common
element in multiple separate rungs. Unlike physical relays, there is usually no limit to the
number of times an input, output or internal coil can be referenced in a PLC program.
Some PLCs enforce a strict left-to-right, top-to-bottom execution order for evaluating the
rung logic. This is different from electro-mechanical relay contacts, which in a
sufficiently complex circuit may either pass current left-to-right or right-to-left, depending
on the configuration of surrounding contacts. The elimination of these "sneak paths" is
either a bug or a feature, depending on programming style.
More advanced instructions of the PLC may be implemented as functional blocks, which
carry out some operation when enabled by a logical input and which produce outputs to
signal, for example, completion or errors, while manipulating variable internally that may
not correspond to discrete logic.
Timers and counters[edit]
The main function of a timer is to keep an output on for a specific length of time. A good
example of this is a garage light, where you want power to be cut off after 2 minutes so
as to give someone time to go into the house. The three different types of timers that
are commonly used are a Delay-OFF, a Delay-ON, and a Delay-ON-Retentive. A Delay-
OFF timer activates immediately when turned on, counts down from a programmed time
before cutting off, and is cleared when the enabling input is off. A Delay-ON timer is
activated by input and starts accumulating time, counts up to a programmed time before
cutting off, and is cleared when the enabling input is turned off. A Delay-ON-Retentive
timer is activated by input and starts accumulating time, retains the accumulated value
even if the (ladder-logic) rung goes false, and can be reset only by a RESET contact.
Counters are primarily used for counting items such as cans going into a box on an
assembly line. This is important because once something is filled to its max the item
needs to be moved on so something else can be filled. Many companies use counters
in PLC's to count boxes, count how many feet of something is covered, or to count how
many pallets are on a truck. There are three types of counters, Up counters, Down
counters, and Up/Down counters. Up counters count up to the preset value, turn on the
CTU (CounT Up output) when the preset value is reached, and are cleared upon
receiving a reset. Down counters count down from a preset value, turns on the CTD
(CounT Down output) when 0 is reached, and are cleared upon reset. Up/Down
counters count up on CU, count down on CD, turn on CTUD (CounT Up/Down output)
when the preset value is reached, and cleared on reset.[10]
Programmable logic relay (PLR)[edit]
In more recent years, small products called PLRs (programmable logic relays), and also
by similar names, have become more common and accepted. These are 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 needed, 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 8 to 12 discrete inputs, 4 to 8
discrete 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 logics.
PLC topics[edit]
Features[edit]
Control panel with PLC (grey elements in the center). The unit consists of separate elements, from
left to right; power supply, controller, relayunits for in- and output
The main difference from most other computing devices is that PLCs are intended-for
and therefore tolerant-of more severe conditions (such as dust, moisture, heat, cold),
while offering extensive input/output (I/O) to connect the PLC to sensors and actuators.
PLC input can include simple digital elements such as limit switches, analog variables
from process sensors (such as temperature and pressure), and more complex data
such as that from positioning or machine vision systems.[11] PLC output can include
elements such as indicator lamps, sirens, 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 fieldbus or computer network that plugs into the
PLC.
Scan time[edit]
A PLC program generally loops i.e. executes repeatedly, as long as the controlled
system is running. At the start of each execution loop, the status of all physical inputs
are copied to an area of memory, sometimes called the "I/O Image Table", which is
accessible to the processor. The program then runs 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. [12] Scan times of a few
milliseconds may be encountered for small programs and fast processors, but for older
processors and very large programs much longer scan times (on the order of 100 ms)
may be encountered. Excessively long scan times may mean the response of the PLC
to changing inputs or process conditions is too slow to be useful.
As PLCs became more advanced, methods were developed to change the sequence of
ladder execution, and subroutines were implemented.[13] This simplified programming
could 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. Newer PLCs now have the option to run the logic
program synchronously with the IO scanning. This means that IO is updated in the
background and the logic reads and writes values as it's required during the logic
scanning.
Special-purpose I/O modules may be used where the scan time of the PLC is too long
to allow predictable performance. Precision timing modules, or counter modules for use
with shaft encoders, are used where the scan time would be too long to reliably count
pulses or detect the sense of rotation of an encoder. This allows even a relatively slow
PLC to still interpret the counted values to control a machine, as the accumulation of
pulses is done by a dedicated module that is unaffected by the speed of program
execution on the PLC.
Process of a scan cycle[edit]
There are 5 main steps in a scan cycle:
1. Reading inputs
2. Executing the program
3. Processing communication requests
4. Executing CPU diagnostics
5. Writing outputs
System scale[edit]
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. 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. Options are also available to
mount I/O points directly to the machine and utilize quick disconnecting cables to
sensors and valves, saving time for wiring and replacing components.
User interface[edit]
See also: User interface and List of human-computer interaction topics
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
interfaces (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[edit]
Many models of PLCs have built-in communications ports, using RS-232, RS-422, RS-
485, or Ethernet. Various protocols are usually included. Many of these protocols are
vendor specific.
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.
Formerly, some manufacturers offered dedicated communication modules as an add-on
function where the processor had no network connection built-in.
Programming[edit]
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.[14]
Under the IEC 61131-3 standard, PLCs can be programmed using standards-based
programming languages. The most commonly used programming language is Ladder
diagram (LD) also known as Ladder logic. It uses Contact-Coil logic to make programs
like an electrical control diagram. A graphical programming notation called Sequential
Function Charts is available on certain programmable controllers. 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).[15] These techniques emphasize logical organization
of operations.[14]
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.
Control example shown in ladder diagram[edit]
This is a programming example in ladder diagram which shows the control system. A
ladder diagram is a method of drawing control circuits which pre-dates PLCs. The
ladder diagram resembles the schematic diagram of a system built with
electromechanical relays.
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 by controlling the valve that refills the tank. . Shown are:
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 economical. This is 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 cheap 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 uneconomical. [18]
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.[18]
Programmable controllers are widely used in motion, positioning, or 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.[19][citation needed]
PLCs may include logic for single-variable feedback analog control loop, a proportional,
integral, derivative (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 been
blurred.
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 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.
See also[edit]
Industrial control systems
Industrial safety systems
PLC technician
1-bit architecture
References[edit]
1. Jump up^ E. A. Parr, Industrial Control Handbook, Industrial
Press Inc., 1999 ISBN 0-8311-3085-7
2. ^ Jump up to:a b M. A. Laughton, D. J. Warne (ed), Electrical
Engineer's Reference book, 16th edition,Newnes, 2003 Chapter
16 Programmable Controller
3. Jump up^ "The father of invention: Dick Morley looks back on
the 40th anniversary of the PLC". Manufacturing Automation. 12
September 2008.
4. ^ Jump up to:a b "Leaders of the Pack". Retrieved 2008-06-20.
5. Jump up^ "Odo Struger, automation expert". Retrieved 2008-
06-20.
6. Jump up^ "A-B PLC inventor, Dr. Odo Struger, dies". Archived
from the original on 2008-12-03. Retrieved 2008-06-20.
7. Jump up^ Brier, Steven E. (1998-12-27). "O. Struger, 67, A
Pioneer In Automation". The New York Times. Retrieved 2008-
07-27. Dr. Odo J. Struger, who invented the programmable
logic controller, which makes possible modern factory
automation, amusement park rides and lavish stage effects in
Broadway productions, died on December 8 in Cleveland. He
was 67.
8. Jump up^ 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.
9. Jump up^ "A short history of Automation growth".
Retrieved 2008-06-20.
10. Jump up^ Yanik, P. (2017, April 11). Timers and Counters.
Cullowhee, NC, United States of America.
11. Jump up^ Harms, Toni M. & Kinner, Russell H.
P.E., Enhancing PLC Performance with Vision Systems. 18th
Annual ESD/HMI International Programmable Controllers
Conference Proceedings, 1989, p. 387-399.
12. Jump up^ Maher, Michael J. Real-Time Control and
Communications. 18th Annual ESD/SMI International
Programmable Controllers Conference Proceedings, 1989, p.
431-436.
13. Jump up^ Kinner, Russell H., P.E. Designing Programmable
Controller Application Programs Using More than One
Designer. 14th Annual International Programmable Controllers
Conference Proceedings, 1985, p. 97-110.
14. ^ Jump up to:a b W. Bolton, Programmable Logic Controllers,
Fifth Edition, Newnes, 2009 ISBN 978-1-85617-751-1, Chapter
1
15. Jump up^ Keller, William L Jr. Grafcet, A Functional Chart for
Sequential Processes, 14th Annual International Programmable
Controllers Conference Proceedings, 1984, p. 71-96.
16. Jump up^ Byres (May 2011). "PLC Security Risk: Controller
Operating Systems - Tofino Industrial Security
Solution". www.tofinosecurity.com.
17. Jump up^ Lin, Sally; Huang, Xiong (9 August 2011). Advances
in Computer Science, Environment, Ecoinformatics, and
Education, Part III: International Conference, CSEE 2011,
Wuhan, China, August 21-22, 2011. Proceedings. Springer
Science & Business Media. p. 15. ISBN 9783642233449 – via
Google Books.
18. ^ Jump up to:a b Gregory K. McMillan, Douglas M. Considine
(ed), Process/Industrial Instruments and Controls Handbook
Fifth Edition, McGraw-Hill, 1999 ISBN 0-07-012582-1 Section
3 Controllers
19. Jump up^ Vosough and Vosough (November 2011). "PLC and
its Applications" (PDF). International Journal of Multidisciplinary
Sciences and Engineering. 2.
20. Jump up^ Erickson, Kelvin T. (1996). "Programmable logic
controllers". Institute of Electrical and Electronics Engineers.
21. Jump up^ Iqbal, S. (2008). "Programmable Logic Controllers
(PLCs): Workhorse of Industrial Automation". 68-69. IEEEP
Journal: 27–31.
22. Jump up^ Petruzella,, Frank D. (2005). "Programmable logic
controllers". Tata McGraw-Hill Education.
Further reading[edit]
Daniel Kandray, Programmable Automation Technologies,
Industrial Press, 2010 ISBN 978-0-8311-3346-7, Chapter
8 Introduction to Programmable Logic Controllers
Tom Mejer Antonsen, 2018 "PLC Controls with Structured
Text (ST)", ISBN 978-87-4300-241-3, ISBN 978-87-4300-
242-0
Walker, Mark John (2012-09-08). The Programmable Logic
Controller: its prehistory, emergence and
application (PDF) (PhD thesis). Department of
Communication and Systems Faculty of Mathematics,
Computing and Technology: The Open
University. Archived (PDF) from the original on 2018-06-20.
Retrieved 2018-06-20.
Categories:
Industrial automation
Industrial computing
Programmable logic controllers
Navigation menu
Not logged in
Talk
Contributions
Create account
Log in
Article
Talk
Read
Edit
View history
Search
Go
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
In other projects
Wikimedia Commons
Wikibooks
Languages
العربية
বাাংলা
Español
हिन्दी
Bahasa Indonesia
Bahasa Melayu
Русский
தமிழ்
中文
35 more
Edit links
This page was last edited on 19 October 2018, at 08:24 (UTC).
Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply. By using this site, you agree to the Terms of
Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view