Virtual PLC

Virtual PLC

Custom Virtual PLC Solutions

Virtualisation becomes key as demands escalate for complex systems involving diverse hardware and software. At Promwad, we ensure efficient, adaptable, and centralised control over processes by integrating hardware-independent virtual PLCs into your IT environment.

Employing a real-time hypervisor for your industrial systems, we enable running multiple OS on the same hardware, including RTOS. Explore other extensive opportunities and benefits of digital transformation with our custom virtual PLC solutions.

IT/OT Convergence Growth

​​Replace multiple controllers with virtual ones running on a centralised platform and managed by IT specialists rather than automation experts.

Evolution of IT/OT Convergence

The Advantages of Virtual PLC

Unified hardware platform
Quick deployment
Simplified certification
Hardware independence
Enhanced reliability
IoT and Industry 4.0 readiness
Preserving real-time performance
Increased flexibility
Optimised resource utilisation
Interested in employing virtual PLC to enhance automation and real-time capabilities of your systems?

Application Areas

icon

Manufacturing automation

icon

Robotics
solutions

icon

Healthcare technology

icon

Embedded
servers

icon

Broadcasting and streaming

icon

Water distribution systems

icon

Automotive manufacturing

icon

Smart grids and utilities

icon

Building management systems

icon

Testing and measurement systems

icon

Traffic control systems

icon

Renewable energy systems

Ensure Safety in Critical Environments

As a reliable choice for applications with strict safety requirements, a hardware-agnostic hypervisor provides:

  • Efficient modularisations for streamlined development.
  • Enhanced functional validation and quality assurance.
  • Isolation of critical security areas for heightened protection.
  • Simplified certification processes for regulatory compliance.
  • Adaptable module changes without extensive retesting.

Explore Our Case Studies

Real-time base enablement software

We developed a base enablement software, providing an isolated real-time domain on high-performance 64-bit ARM Cortex-A cores. We used Jailhouse hypervisor for hardware resource partitioning, allowing concurrent operation of a domain RTOS and a feature-rich Linux distribution with minimal impact on performance.

Implemented features:

  • Jailhouse hypervisor divides physical hardware, creating dedicated resources for each part.
  • Support for FreeRTOS and Zephyr as guest OS, allowing development on high-performance Cortex-A cores (Armv8-A).
  • Based on NXP application processors — i.MX 8M Mini, i.MX 8M Nano, i.MX 8M Plus, and i.MX 93.
  • Support of MCUXpresso for seamless porting of customer applications.
  • Utilisation of standard IPC mechanisms (RPMsg, VirtIO) for efficient communication between Linux and guest OS.
  • Pre-integrated real-time reference applications to facilitate quick evaluation of the software architecture.
  • AVB Talker and Listener streaming through NXP GenAVB/TSN Middleware stack.
  • Yocto support for Linux development.

Optimising embedded systems with Jailhouse hypervisor

Optimising embedded systems with Jailhouse hypervisor

 

Challenge: To meet the demand for virtualisation in modern embedded systems and industrial applications focusing on real-time capabilities, cost reduction, and space-saving.

Solution: We utilise Jailhouse, leveraging ARM Virtualisation Extensions to efficiently separate and control CPUs, GPUs, and peripherals, ensuring independent operation.

On the RZ/G1H platform, Jailhouse allocated cores and GPU for a Qt UI, one core for FreeRTOS with the CAN interface, and one core for a bare metal app using the I2C interface. This segregation guarantees real-time operation for specific applications.

Benefits:

  • Combined user interfaces and real-time automation on the same hardware.
  • Efficiently allocated CPU cores and peripherals for specific tasks.
  • Support for RZ/G series boards, providing developer kits with pre-configured inmates like Linux and FreeRTOS for seamless integration.

Our Tech Stack

Intel VT and AMD-V

– I/O MMU virtualisation (AMD-Vi and Intel VT-d)
– Intel Virtualisation Technology for Connectivity (VT-c)
– PCI-SIG Single Root I/O Virtualisation (SR-IOV): Address Translation Services (ATS) | Single-Root IOV (SR-IOV or SRIOV) | Multi-Root IOV (MR-IOV)

Hypervisors

ACRN | Jailhouse | Lightweight Linux Container Systems: LXC and OpenVX | Kernel-Based Virtual Machine/QEMU (KVM) | Xen | User-Mode Linux (UML) | VirtualBox | Real-time VMware ESXi and GSX | Real-time VMware Workstation and Player | Hyper-V | PowerVM | Bhyve | AVF, PKVM, and pvmfw

Run-time machines

PLCopen Editor, Beremiz, OpenPLC Editor (based on wxpython) | Matiec (IEC 61131-3 compiler) | Eclipse 4diac FORTE | Eclipse 4diac IDE (IEC 61499) | CODESYS Runtime | CODESYS Control Runtime Toolkit | ISaGRAF Runtime | ISaGRAF Runtime Toolkit | TwinCAT Runtime (XAR) | Custom IDE Development for PLC Programming (C, C++, Rust) | Node-RED

RTOS

FreeRTOS | CMSIS-RTOS | CMSIS-RTOS v2 | Keil RTX | Azure RTOS ThreadX | Mbed OS | ChibiOS/RT | RTEMS | NuttX | embOS | SafeRTOS | VxWorks | Zephyr | μC/OS-II | μC/OS-III | TI-RTOS (SYS/BIOS) | NXP MQX RTOS | eCos | RIOT | UNISON RTOS | Apache Mynewt

Emulators

QEMU

Programming languages

С++, C, Rust

APIs for real-time virtualisation

Libvirt, libguestfs

Management software

Virsh | Openstack | Ovirt | virt-manager

Symmetric-key algorithms

Twofish, Serpent, AES, Camellia, Salsa20, ChaCha20, Blowfish, CAST5, RC4, DES, 3DES, Skipjack, Safer, IDEA

Public-key cryptography

Diffie–Hellman key exchange protocol | DSS (Digital Signature Standard) | ElGamal | Elliptic-curve cryptography | Elliptic Curve Digital Signature Algorithm (ECDSA) | Elliptic-curve Diffie–Hellman (ECDH) | Ed25519 | Ed448 (EdDSA) | X25519 | X448 (ECDH/EdDH) | Paillier cryptosystem | RSA encryption algorithm (PKCS#1) | Cramer–Shoup cryptosystem | YAK authenticated key agreement protocol | NTRUEncrypt cryptosystem | Kyber | McEliece cryptosystem | Merkle–Hellman knapsack cryptosystem | S/MIME | GPG (an implementation of OpenPGP) | EMV | EMV Certificate Authority | IPsec | PGP | ZRTP | SILC | SSH | Bitcoin | Off-the-Record Messaging

Intel system

– Support for 64-bit architecture and VMX, including EPT (Extended Page Tables), unrestricted guest mode, and preemption timer.
– Intel IOMMU (VT-d) with interrupt remapping support (except within QEMU).

Or AMD system

– Support for 64-bit architecture and SVM (AMD-V), including a required feature – NPT (Nested Page Tables), and a recommended feature – Decode Assists.
– AMD IOMMU (AMD-Vi)

2+ logical CPUs

x86 architecture

ARM architecture

– ARMv7 with real-time virtualisation extensions or ARMv8.
– Minimum two logical CPUs

Supported ARM boards

– Banana Pi
– Orange Pi Zero (256 MB version)
– NVIDIA Jetson TK1
– ARM Versatile Express with Cortex-A15 or A7 cores (including ARM Fast Model)
–emtrion emCON-RZ/G1x series based on Renesas RZ/G

Supported ARM64 boards

– AMD Seattle/SoftIron Overdrive 3000
– LeMaker HiKey
– NVIDIA Jetson TX1 and TX2
– Xilinx ZCU102 (ZynqMP evaluation board)
– NXP MCIMX8M-EVK

Ready to elevate application safety and real-time performance with virtual PLC solutions?

Drop us a line about your project! We will contact you today or the next business day. All submitted information will be kept confidential.