Main Menu: Photograph Your Local Culture, Help Wikipedia and Win!
Main Menu: Photograph Your Local Culture, Help Wikipedia and Win!
Main Menu: Photograph Your Local Culture, Help Wikipedia and Win!
Search Go
Create account
Log in
Personal tools
Contents
hide
(Top)
Invention and early development
Toggle Invention and early development subsection
Architecture
Toggle Architecture subsection
Programming
Toggle Programming subsection
Functionality
Toggle Functionality subsection
Process of a scan cycle
Security
Safety PLCs
PLC compared with other control systems
Toggle PLC compared with other control systems subsection
See also
References
Toggle References subsection
Further reading
Tools
From Wikipedia, the free encyclopedia
PLCs for a monitoring system in the pharmaceutical industry
Machine industry
Manufacturing methods
Batch production
Job production
Flow production
Lean manufacturing
Agile manufacturing
Industrial technologies
PLM
RCM
TPM
VDM
QRM
TOC
Six Sigma
TQM
ZD
Process control
PLC
DCS
SCADA
v
t
e
Architecture[edit]
A PLC is an industrial microprocessor-based controller with programmable memory
used to store program instructions and various functions. [19] 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/to external devices,
a communications interface to receive and transmit data on communication
networks from/to remote PLCs.[20]
PLCs require programming device which is used to develop and later download the
created program into the memory of the controller. [20]
Modern PLCs generally contain a real-time operating system, such as OS-
9 or VxWorks.[21]
Mechanical design[edit]
Compact PLC with 8 inputs and 4 outputs
Modular PLC with EtherNet/IP module, discrete and analog I/O, with some slots being empty
There are two types of mechanical design for PLC systems. A single box, or 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.
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.[22] 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. [citation needed]
Discrete and analog signals[edit]
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, photoelectric
sensors and encoders.[23] Discrete signals are sent using either voltage or current, where
specific extreme ranges are designated as on and off. For example, a controller might
use 24 V DC input with values above 22 V DC representing on, values below 2 V DC
representing off, and intermediate values undefined.[citation needed]
Analog signals can use voltage or current that is proportional to the size of 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. [23] 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 transpose it into the desired units of the process so the operator
or program can read it. Proper integration will also include filter times to reduce noise as
well as high and low limits to report faults. Current inputs are less sensitive to electrical
noise (e.g. from welders or electric motor starts) than voltage inputs. Distance from the
device and the controller is also a concern as the maximum traveling distance of a good
quality 0-10 V signal is very short compared to the 4-20 mA signal. [citation needed] The 4-20 mA
signal can also report if the wire is disconnected along the path as a <4 mA signal would
indicate an error.
Redundancy[edit]
Some special processes need to work permanently with minimum unwanted downtime.
Therefore, it is necessary to design a system that is fault-tolerant and capable of
handling the process with faulty modules. 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 hardware configuration for preventing 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 both PLCs turn on output before the press can come down in case one
output does not turn off properly.
Programming[edit]
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.[citation needed]
Programming device[edit]
PLC programs are typically written in a programming device, which can take the form of
a desktop console, special software on a personal computer, or a handheld
programming device.[27] Then, the program is downloaded to the PLC directly or over a
network. It is stored either in non-volatile flash memory or battery-backed-up RAM. In
some programmable controllers, the program is transferred from a personal computer to
the PLC through a programming board that writes the program into a removable chip,
such as EPROM.
Manufacturers develop programming software for their controllers. In addition to being
able to program PLCs in multiple languages, they provide common features like
hardware diagnostics and maintenance, software debugging, and offline simulation. [27]
A program written on a personal computer or uploaded from PLC using programming
software can be easily copied and backed up on external storage. [citation needed]
Simulation[edit]
PLC simulation is a feature often found in PLC programming software. It allows for
testing and debugging early in a project's development.
Incorrectly programmed PLC can result in lost productivity and dangerous conditions.
Testing the project in simulation improves its quality, increases the level of safety
associated with equipment and can save costly downtime during the installation and
commissioning of automated control applications since many scenarios can be tried and
tested before the system is activated.[27][28]
Functionality[edit]
PLC system in a rack, left-to-right: power supply unit (PSU), CPU, interface module (IM) and communication
processor (CP)
Control panel with PLC (grey elements in the center). The unit consists of separate elements, from left to
right; power supply, controller, relay units for input 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.[29] 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.
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, allows a general-purpose desktop
computer to overlap some PLCs in certain applications. Desktop computer controllers
have not been generally accepted in heavy industry because desktop computers run on
less stable operating systems than 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.[citation needed]
Basic functions[edit]
The most basic function of a programmable controller is to emulate the functions of
electromechanical 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 electromechanical 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 the 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 variables internally that
may not correspond to discrete logic.
Communication[edit]
PLCs use built-in ports, such as USB, Ethernet, RS-232, RS-485, or RS-422 to
communicate with external devices (sensors, actuators) and systems (programming
software, SCADA, HMI). Communication is carried over various industrial network
protocols, like Modbus, or EtherNet/IP. Many of these protocols are vendor specific.
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.
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.
1. read inputs,
2. execute the program,
3. write outputs.[30]
The program follows the sequence of instructions. It typically takes a time span of tens
of milliseconds for the processor to evaluate all the instructions and update the status of
all outputs.[31] If the system contains remote I/O—for example, an external rack with I/O
modules—then that introduces additional uncertainty in the response time of the PLC
system.[30]
As PLCs became more advanced, methods were developed to change the sequence of
ladder execution, and subroutines were implemented. [32] This enhanced 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 [as of?] 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 required during the logic scanning.
[citation needed]
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.[33]
Security[edit]
In his book from 1998, E. A. Parr pointed out that even though most programmable
controllers require physical keys and passwords, the lack of strict access control and
version control systems, as well as an easy-to-understand programming language make
it likely that unauthorized changes to programs will happen and remain unnoticed. [34]
Prior to the discovery of the Stuxnet computer worm in June 2010, the security of PLCs
received little attention. Modern programmable controllers generally contain a real-time
operating systems, which can be vulnerable to exploits in a similar way as desktop
operating systems, like Microsoft Windows. PLCs can also be attacked by gaining
control of a computer they communicate with.[21] Since 2011, these concerns have grown
as networking is becoming more commonplace in the PLC environment connecting the
previously separate plant floor networks and office networks. [35]
In February 2021, Rockwell Automation publicly disclosed a critical vulnerability
affecting its Logix controllers family. Secret cryptographic key used to verify
communication between the PLC and workstation can be extracted from Studio 5000
Logix Designer programming software and used to remotely change program code and
configuration of connected controller. The vulnerability was given a severity score of 10
out of 10 on the CVSS vulnerability scale. At the time of writing, the mitigation of the
vulnerability was to limit network access to affected devices.[36][37]
Safety PLCs[edit]
Safety PLCs can be either a standalone model or a safety-rated hardware and
functionality added to existing controller architectures (Allen-
Bradley Guardlogix, Siemens F-series etc.). These differ from conventional PLC types
by being suitable for safety-critical applications for which PLCs have traditionally been
supplemented with hard-wired safety relays and areas of the memory dedicated to the
safety instructions. The standard of safety level is the SIL.
A safety PLC might be used to control access to a robot cell with trapped-key access, or
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.[citation needed]
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. [citation needed]
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. [citation needed]
PLC Chip / Embedded Controller[edit]
Nano ACE PLC & Chip PLC for small machine builders / small or medium volumes
For small machines with low or medium volume. PLCs that can execute PLC languages
such as Ladder, Flow-Chart/Grafcet,... Similar to traditional PLCs, but their small size
allows developers to design them into custom printed circuit boards like a
microcontroller, without computer programming knowledge, but with a language that is
easy to use, modify and maintain. It's between the classic PLC / Micro-PLC and the
Microcontrollers.
Cam timers[edit]
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. [citation needed]
Microcontrollers[edit]
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. [38]
Single-board computers[edit]
Very complex process control, such as those 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.[38]
The rising popularity of single board computers has also had an influence on the
development of PLCs. Traditional PLCs are generally closed platforms, but some newer
PLCs (e.g. groov EPIC from Opto 22, ctrlX from Bosch Rexroth, PFC200 from Wago,
PLCnext from Phoenix Contact, and Revolution Pi from Kunbus) provide the features of
traditional PLCs on an open platform.
PID Controllers[edit]
PLCs may include logic for single-variable feedback analog control loop, a 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. [citation needed]
Programmable logic relays (PLR)[edit]
This section possibly contains original research. Please improve
it by verifying the claims made and adding inline citations. Statements consisting
only of original research should be removed. (March 2020) (Learn how and when to
remove this template message)
See also[edit]
Industrial control system
Industrial safety system
PLC technician
1-bit computing
References[edit]
1. ^ Tubbs, Stephen Phillip. Programmable Logic Controller (PLC) Tutorial, Siemens Simatic
S7-1200. Publicis MCD Werbeagentur GmbH; 3rd ed., 2018.
2. ^ Parr 1998, p. 438
3. ^ Wayand, Ben (20 March 2020). "What is a PLC?". www.mroelectric.com. MRO Electric.
Retrieved 11 May 2021.
4. ^ "PLC Programming Basics Part I". Control Systems & Automation. 2019-07-23.
Retrieved 2020-02-23.
5. ^ Laughton & Warne 2002, p. 16/3: "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."
6. ^ Parr 1998, p. 437
7. ^ Bolton 2015, p. 6
8. ^ Parr 1998, pp. 438, 450–451
9. ^ Jump up to:a b Laughton & Warne 2002, chpt. 16
10. ^ Jump up to:a b Dunn, Alison (2009-06-12). "The father of invention: Dick Morley looks back
on the 40th anniversary of the PLC". Manufacturing Automation. Retrieved 2020-02-23.
11. ^ Jump up to:a b c d Strothman, Jim (2003-08-01). "Leaders of the pack". ISA. Archived from
the original on 2017-08-08. Retrieved 2020-02-24.
12. ^ Mobus Networking Guide. "Introduction". Mobus Networking Guide. Retrieved 27
October 2022.
13. ^ Chakraborty, Kunal (2016). Industrial applications of programmable logic controllers and
scada. Hamburg: Anchor Academic Publishing. ISBN 978-3960670247.
14. ^ Jump up to:a b "A-B PLC inventor, Dr. Odo Struger, dies". Control Engineering. 1999-02-
01. Archived from the original on 2020-02-24. Retrieved 2020-02-24.
15. ^ Brier, Steven E. (1998-12-27). "O. Struger, 67, A Pioneer In Automation". The New York
Times. Retrieved 2020-02-24. 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.
16. ^ 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.
17. ^ "A short history of Automation growth". Retrieved 2008-06-20.
18. ^ "Wrapping Your Head Around Ladder Logic – Do Supply Tech Support". 27 August 2018.
Retrieved 19 October 2020.
19. ^ Bolton 2015, p. 5
20. ^ Jump up to:a b Bolton 2015, p. 7
21. ^ Jump up to:a b Byres (May 2011). "PLC Security Risk: Controller Operating Systems - Tofino
Industrial Security Solution". www.tofinosecurity.com.
22. ^ Bolton 2015, pp. 12–13
23. ^ Jump up to:a b Bolton 2015, pp. 23–43
24. ^ Jump up to:a b Bolton 2015, pp. 16–18
25. ^ Keller, William L Jr. Grafcet, A Functional Chart for Sequential Processes, 14th Annual
International Programmable Controllers Conference Proceedings, 1984, p. 71-96.
26. ^ "Status IEC 61131-3 standard". PLCopen. 2018-07-19. Retrieved 2020-04-01.
27. ^ Jump up to:a b c Bolton 2015, pp. 19–20
28. ^ 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.
29. ^ 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.
30. ^ Jump up to:a b Parr 1998, p. 446
31. ^ Maher, Michael J. Real-Time Control and Communications. 18th Annual ESD/SMI
International Programmable Controllers Conference Proceedings, 1989, p. 431-436.
32. ^ 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.
33. ^ Laughton & Warne 2002, section 16.4.8
34. ^ Parr 1998, p. 451
35. ^ Bolton 2015, p. 15
36. ^ Goodin, Dan (2021-02-26). "Hard-coded key vulnerability in Logix PLCs has severity score
of 10 out of 10". Ars Technica. Retrieved 2021-03-07.
37. ^ Li, Tom (2021-03-01). "Max level vulnerability found in Logix PLCs | IT World Canada
News". www.itworldcanada.com. Retrieved 2021-03-07.
38. ^ 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
Bibliography[edit]
Bolton, William (2015). Programmable Logic Controllers (6th, revised ed.).
Newnes. ISBN 9780081003534 – via Google Books.
Parr, E. A. (1998). "Computers and industrial control". Industrial Control Handbook. Industrial
Press Inc. ISBN 0-8311-3085-7 – via Google Books.
Laughton, M. A.; Warne, D. F. (2002). Electrical Engineer's Reference Book (16th ed.).
Newnes. ISBN 9780750646376 – via Google Books.
Further reading[edit]
About Wikipedia
Disclaimers
Contact Wikipedia
Mobile view
Developers
Statistics
Cookie statement