Programmable logic controller (PLC) is a type of industrial computer that makes a decision to help guide or monitor a process, often for factory automation or machine control in discrete applications, although some control processes (continuous, batch or hybrid). A PLC often accepts inputs from sensors and sends instructions to actuators. PLCs have been defined by the number of inputs/outputs they can control and by processing speeds. PLC programming occurs with IEC 61131-3 Programming Languages and some can accept other programming. A programmable automation controller (PAC) is a type of industrial logic device based on a PC (personal computer) platform.

PLCs, PACs Articles

Automation controllers, edge computing

Which devices to use? A multi-tasking controller combines functions of a PC-based software controller with visualization, PC applications, and input/output connections. Combining a scalable human-machine interface (HMI) system, supervisory control and data acquisition, and other functions can add edge functionality.

Does an application need a modern programmable logic controller (PLC) or an edge device? Attributes of each can help select the appropriate architecture for an application.

Integrated PC/PLC

A PLC brings about a vision of simple, proprietary device running a dedicated ladder logic program performing basic automation tasks, previously left to hard wired relays. Controllers are expected to be high performing, robust and modular, and have onboard high-level communications, standard/open connectivity, and simple integration with PC applications and model-based simulation. Some controllers have all these features and can “multi-task,” acting as a PLC, human-machine interface (HMI) and a standard PC in one compact device.

A modern multi-tasking controller combines the functions of a PC-based software controller with visualization (an HMI), PC applications (Microsoft Windows or Linux), and central input/output (I/O) connections in one compact device. Such controllers, with pre-installed and preconfigured PLC software controller for the control program, operates independently of Microsoft Windows (doesn’t run on Windows), ensuring high system availability. This enables the controller’s rapid start-up and supports Windows updates and reboot during ongoing operations. Failure of Microsoft Windows does not have an impact on the controller.

Applications for these optimized controllers include series machine manufacturing and for machines with distributed architectures. Such modular controllers minimize space and can be accommodated in compact control boxes on the machine, improving the cost-performance ratio. An industrial flat panel connected through the graphics interface can provide visualization, optionally with multitouch functionality. Since the PC is built in, no separate PCs are required. For commissioning, mouse and keyboard can be connected via standard onboard USB interfaces. At the same time, the gigabit Ethernet interfaces support high-performance connection to higher-level networks.

Many applications may benefit from a multi-tasking controller architecture. Compact, multi-tasking controllers are also expected to include standard functionality like built in safety, integrated security, built in diagnostics, and high-level motion control in one package.

Edge controller

Edge devices provide a platform to run analytics, predictive maintenance and other tools that help optimize production without interfering with production itself.

An edge computing device could be an industrial PC (IPC) or the edge functionality can be integrated in the automation device like an HMI panel. This way the HMI panel fulfills both requirements, ensuring stable production while allowing for a high degree of flexibility in running new programs or tools that help increase productivity.

New production concepts for Industry 4.0 don’t rely on the International Society of Automation (ISA) automation pyramid anymore. Instead, they split production in smaller and flexible units that exchange data on many levels. This requires flexible and scalable HMI systems where the same project and screens can be used on a 7-inch HMI panel, a supervisory control and data acquisition (SCADA) system or a smartphone. The data is available in real time on any device when needed without increased programming effort.

One possible use case might be to have the HMI device controlling the machine while the edge portion of the device collects additional data for predictive maintenance or runs complex algorithms for machine optimization.

Consider the application

Of course, this combined functionality isn’t just beneficial for HMI devices. PLC modules, drives and network devices with integrated edge functionality allows for further productivity increases.

Jim Wilmot is factory automation marketing manager at Siemens Industry Inc. Bernd Raithel is director product management and marketing, Siemens Factory Automation, Siemens Industry. Edited by Mark T. Hoske, content manager, Control Engineering, CFE Media,

KEYWORDS: Programmable logic controller, PC, HMI, edge computing 

Integrated PLC-PC-HMIs help digitalization. 

Edge computing can run analytics, predictive maintenance and other tools. 

Rugged applications benefit from updated control architectures. 


How will more advanced controller architectures help optimize applications?  


  • What is the difference between a PLC and a PAC?

    PLC (Programmable Logic Controller) and PAC (Programmable Automation Controller) are both types of programmable controllers that are used to control and automate industrial processes. A PLC is a specialized computer designed to control industrial equipment and processes, while a PAC is a more powerful and flexible controller that can handle a wider range of applications and provide more advanced capabilities.

    PLCs are designed for industrial control applications, such as manufacturing and process control. They are typically used to control machines, equipment and other industrial devices. PLCs have been in use for a long time and are widely adopted in the industry. They are typically used for simple control and sequencing applications and are frequently used for supervisory control and data acquisition (SCADA) systems.

    PACs, on the other hand, are a more recent development and are designed to combine the functionality of a PLC with the capabilities of a computer. PACs are typically more powerful and flexible than PLCs and they can be used for a wider range of applications, such as data acquisition, analysis and visualization. They are typically used for more advanced applications such as process control, data acquisition, motion control and distributed control systems (DCS).

  • What are the two main types of PLCs?

    The two main types of PLC (Programmable Logic Controller) are stand-alone PLCs and modular PLCs. Stand-alone PLCs are self-contained units that have all the necessary components, including the processor, input/output (I/O) modules and power supply, in one compact package. Modular PLCs, on the other hand, consist of separate components that can be assembled and configured to meet the specific needs of a particular application. These components include the processor, I/O modules and power supply, which can be added or removed as needed.

  • What is the most popular programming language for PACs?

    The most popular programming language for PACs (Programmable Automation Controllers) is typically ladder logic. Ladder logic is a programming language that uses a graphical representation of relay logic circuits. It is widely used in the industrial sector for controlling machines and processes and is considered to be one of the most intuitive and easy-to-use programming languages for PLCs and PACs. Ladder logic is also a very common language in the industry and many PLCs and PACs support it natively, which makes it a popular choice among engineers and technicians.

  • What is PLC programming?

    PLC programming refers to the process of creating a program that is used to control the operations of a PLC (Programmable Logic Controller). The program is typically written in a specialized programming language, such as ladder logic, function block diagram or sequential function chart, which are specifically designed for PLCs. The program is then loaded into the PLC's memory and executed by the PLC's processor to control the operations of the connected devices such as sensors, actuators and other equipment. PLC programming allows for automation of industrial processes, such as assembly lines, conveyor systems and machine control. It's commonly used in manufacturing, process control and building automation.

Some FAQ content was compiled with the assistance of ChatGPT. Due to the limitations of AI tools, all content was edited and reviewed by our content team.

Related Resources