Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer

Lecture 35 min.



A programmable logic controller (abbr. PLC; a more precise rendering is "controller with programmable logic"), or programmable controller, is a special kind of electronic computer. PLCs are most often used to automate technological processes. The main mode of operation of a PLC is long-term autonomous use, often in unfavorable environmental conditions, without major maintenance and with practically no human intervention.

Sometimes computer numerical control (CNC) systems for machine tools are built on PLCs.

PLCs are devices designed to operate in real-time systems.

PLCs have a number of features that distinguish them from other electronic devices used in industry:

  • unlike a microcontroller (a single-chip computer), which is an integrated circuit designed to control electronic devices, a PLC is a self-contained device rather than a separate chip.
  • unlike computers, which are oriented toward decision-making and operator control, PLCs are oriented toward working with machines through extensive input of sensor signals and output of signals to actuators;
  • unlike embedded systems, PLCs are manufactured as stand-alone products, separate from the equipment they control.

In control systems for technological objects, logical instructions, as a rule, predominate over arithmetic operations on floating-point numbers, which makes it possible, with the relative simplicity of a microcontroller (8- or 16-bit buses), to obtain powerful systems operating in real time. In modern PLCs, numerical operations are implemented in their programming languages on a par with logical ones. All PLC programming languages give easy access to bit manipulation in machine words, unlike most high-level programming languages of modern computers.

Invention and early development

The first logic controllers appeared in the form of cabinets with a set of interconnected relays and contacts. This circuit could not be changed after the design stage and was therefore called hard-wired logic. The world's first programmable logic controller, in 1968, was the Modicon 084 (1968) (from "modular digital controller"), which had 4 KB of memory.

The term PLC was introduced by Odo Josef Struger (Allen-Bradley) in 1971. He also played a key role in unifying PLC programming languages and adopting the IEC 61131-3 standard. Together with Richard Morley (Modicon), they are called the "fathers of the PLC". Alongside the term PLC, the term microprocessor-based command device was widely used in the 1970s.

In the first PLCs, which replaced relay logic controllers, the operating logic was programmed using an LD (ladder diagram) wiring scheme. The device had the same principle of operation, but the relays and contacts (other than the input and output ones) were virtual, that is, they existed in the form of a program executed by the PLC's microcontroller. Modern PLCs are freely programmable.

PLCs emerged in the late 1960s in the U.S. automotive industry and were developed to replace relay logic systems. Previously, the control logic for manufacturing consisted mainly of relays, cam timers, drum sequencers and dedicated closed-loop controllers.

The hard-wired nature hindered design engineers from changing the process. Changes would require rewiring and careful updating of the documentation. If even one wire was out of place or one relay failed, the entire system would fail. Technicians often spent hours troubleshooting, examining diagrams and comparing them with the existing wiring. When general-purpose computers became available, they were soon applied to controlling the logic of industrial processes. These early computers were unreliable and required specialist programmers and strict control of operating conditions such as temperature, cleanliness and power quality.

The PLC offered several advantages over earlier automation systems. It tolerated the industrial environment better than computers, was more reliable and compact, and required less maintenance than relay systems. It could be easily expanded with additional input/output modules, whereas relay systems required complex hardware changes when reconfigured. This made it easier to iterate on the design of a production process. Thanks to a simple programming language focused on logic and switching operations, it was more user-friendly than computers using general-purpose programming languages. It also made it possible to monitor its operation. Early PLCs were programmed in ladder logic, which closely resembled a schematic diagram of relay logic. This program notation was chosen to reduce the need for training existing technicians. Other PLCs used a form of instruction list programming based on a stack-based logic solver.

Modicon

In 1968, GM Hydramatic (the automatic transmission division of General Motors) issued a request for proposals for an electronic replacement for hard-wired relay systems, based on a white paper written by engineer Edward R. Clark. The winning proposal came from Bedford Associates of Bedford, Massachusetts. The result was the first PLC, built in 1969 and designated 084 because it was Bedford Associates' eighty-fourth project.

Bedford Associates founded a company to develop, manufacture, sell and service this new product, which they called Modicon (meaning modular digital controller). One of the people who worked on this project was Dick Morley, who is considered the "father" of the PLC. The Modicon brand was sold in 1977 to Gould Electronics, and later to Schneider Electric, the current owner.

One of the first 084 models built is now on display at the Schneider Electric facility in North Andover, Massachusetts. It was given back to Modicon by GM when the unit was decommissioned after almost twenty years of continuous service. Modicon used the nickname 84 at the end of its product range until the 984 model appeared.

Allen-Bradley

In a parallel development, Odo Josef Struger is also sometimes called the "father of the programmable logic controller". He took part in inventing the Allen-Bradley programmable logic controller between 1958 and 1960 and is credited with coining the acronym PLC. Allen-Bradley (now a brand owned by Rockwell Automation) became a major PLC manufacturer in the United States during his tenure. Struger played a leading role in developing the IEC 61131-3 PLC programming language standards.

Early programming methods

Many early PLCs could not represent logic graphically, so it was instead represented as a series of logical expressions in some Boolean format, similar to Boolean algebra. As programming terminals evolved, it became more common to use ladder logic, since it was a familiar format used for electromechanical control panels. Newer formats exist, such as state logic and function block (which is similar to the way logic is displayed when using digital integrated logic circuits), but they are still not as popular as ladder logic. The main reason for this is that PLCs solve the logic in a predictable and repeating sequence, and ladder logic allows the person writing the logic to see any problems with the timing of the logic sequence more easily than would be possible in other formats

Until the mid-1990s, PLCs were programmed using proprietary programming panels or dedicated programming terminals, which often had special function keys representing the various logical elements of PLC programs. Some proprietary programming terminals displayed the elements of PLC programs as graphic symbols, but plain ASCII characters represented contacts, coils and wires. Programs were stored on cassette tapes. Printing and documentation capabilities were minimal because of a lack of memory. The oldest PLCs used non-volatile magnetic core memory.

Types of PLCs

  • Basic PLCs,
  • Programmable (smart) relays,
  • Software PLCs based on IBM PC-compatible computers (SoftPLC),
  • PLCs based on the simplest microprocessors (i8088/8086/8051, etc.),
  • Engine control unit (ECU) controller (electronic engine control system).

PC-based controller

It is precisely this direction that has been developing considerably in recent times, and this is due to certain reasons. These reasons are:

  • Increased reliability of PCs.
  • Availability of various PC modifications in ordinary and industrial versions.
  • Use of open architecture.
  • Ability to connect any I/O modules (field interface modules) produced by other companies.
  • Ability to use a wide range of existing, proven software.

These controllers are used to control small self-contained objects in industry, in specialized automation systems in medicine and in other areas. The controller performs functions that involve complex processing of measurement information with the calculation of several control actions, while the total number of inputs/outputs does not exceed a few dozen. The main advantages of these controllers are a large volume of computation in a fairly short period of time, similarity to the operating conditions of office PCs, and the possibility of programming in a high-level language. Hardware support is provided by ordinary controllers with functions of in-depth diagnostics and fault elimination without stopping the controller's operation.

Local programmable controller

A local programmable controller (LPC) is subject to the following classification:

  • Embedded in equipment and forming an integral part of it
  • Stand-alone, implementing monitoring and control functions

These controllers have medium computing capability, i.e., power. It is a comprehensive characteristic that depends on the frequency and word length of the computer and on the amount of RAM. To exchange information with other automation systems, local controllers have several physical ports. These controllers implement typical functions of measurement information processing, interlocking, regulation and programmed logic control. Emergency protection systems use a special type of local controller, since these are distinguished by high reliability, survivability and speed. They also provide full fault diagnostics with fault localization, and redundancy of components and of the device as a whole.

PLC design

A PLC often consists of the following parts:

  • a central chip (a microcontroller or an FPGA chip), with the necessary supporting circuitry;
  • a real-time clock subsystem;
  • non-volatile memory;
  • serial input/output interfaces (RS-485, RS-232, Ethernet)
  • protection and voltage conversion circuits on the PLC's inputs and outputs.

Usually, an input or output of a PLC cannot be connected directly to the corresponding output of the central chip. These outputs are characterized by low voltage levels, usually from 3.3 to 5 volts. PLC inputs and outputs usually have to work with voltages of 24 V DC or 220 V AC. Therefore, amplifying and protective elements must be provided between the PLC output and the chip output.

Control system structures

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
Rectangular DeviceNet connector on the SST 5136-DNS-200 interface module, which acts as a gateway for the SIEMENS SIMATIC S7 (ET 200S).
  • Centralized: processor, input/output and communication modules are installed in the PLC rack, often on a backplane. If the system needs to be expanded beyond the limits of the existing rack, expansion modules are added, providing scalability within a single cabinet. Sensors and actuators are connected by individual wires directly to the input/output modules, through matching modules to the inputs/outputs of signal modules, or (if the device has a bus interface) through a communication module (bridge); when a fieldbus such as AS-i is used, the actuator can be powered over the bus while control signals are transmitted at the same time.
  • Distributed: sensors and actuators located far from the PLC cabinet are connected to the PLC via communication channels (through communication modules or processors) and, possibly, expansion racks, using master-slave connections.

PLC interfaces

  • RS-232
  • RS-485
  • Modbus
  • CC-Link
  • Profibus
  • DeviceNet
  • ControlNet
  • CAN
  • AS-Interface
  • Industrial Ethernet

Remote control and monitoring

  • SCADA
  • operator panels
  • Web interface

Architecture

A PLC is an industrial microprocessor-based controller with programmable memory used to store program instructions and various functions. It consists of:

  • a processor unit (CPU), which interprets the 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, which stores data from the inputs and the program to be executed by the processor,
  • an input and output interface, through which the controller receives data from and sends data to external devices,
  • a communication interface for receiving and transmitting data over communication networks from/to remote PLCs.

A PLC requires a programming device, which is used to develop the program and then load it into the controller's memory.

Modern PLCs usually contain a real-time operating system such as OS-9 or VxWorks.

Mechanical design

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A compact PLC with 8 inputs and 4 outputs.
Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A modular PLC with an EtherNet/IP module, discrete and analog I/O, with some slots empty.

There are two types of mechanical design for PLC systems. A single box, or brick, is a small programmable controller that fits all its components and interfaces in one compact enclosure, although additional expansion modules for inputs and outputs are usually available. The second type of design, the modular PLC, has a chassis (also called a rack) that provides space for modules with various functions, such as a power supply, a processor, a selection of I/O modules and communication interfaces, all of which can be configured for a specific application. [19]Several racks can be managed by a single processor and can have thousands of inputs and outputs. Either a special high-speed serial I/O link or a comparable communication method is used, so that racks can be distributed separately from the processor, which reduces wiring costs for large plants. Options are also available for mounting I/O points directly on the machine and using quick-disconnect cables for sensors and valves, which saves time on wiring and component replacement.

Discrete and analog signals

Discrete (digital) signals can take only on or off values (1 or 0, true or false ). Examples of devices that provide a discrete signal include limit switches , photoelectric sensors and encoders . [20] 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 a 24 V DC input, with values above 22 V DC representing o n , values below 2 V DC representing o ff., and intermediate values undefined.

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. They are usually interpreted as integers with various ranges of accuracy, depending on the device and the number of bits available to store the data. [20] For example, an analog input of 0 to 10 V or 4-20 mA will be converted into an integer value from 0 to 32,767. The PLC will accept this value and scale it into the required process units so that an operator or a program can read it. Proper integration will also include filtering time to reduce noise, as well as high and low limits for reporting faults. [21] Current inputs are less sensitive to electrical noise (for example, from welders or electric motor starts) than voltage inputs. The distance between the device and the controller is also a concern, since the maximum distance a good-quality 0–10 V signal can travel is very short compared with a 4–20 mA signal. A 4-20 mA signal can also indicate if a wire has been disconnected along the way, since it then returns a 0 mA signal.

Redundancy

Some special processes need to run continuously with a minimum of unwanted downtime. Therefore, it is necessary to design a fault-tolerant system that can handle the process with failed modules. In such cases, to increase system availability in the event of a hardware component failure, redundant CPU or I/O modules with the same functionality can be added to the hardware configuration to prevent a full or partial process shutdown caused by a hardware failure. Other redundancy scenarios may involve safety-critical processes; for example, large hydraulic presses may require both PLCs to turn on an output before the press can stroke, in case one output fails to turn off properly.

PLC programming languages

PLCs are programmed using the standardized IEC languages of the IEC 61131-3 standard

Programming languages (graphical)

  • LD (Ladder Diagram) — the relay-logic language, the most widespread language for PLCs
  • FBD (Function Block Diagram) — the function block language, the 2nd most widespread language for PLCs
  • SFC (Sequential Function Chart) — the state diagram language, used for programming state machines
  • CFC (Continuous Function Chart) — not certified by IEC 61131-3, a further development of FBD

Programming languages (textual)

  • IL (Instruction List) — an assembler-like language
  • ST (Structured Text) — a Pascal-like language
  • C-YART — a C-like language (YART Studio)

Structurally, in IEC 61131-3 the execution environment is a set of resources (in most cases this is the PLC itself, although some powerful computers running multitasking operating systems make it possible to run several softPLC-type programs and emulate several resources on a single CPU). A resource provides the ability to execute tasks. Tasks consist of a set of programs. Tasks can be invoked cyclically, on an event, or at the maximum frequency.

A program is one of the types of program organization units (POU). POUs can be of the program, function block and function types. In some cases, non-standard languages are used to program PLCs, for example: algorithm flowcharts, a C-oriented development environment for PLC programs, and HiGraph 7, a control language based on system state graphs.

Tools for programming PLCs in the IEC 61131-3 languages may be specialized for a particular PLC family or universal, working with several (but by no means all) types of controllers:

  • CannyLab
  • CoDeSys
  • ISaGRAF
  • KRUGOL IDE
  • Beremiz
  • KLogic

PLC programming

Programmable logic controllers are designed to be used by engineers without programming experience. For this reason, a graphical programming language called Ladder Diagram (LD, LAD) was developed first. It resembles the schematic diagram of a system built with electromechanical relays, and it was adopted by many manufacturers and later standardized in the IEC 61131-3 control systems programming standard . As of 2015, it is still widely used because of its simplicity.

As of 2015, most PLC systems conform to the IEC 61131-3 standard, which defines 2 textual programming languages: Structured Text (ST; similar to Pascal ) and Instruction List (IL); as well as 3 graphical languages: ladder diagram , function block diagram (FBD) and sequential function chart (SFC). Instruction List (IL) was declared deprecated in the third edition of the standard.

Modern PLCs can be programmed in a variety of forms, from the relay-derived ladder logic to programming languages such as specially adapted dialects of BASIC and C .

Although 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 can never be completely interchangeable between different manufacturers. Even within the same product line of one manufacturer, different models may not be directly compatible

  • Configurable: several programs are stored in the PLC, and the required version of the program is selected through the PLC keypad;
  • Freely programmable: the program is loaded into the PLC through its dedicated interface from a personal computer using the manufacturer's special software, sometimes with the help of a programmer.

PLC programming differs from traditional programming. This is because PLCs execute an endless sequence of program cycles, in each of which:

  • the input signals are read, including operator actions such as those on a keypad;
  • the output signals are calculated and logical conditions are checked;
  • control signals are issued and, if necessary, the operator interface indicators are controlled.

Therefore, PLC programming uses flags — Boolean variables indicating that the program algorithm has passed through particular branches of conditional jumps. Hence, PLC programming requires a certain skill from the programmer.

For example, consider the initialization procedures of the system after a reset or power-up. These procedures need to be executed only once. Therefore, a Boolean variable (flag) of initialization completion is introduced, which is set when initialization finishes. The program checks this flag, and if it is set, it bypasses the execution of the initialization code.

PLC programming device

PLC programs are usually written on a programming device, which can take the form of a desktop console, special software on a personal computer, or a handheld programming device . The program is then downloaded to the PLC directly or over a network. It is stored either in non-volatile flash memory or in battery-backed RAM . In some programmable controllers, the program is transferred from a personal computer to the PLC through a programming board that writes the program to a removable chip such as an EPROM .

Manufacturers develop software for programming their controllers. In addition to the ability to program PLCs in several languages, they provide common functions such as hardware diagnostics and maintenance, software debugging and offline simulation.

A program written on a personal computer, or uploaded from the PLC using the programming software, can easily be copied and backed up to external storage.

PLC simulation

PLC simulation is a feature often found in PLC software. It allows testing and debugging early in a project's development.

An incorrectly programmed PLC can lead to reduced productivity and dangerous situations. Testing the project in simulation improves its quality, increases the level of equipment-related safety, and can save costly downtime during the installation and commissioning of automated control applications, since many scenarios can be tried out and tested before the system is activated.

Functionality

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A PLC system in a rack, left to right: power supply unit (PSU), CPU, interface module (IM) and communications processor (CP).
Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A control panel with a PLC (gray elements in the center). The unit consists of separate elements, left to right: power supply , controller, relay units for input and output

The main difference from most other computing devices is that PLCs are designed for operation in harsher environments (for example, dust, humidity, heat, cold) and are therefore resistant to them, and that they offer extensive input/output (I/O) for connecting the PLC to sensors and actuators . PLC inputs can include simple digital elements such as limit switches , analog variables from process sensors (for example, temperature and pressure), and more complex data such as data from positioning systems or machine vision . [27] PLC outputs can include elements such as indicator lamps, sirens, electric motors , pneumatic or hydraulic cylinders, magnetic relays , solenoids or analog outputs. The I/O devices may be built into a simple PLC, or the PLC may have external I/O modules connected to an industrial bus or a computer network that connects to the PLC.

The functionality of PLCs has evolved over the years and includes 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 roughly equivalent to those of desktop computers. PLC-like programming combined with remote I/O hardware allows a general-purpose desktop computer to overlap with some PLCs in certain applications. Desktop computer controllers have not been widely accepted in heavy industry because desktop computers run on less stable operating systems than PLCs, and because desktop computer hardware is typically not rated for the same levels of temperature, humidity and vibration tolerance and durability as the processors used in PLCs. Operating systems such as Windows do not lend themselves to the execution of deterministic logic, so the controller cannot always respond to changes in input state with the timing consistency expected from a PLC. Desktop logic applications find use in less critical situations,

Basic functions

The 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 whether the input state is on or not. Just as a series of relay contacts performs a logical AND function, not allowing current to pass until all the contacts are closed, so a series of "check if on" instructions activates 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 PLC models limit the number of series and parallel instructions in one "rung" of logic. The output of each rung sets or clears a memory 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 several separate rungs. Unlike physical relays, there is usually no limit to the number of references to an input, output or internal coil in a PLC program.

Some PLCs enforce a strict left-to-right, top-to-bottom order of execution for evaluating the rung logic. This differs from electromechanical relay contacts, which, in a sufficiently complex circuit, can pass current either from left to right or from right to left, depending on the configuration of the surrounding contacts. The elimination of these "sneak paths" is either a bug or a feature, depending on the programming style.

More advanced PLC instructions may be implemented as function blocks, which perform some operations when enabled by a logical input and which produce output signals to indicate, for example, completion or errors, while internally manipulating variables that may not correspond to discrete logic.

Communication

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 takes place over various industrial network protocols such as Modbus or EtherNet/IP . Many of these protocols are manufacturer-specific.

PLCs used in larger I/O systems may have peer-to-peer (P2P) communication between processors. This allows individual parts of a complex process to have individual control while allowing the subsystems to coordinate over the communication link. These communication links are also often used for HMI devices such as keypads or PC-type workstations .

In the past, some manufacturers offered dedicated communication modules as an option when the processor had no built-in network connectivity.

User interface

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A control panel with a PLC user interface for regulating a thermal oxidizer .

A PLC may need to interact with people for the purpose of configuration, alarm reporting or everyday control. A human-machine interface (HMI) is used for this. HMIs are also called man-machine interfaces (MMI) and graphical user interfaces (GUI). A simple system may use buttons and indicators 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 through a communication interface.

The scan cycle process

A PLC operates in a program scan cycle, in which it executes its program repeatedly. The simplest scan cycle consists of 3 steps:

  1. read the inputs,
  2. execute the program,
  3. write the outputs.

The program follows a sequence of instructions. It typically takes the processor several tens of milliseconds to evaluate all the instructions and update the state of all the outputs. If the system contains remote I/O - for example, an external rack with I/O modules - this introduces additional uncertainty into the response time of the PLC system.

As PLCs became more advanced, methods were developed to change the sequence of ladder logic execution, and subroutines were implemented. This advanced programming can be used to save scan time for high-speed processes; for example, parts of the program used only for setting up the machine can be separated from those required for operation at higher speed. Newer PLCs now have the ability to run the logic program synchronously with the I/O scan. This means that I/O operations are updated in the background, and the logic reads and writes values as needed during the logic scan.

Special-purpose I/O modules may be used where the PLC scan time 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 direction of encoder rotation. This allows even a relatively slow PLC to still interpret the counted values to control the machine, since the accumulation of pulses is done by a dedicated module that is not affected by the speed of program execution.

Security

In his 1998 book, E. A. Parr pointed out that although most programmable controllers require physical keys and passwords, the lack of strict access control and version control systems, together with an easy-to-understand programming language, make it likely that unauthorized changes to programs will occur and go unnoticed.

Until the discovery of the Stuxnet computer worm in June 2010, little attention was paid to PLC security. Modern programmable controllers generally contain real-time operating systems, which can be vulnerable to exploits in the same way as desktop operating systems such as Microsoft Windows . PLCs can also be attacked by gaining control of a computer they communicate with. Since 2011, this concern has been growing as networks become more common in PLC environments, connecting previously separate production and office networks. [33]

Safety PLCs

In recent years, "safety" PLCs have become popular, either as standalone models or as functional and safety hardware added to existing controller architectures ( Allen-Bradley GuardLogix, Siemens F-series, etc.). They differ from conventional PLC types in that they are suitable for safety-critical applications, for which PLCs have traditionally been supplemented with hard-wired safety relays and areas of memory dedicated to safety instructions. The safety level standard is SIL . For example, a safety PLC might be used to control access to a robotic cell with trapped-key access, or perhaps to control the shutdown response to an emergency stop on a conveyor production line. Such PLCs typically have a restricted set of regular instructions, supplemented by safety instructions designed to interface with emergency stops, light curtains and so on. The flexibility such systems offer has led to a rapid growth in demand for these controllers.

PLCs compared with other control systems

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A PLC installed in a control panel
Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
A control center with a PLC for an RTO .

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 can be expected over the lifetime of the system. 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 specialized systems, so the cost of a packaged PLC is low compared with 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 components, which can be chosen optimally instead of a "generic" solution,

Programmable controllers are widely used for motion, positioning or torque control. Some manufacturers produce motion control units that integrate with PLCs so that G-code (including CNC machines ) can be used to control machine motions.

Chip PLC / embedded controller

Programmable Logic Controller (PLC): Design, Types and How It Differs from a Computer
Nano ACE PLC and Chip PLC for small machine builders / small or medium volumes.

For small machines with small or medium volume. PLCs that can execute PLC languages such as Ladder, Flow-Chart / Grafcet and so on, in a language that is easy to use, modify and maintain. This sits between the classic PLC / Micro-PLC and microcontrollers.

Cam timers

For high volumes or very simple fixed automation tasks, different methods are used. For example, a cheap household dishwasher will be controlled by an electromechanical cam timer costing only a few dollars to produce.

Microcontrollers

A microcontroller-based design would be appropriate where hundreds or thousands of units will be produced, and so the development cost (designing power supplies, I/O hardware, and the need for testing and certification) can be spread over many sales, and where the end user does not need to change the control. Automotive applications are an example; millions of units are produced each year, and very few end users modify the programming of these controllers. However, in some specialized vehicles, such as transit buses, it is economical to use PLCs instead of custom-designed controls, because the volumes are low and the development cost would be uneconomical.

Single-board computers

Very complex process control, such as that used in the chemical industry, may require algorithms and performance beyond the capability of even high-performance PLCs. Very fast or precise control may also require custom solutions; for example, aircraft flight controls. Single-board computers using semi-custom or fully proprietary hardware may be chosen for very demanding control applications where high development and maintenance costs can be supported. "Soft PLCs" running on desktop computers can interface with industrial I/O hardware while executing programs in a version of a commercial operating system adapted for process control needs.

The growing popularity of single-board computers has also influenced the development of PLCs. Traditional PLCs are usually closed platforms, but some newer PLCs (for example the ctrlX from Bosch Rexroth, the PFC200 from Wago, the PLCnext from Phoenix Contact, and the Revolution Pi from Kunbus) provide the functionality of a traditional PLC on an open platform.

PID controllers

PLCs can include logic for a single-variable analog closed-loop control circuit, a PID controller. A PID loop can be used, for example, to control the temperature of a manufacturing process. Historically, PLCs were usually configured with only a few analog control loops; where processes require hundreds or thousands of loops, a distributed control system (DCS) would be used instead. As PLCs became more powerful, the boundary between DCS and PLC applications became blurred.

Programmable logic relays (PLR)

In more recent years, small products called programmable logic relays (PLRs) or smart relays have become more common and accepted. They are similar to PLCs and are used in light industry where only a few I/O points are required and low cost is desirable. These small devices generally share a common physical size and shape across several manufacturers, and are rebranded by the makers of larger PLCs to fill out their low-end product range. Most of them have from 8 to 12 discrete inputs, from 4 to 8 discrete outputs, and up to 2 analog inputs. Most such devices include a tiny, postage-stamp-sized LCD screen for viewing simplified ladder logic (only a very small part of the program is visible at any one time) and the status of the I/O points, and these screens are usually accompanied by a 4-way rocker button plus four more separate buttons, similar to the buttons on a VCR remote control, which are used to navigate and edit the logic. Most of them have a small connector 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 set of buttons for this purpose. Unlike regular PLCs, which are usually modular and greatly expandable, PLRs are usually neither modular nor expandable, but their price can be two orders of magnitude lower than that of a PLC, and they still offer robust design and deterministic execution of logic.

A variant of PLCs used in remote locations is the remote terminal unit, or RTU. An RTU is typically a ruggedized, low-power PLC whose key function is to manage the communication links between the site and a central control system (usually SCADA) or, in some modern systems, the "Cloud". Unlike factory automation, which uses high-speed Ethernet, communication links to remote sites are often radio-based and less reliable. To allow for the reduced reliability, an RTU will buffer messages or switch to alternative communication paths. When buffering messages, the RTU timestamps each message so that the full history of site events can be reconstructed. RTUs, being PLCs, have a wide range of inputs/outputs and are fully programmable, usually with languages from the IEC 61131-3 standard, which is common to many PLCs, RTUs and DCSs. In remote locations it is common to use an RTU as a gateway for a PLC, where the PLC performs all the control of the site and the RTU manages communications, timestamping of events and monitoring of auxiliary equipment. At sites with a small number of I/O operations, the RTU may also be the site PLC and perform both communication and control functions.

See also

  • Microcontroller
  • Industrial controller
  • Industrial automation
  • Controller
  • Industrial control systems
  • Industrial safety systems
  • PLC technician
  • 1-bit architecture
  • User interface
  • List of human-computer interaction systems.
created: 2021-03-13
updated: 2026-09-29
289



Was this answer useful?
Choose a quick rating so we can improve the next answer for you.
How satisfied are you?


Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Industrial programming. programming of controllers"

Terms: Industrial programming. programming of controllers