PLC (Programmable Logic Controller) technology has been the backbone of industrial automation for years, enabling precise and fast management of production processes. As technology advances, more and more companies are exploring the possibility of implementing virtual PLCs that offer new perspectives. This reduces the need for physical devices while reducing application costs while increasing application flexibility and improving data processing efficiency. In this article, we will discuss the topic of Siemens virtual PLCs: their functionality and potential applications in industry based on our research and testing.
For the tests of the virtual PLC, we used a Siemens IPC277G Edge industrial computer, on which we installed the required Siemens testing software. This device is equipped with a quad-core Intel Atom X6413E processor and 8GB of RAM. The operating system managing the unit is Linux with a pre-installed Industrial Edge environment, which is a common choice for stable and scalable industrial solutions. The computer has three Profinet ports for communication with the IPC computer, including one dedicated port for communication with the virtual PLC.
The PLC is supported via a Web server that allows access to the application management panel, including the 1517V PLC installed on the tested device. The dashboard allows you to monitor resource usage, such as CPU, memory, and disk space usage. The Asset Monitoring window is shown in the figure below.
A user can switch the controller’s operating modes (Run/Stop), set the IP address and manage the license. An example of the driver management window is shown in the figure below.
The virtual PLC can run on a single processor core that has been isolated for the controller, minimizing interference from other applications.
In the future, it will most likely be possible to run more drivers on more cores within a single processor.
One of the most interesting aspects of a virtual PLC is the ability to integrate it via an API (application programming interface). During the tests, our IT team created a simple application using Python, which enables communication with the API of a virtual PLC. An example of the application code is shown in the figure below.
The application reads the driver status (Run/Stop mode), the time until license expiration and the IP address. The ability to program and remotely control via API gives a wide field for creating dedicated applications that can monitor or control the operation of multiple controllers in large industrial installations.
For the tests of the virtual PLC, we used the TIA Portal development environment version 19 update 3. With this version of the software environment, Siemens has started supporting virtual PLCs. These controllers stand out in the environment from other available ones with a characteristic name containing the “V” ending.
The controller we tested does not have a safety interface, but with the release of TIA Portal V20 it became possible to use the controller in the Failsafe variant, but it is still developing IRT (Isochronous Real-Time) communication.
The first stage of the tests was to establish communication via the Profinet protocol with the expansion module – the ET200 island. Conducting tests on a PLC without a Failsafe interface and IRT made it impossible for us to test communication with some devices, such as drives. Nevertheless, the basic communication with the ET200 island was correct, allowing the input and output states to be read and written.
We put the virtual PLC through performance tests by comparing it to the Siemens S7-1518F physical controller – one of the fastest models on the market today. These tests included two types of operations: bitwise operations and number operations. Each operation was performed in a loop containing 10 million iterations, which allowed us to assess the processing speed of both drivers.
The virtual driver (top graph above) showed a cycle time 20 ms shorter than the physical counterpart (bottom graph above). However, it is worth noting that the cycle time in the S7-1518F was more stable, with a deviation of about 0.5 ms, while in the virtual PLC the fluctuations were more than 1 ms.
Analyzing the diagrams showing the cycle times for the virtual PLC (in the upper diagram in the figure above) and the traditional controller (in the lower diagram in the figure above), the difference in cycle time was about 50 ms in favor of the virtual controller. The disadvantage of the virtual PLC turned out to be the stability of the cycle time, which for the virtual controller was much lower than for the traditional S7-1518F controller.
Comparing real and virtual controllers, the versatility of the latter becomes an important advantage. Thanks to virtualization of the Edge platform, we can run multiple instances of the driver in a simple way, by running several virtual machines and adding an instance of the controller on each. What’s more, the solution provides hardware platform independence, the Edge platform can be run as a VM, on any computer, server, or in the cloud.
Virtual PLCs show promising results in terms of performance and flexibility. In performance tests, the virtual controller outperformed the S7-1518F, making it an interesting solution for applications that require fast data processing, such as logistics systems or high-bay warehouses. Providing a Safety interface allows for full adaptation of the solution in the industry. Thanks to this, it is a technology growing in popularity in areas that require virtualization and centralization of control systems, e.g. automotive or F&B. As an example, we can mention the use of Siemens virtual controllers by Audi to virtualize the production floor.
If in the future it will be possible to properly design and implement the functionality that allows the installation of several instances of virtual controllers on one device, it can bring significant benefits to the automation industry. Thanks to this solution, enterprises will be able to optimize the use of hardware resources, eliminating the need to purchase additional devices. In the long run, this could translate into significant financial savings, increased operational efficiency and more flexible adaptation to evolving technological needs, but it is still necessary to develop support for devices requiring IRT communication for wider flexibility.
As virtual driver technology evolves, we can expect them to be widely used in systems where not only speed, but also flexibility and cost reduction are important.