GE / IP FANUC Series 90/30 In Stock
A PLC is a large standalone control unit that is pre-packaged and typically rack-mounted in a control cabinet near the equipment or the process being controlled. On the other hand, an embedded system is designed as a single board and can be fully integrated into a product. For example, a smart TV consists of an embedded system integrated into its body. However, in spite of the differences in hardware build-ups, an embedded system can easily perform the functionalities of a PLC.
Though embedded system design engineers view PLC engineers as dinosaurs. While PLC experts view embedded systems as overly complex, risky, and finicky. But some electronics designers generally consider all PLCs to be embedded systems, but not all embedded systems are PLCs. So, which is the best control option between the two? The answer of course is that it depends on your application requirements and sometimes your budget. This article provides a detailed comparison between PLCs and Embedded Systems, which can assist you to structure the decision-making process when considering the two control options.
An embedded system is processor-based computer hardware that has software that is designed to perform dedicated functions, either as a part of a larger system or as an independent control system. The processor used can be a microcontroller or a microprocessor. A microcontroller is simply a microprocessor with integrated memory and peripheral interfaces. Microprocessors usually require more support circuitry compared to microcontrollers.
The complexity of an embedded system highly depends on the control task for which it is intended to perform. Complexities can range from a single processor to a suite of processors with connected networks and peripherals; from zero users interface to advanced graphical user interfaces. Applications for embedded systems range from microwaves and digital watches to avionics and hybrid vehicles. Currently, 98% of all the microprocessors manufactured annually are used in embedded systems.
First, embedded systems are designed to be task-specific. Second, they typically consist of three components namely: hardware, firmware, and software. And since they are built for specialized tasks, they can be integrated into a larger system to perform a specific function within the system. In such cases, they are required to carry out their functions under a time constraint, so that the larger system can continue functioning properly.
As previously mentioned, an embedded system can either be microcontroller-based or microprocessor-based; both of which are integrated circuits that give the system computing power. Additionally, embedded systems are mainly used for real-time sensing and computing in Internet of Things (IoT) devices. They can vary both in functionality and complexity, which affects the type of hardware, firmware, and software used.
Embedded systems generally consist of three main components but they can include more elements depending on the complexity of the system. The three main components include:
In terms of hardware, a typical embedded system would consist of the following components:
A typical embedded system functions as part of a complete mechanical or electrical system. The embedded system sensors read external inputs, the A-D converters change that input data into a format that is readable by the processor, the processor then converts that information into useful output for the actuators connected to the embedded system. Note, the embedded system’s processors interpret the input data with the assistance of the software stored in the CPU’s memory.
Also, an embedded system has communication ports. It uses the communication ports to exchange data between its processor and peripheral devices, but in other cases, it can communicate with other embedded systems using a communication protocol. The peripheral devices connect embedded systems with the real world, linking input and output devices.
Note, embedded systems are managed by Digital Signal Processors (DSP) or microcontrollers, Field Programmable Gate Arrays (FPGA), Application-Specific Integrated Circuits (ASIC), Graphics Processing Unit (GPU) technology, and gate arrays. All the aforementioned processing systems are integrated with other components which are dedicated to handling mechanical and/or electrical interfacing to the embedded systems. The term System on Chip (SoC) is frequently used to include multiple interfaces and processors on a single chip. High-volume embedded systems usually include SoCs. Examples of SoC types are the Field Programmable Gate Arrays (FPGA) and Application-Specific Integrated Circuits (ASIC).
A Programmable Logic Controller (PLC) is a compact and ruggedized industrial computer that can receive input data through its input modules and send control commands through its output modules. They are mainly utilized in the control of manufacturing processes and industrial machines, assembly lines, robotic devices, or any other control activity that requires high reliability, process fault diagnosis, and ease of programming.
The PLC monitors relevant data inputs by collecting information from the connected input devices, it then sends the collected data to its CPU for processing. On processing the data, the CPU triggers the appropriate outputs based on pre-programmed parameters. Therefore, depending on the state of the inputs and outputs, and the programmed logic, a PLC can monitor and control functions or processes such as operating temperature, machine productivity, automatic start and stop processes, generating alarms whenever machine malfunctions, and many other tasks.
From the above description, an embedded system can be defined as a dedicated set of hardware, firmware, and software functioning together to provide application-specific control functionality. From an electronic engineer’s point of view, it consists of a microcontroller (MCU) or microprocessor, memory chips, communication modules, power management circuits, and Input/Output functionality. This structure might sound similar to a PLC system, but there are distinct functional and operational differences between them. In this section, we’ll discuss the key factors that differentiate PLCs from Embedded Systems:
A) Configuration: Embedded systems are mainly designed as a single board, which significantly reduces their purchase prices. On the other hand, PLCs are designed as modular systems and are easily replaceable whenever a specific module fails.
B) Programming: PLCs are generally programmed in Ladder Diagrams (LD); a language that is easy to understand. This makes PLC programming much easier and less time-consuming. However, embedded systems are programmed in high-level languages such as C and C++, which may be difficult to understand. Also, embedded systems firmware takes longer to write and configure. In addition, you cannot reprogram or modify the application program of an embedded system as you would do with a PLC’s application code.
C) Operating Environment Reliability: If your intended control application involves operating in harsh environments with extreme vibration, temperature, and shock, then the best choice would be a PLC. Unless you are set on developing a customized embedded system for these conditions and you have an adequate budget for the same. Also, there’s a good chance you won’t have sufficient lab testing for your customized embedded system, which is necessary to make sure that the system can withstand such conditions. But PLCs are typically ruggedized and pre-tested to withstand a variety of harsh operating environments.
D) Certification: Various industrial control applications require that all electronic control systems be certified by standard agencies and organizations. This is quite easy with PLCs, as branded PLCs are usually pre-certified by CE, UL, RoHS (Restriction of Hazardous Substances), SIL (Safety Integrity Level), and other certifications. With embedded systems, certified modules may be available, but the integrated system may require further assessment and lab testing to demonstrate conformance with certification standards. Thus, if the cost of certifying your customized embedded system outweighs the cost of purchasing an already certified PLC, then you should choose the latter.
E) Unit costs and Development costs: Once developed, a localized system can cost less than PLC’s unit cost by about 10%. However, developing a localized embedded system will typically cost more as there’s more interfacing and integration to be built up. In addition to the hardware unit costs, PLCs have reoccurring software license costs in addition to the hardware unit costs, the software license has to be renewed on an annual basis. But embedded system software tends to be open source, so it’s free with some exceptions. A key trade-off between the two, in this case, is the expected production volume, balancing the reoccurring licensing costs (for PLCs) with the non-reoccurring development costs (for embedded systems).
F) Flexibility: Most of the PLC technologies such as CPU, programming language, operating system, user interface, and development environment are already made. But with embedded systems, you’re free to make the choices for the aforementioned elements. This is both advantageous and disadvantageous. That making the technology choices in embedded systems can be confusing and daunting but it gives you the chance to develop a highly flexible system. A PLC on the other hand is a ready-made solution but you are constrained by the technology decisions already made by its manufacturer. For instance, even if you find that you don’t like a PLC’s user interface library, there isn’t much you can do about it; you’re just stuck with it.
G) Code libraries and languages: PLCs are normally restricted to IEC 61131 standardized languages such as Ladder Logic, Function Block Diagram (FBD), Structured Text (STX), etc. These programming languages are simple to use but they are limited in terms of the complexity of the functions they can implement. But it is possible to program Linux-based embedded systems in a variety of high-level languages like C#, C++, C, Python, Java, etc. This gives you a more powerful and flexible system, even though you’ll require more skills and expertise to be able to program in such high-level languages. In addition, programming languages for embedded systems can easily support standardized code across an installed base of products, as they are object-oriented in nature.
H) Version control: PLCs usually have their source code saved into a vendor-proprietary file format or “binary blob”. Embedded systems on the other hand are programmed in textual source code i.e., C/C++. Currently, version control for textual-based source code is highly developed with tools such as GitHub. However, version control for PLCs is still a challenge, as it relies on manufacturer-specific tools which are not yet able to match the power of Git.
I) User Interfaces: PLC systems are renowned for having outdated User Interfaces (UIs) similar to 1990s websites. This of course has improved with time but current PLC UIs cannot compare to embedded UI frameworks in terms of functionality. In fact, with embedded systems, you have the choice of more powerful UI frameworks like JavaFX and Qt.
J) Remote Monitoring and Remote Updates: Initially, PLCs were conceived as isolated, factory-setting-based systems that are not connected to the internet. Nevertheless, major PLC vendors like Allen-Bradley have made significant changes to improve this through the use of EtherNet/IP communication protocols, but still, PLCs don’t have the remote power of an embedded system. For example, when using an embedded system, you can easily set up a web server on board as well as configure Continuous Integration (CI)/Continuous Delivery (CD) pipelines to push out new source code improvements to the field networks.
K) Real-Time: PLCs are equipped with real-time schedulers which facilitate running specific control loops at desired timing intervals. With an embedded system, this can only be achieved using an RTOS (Real-Time Operating System), which needs more skills and expertise to select and configure than a PLC.
L) Technical Support: You can easily contact support teams for PLCs from a reputable company or vendor if you have any questions or problems with the system. Although this comes at a cost. However, with embedded systems, you’re usually on your own. But you can outsource a registered contractor to develop your localized embedded system, which will ensure that you’ll receive a decent amount of technical support. Also, some embedded system board manufacturers usually provide application support, but it isn’t as reliable as with the PLC vendors.
The following are examples of applications where PLCs are the best choice:
Embedded systems are used in a wide range of control applications across an array of industries. Some typical examples include:
Some typical examples include:
To summarize, a PLC is a ready-made embedded system that can be deployed “in situ” to an end application with minimal engineering overheads. As an application design engineer, you won’t have to worry about the PLC’s power requirements, or whether the system will withstand extreme industrial conditions such as EMI/RFI noise or extended temperatures. You can straightaway concentrate on meeting the end requirements of the control task that the PLC is intended for.
However, as an embedded system design engineer, you will be dealing directly with the hardware requirements and all the issues associated with them. These include managing power requirements, deciding which bus to use for peripherals communication, managing the sourcing/sinking voltage capacity of I/O pins, or deciding how much non-volatile memory needs to be allocated, and so on.
In conclusion, the choice of PLCs or Embedded Systems heavily depends on the end application. Also, in contrast to the popular belief among embedded system design engineers, PLCs are still an excellent choice when straightforward functionality/quick turnaround is required without space constraints. Therefore, whenever you are facing a choice between PLCs or Embedded Systems you should be as objective as possible, assessing the application needs against the differentiating factors discussed in this article.
PDF Supply Company, LLC. sells surplus and refurbished products, which are sourced through independent channels. All warranties and support, if applicable, are with PDF Supply Company, LLC. and not the manufacturer; manufacturer warranties do not apply. PDF Supply Company, LLC. is not an authorized distributor or representative for the listed manufacturers and makes no representations as to any quality control performed by any listed manufacturers on the products. The products listed on this website may vary as to their country of origin; the accessories, and other items included with the product; and the language used on the packaging, the parts, and any related instructions or printed material related to the products. PDF Supply Company, LLC. does not sell or license software that may be needed to operate certain hardware and customers must obtain any necessary software licensing, maintenance, or upgrades from the manufacturer or other authorized source. This website is not sanctioned or approved by any manufacturer or other authorized source. This website is not sanctioned or approved by any manufacturer or tradename listed. Designated trademarks, brand names and brands appearing herein are the property of their respective owners.