Virtual Control Systems For Real World Applications
These days, a virtual PLC is not only for simulations; it can also be used to read real-world inputs, turn on outputs, or initiate motion. Follow along as we dive deep into the world of virtual PLCs.
A virtual control system, or vPLC, is a software-based PLC that is installed on an industrial server located somewhere on the network. While these systems are not new, they are gaining popularity with advancements in computer technology and the growing demand for IIoT solutions. With Siemens' release of the S7-1500V virtual PLC, integrators and factories have been building entire automated assembly lines with virtual PLCs, including Audi, with the official release of its Edge Cloud 4 production line. (source: Edge Cloud 4 Production: IT-based factory automation enters series production | Audi MediaCenter)

Figure 1. Automobile manufacturing using virtual PLCs in production equipment. Image used courtesy of Siemens
Follow along as we explore the differences between a physical PLC and a virtual PLC, and investigate the benefits and pitfalls of using a vPLC.
A ‘Typical’ Control System
In most control cabinets around the world, you will find a PLC, the brains behind controlling I/O and automating your process. PLC hardware has grown over the years, especially over the last 10-15 years, when they have benefited from multicore processors similar to those found in PCs, but still custom-designed for automation.
A virtual PLC is software-based and resides in an industrial computer or server. This software uses the high-end internal processor for processing the programmed logic. So, why use a vPLC if a standard PLC has custom-designed processors and is built for automation?

Figure 2. A common PLC installed in an electrical cabinet. Image used courtesy of Wikimedia Commons
Decoupling The Hardware
“Decoupling” is a term that is used to describe a trend in the automation world where there is a separation between software and proprietary hardware. With a PLC, each supplier has a proprietary software environment (IDE) for creating programs that run on their particular hardware. But with a virtual PLC, the program can be installed, cloned, or moved to any supporting computer regardless of the manufacturer or brand.
Upscaling And Upgrading
There are very few PLCs on the market that can be upgraded after purchase. You might be able to upgrade the memory, but the model often dictates the processing power. Allen-Bradley PLCs have a locked-in memory. If you discover halfway through your project tthat here is not enough memory, you will need to purchase a new PLC. With a virtual PLC, you can often create new PLC instances as the demands increase across the factory. Memory in a PC is often easily upgradable, and servers typically come with excessive space for additional memory.

Figure 3. Allen-Bradley Point I/O system. Image used courtesy of Rockwell Automation
I/O Architecture Overview
Virtual PLCs run on industrial PCs or servers that are hosted on the network, but how does that change the architecture of the I/O within the equipment? For the most part, it doesn’t. Most field I/O today uses some type of fieldbus communication technology such as Ethernet/IP, PROFINET, or Modbus TCP. All of these protocols use the Industrial Ethernet infrastructure that IT systems use for network communications.
When using a virtual PLC that resides within the IT department, the machine network will need to be exposed, which could cause some disruptions. This is where IT and OT need to cooperate and develop a well-laid-out topology of VLANs and network cabling to produce a secure yet efficient network.
Built For Automation
A standard PLC is designed and built by automation companies for the automation industry. They often withstand harsh conditions such as high heat, dust, or moist environments. Servers, even industrial servers, are designed for inconsequential processing tasks. If a server task fails, someone might lose a connection to their data, but if a task fails in a PLC, someone could lose a life or limb. PLCs are built to be rugged and deterministic. The Siemens family of processors has dual redundant processing capabilities to ensure there is no data loss during power outages. Typical servers do not have this type of functionality, so that should be weighed when choosing the right kind of hardware to host a virtual PLC. Keep it in a safe location, or ensure that it is built to withstand harsh conditions.

Figure 4. An industrial server with multiple drive slots that could be used to run a virtual PLC. Image used courtesy of Unsplash
Single Point Of Failure
Let's pretend we built a large assembly line consisting of over 100 different robots, hundreds of I/O points, and over 50 different servos all running on a single virtual PLC installed on a single server. This is called a single point of failure. If something were to happen to that server and the program becomes corrupt, the entire assembly line will go down.
Now imagine the entire factory, with over 20 different assembly lines all running on one server, and that server goes down. Your entire factory will come to a grinding halt. Some fail-safes can be implemented, such as RAID storage systems with automatic backups, redundant servers, and virtual machines (VMs) can be used for faster recovery.

Figure 5. OnLogic industrial edge server. Image used courtesy of OnLogic
The Future Of Virtual PLCs
With new automated equipment, it is becoming standard to include at least one industrial PC for data collection of alarms, recipe management, batch control, and OEE reporting, as well as running any IIoT or cloud applications. These IPCs are taking on more of a server-like appearance with supporting server-class hardware and software. This shift in the industry is causing some integrators and machine builders to look at using virtual PLCs to lower hardware costs and build a more dynamic control system that can be upgraded later.
While I don’t personally think that virtual PLCs will completely replace PLCs, I do believe they will start to play more of a role in the automation world. With a vPLC, you can offload some of the data handling from the machine automation ot the vPLC, utilizing smaller low-level control systems. Once that logic resides in the IT infasturcuter it become eaiser for cloud and IIoT apps to communicate with your automation equipment, thus building a smarter, more dynamic factory of the future.

This is a fascinating topic. Having worked as both a PLC programmer, a JavaScript programmer, and a DevOps engineer, I’ve seen firsthand how slowly industrial automation evolves compared to the breakneck speed of the software and IT world.
However, we can solve the ‘single point of failure’ issue common in traditional hardware. By containerizing vPLCs and deploying them across a Kubernetes (K8s) cluster, we can achieve true High Availability (HA) at the edge.
In this architecture, if one physical node fails, the orchestrator automatically redistributes the workload. This moves us away from expensive, proprietary redundancy modules and toward a more flexible, software-defined industrial stack.