Posted by: Harold Ennulat | April 8, 2013

HMI Virtualization

Virtual Machines used in controls applications, particularly for HMI type applications are gaining acceptance.  This article reviews virtualization and this authors exploration for use in single HMI, single PLC type applications.


What Is Virtualization?


For the purpose of this article, virtualization is running one (1) or more entire computing environment(s) within another host computer and operating environment.  For example I am currently running 2 completely separate XP mode computing environments inside of my Windows 7 laptop.  Each computing environment running inside of a host computing environment is called a “Virtual Machine” or VM.

For more explanations see: and

Why Virtualize?

Virtual Machines are more portable.  They consist of one large file that can be moved to another computer or backed up for later use.

Easier Installation and Reinstallation. Installing HMI (Human Machine Interface or Operator Interface) applications on a computer takes time.  Different computers can have different driver requirements.  Porting a developed application to another computer, especially if it is dis-similar to the previous one can take considerable time.  In fact one time it took me a week to rebuild a computer and application due to Microsoft operating system update that was incompatible with the HMI software that was being used.  Had the working application been virtualized and backed up, the VM could have been restored considerably easier. To be fair, an entire computer, applications and all could also have been restored had I made a Norton Ghost image to an external drive.  This would have been easier then restoring the host OS first, installing the VM software and installing the VM itself.  However the typical image restore requires that the computer be pretty much exactly the same.  Restoring a VM does not require the hardware to be the same at all.

Virtual Machine allow older operating systems to be run using a regular desk top computer.  In fact multiple different operating systems can be run on a single computer.

Ability to handle incompatible software within a single physical computer. In Controls there are some application softwares that cannot coexist on the same computer with other software.  This can be mitigated by loading each software on its own VM. Sometimes even different version of a single companies software cannot coexist on the same host.  VM’s can address this problem quite nicely.

For more reasons to virtualize see:

 Types Of Virtualizations?

VM Types

VMWare is the product that has the largest usage, more than 50% of the market I’ve been informed.  This product is currently dominant in usage for control systems given Rockwell’s endorsement and partnership with VMWare.

VMWare Player is a downloadable free application.  I’ve used this for about a year now and have been impressed with its usefulness.  It represents the starting point for those wanting to explore this tool. However it is fully functional with great “integration features” allowing for information to be moved between virtual machines and the host.  Once the Player is installed, then virtual machines can be either created or moved from other peoples computers.  Each new VM within Player requires separate licensing for the operating system.  However Windows 7 professional users can use the XP license in their machine to create one (1) virtual machine running XP.  If the VM is being moved then the license on the VM is used and no new operating system license is needed.

VMWare Workstation.  This is the commercial version of the software and operates similar to Player.  Cost starts at around $250 for a single copy.

VMWare Server Grade Solutions is for Server or 24/7 type production environments.  At the time of this writing these solutions got expensive quite quickly however many people swear by this approach for more sophisticated HMI applications using multiple operator stations and a pair of physical server grade computers running multiple virtual servers with optional redundancy and load balancing.  This solution uses the VMWare ESXi Software as the “host operating system”.  To get started there is however a free version of this software available.

This Authors Take On Virtualization.

VirtualizationCurrently I am using VMs on my laptop computer for developing PLC and HMI software applications.  We are exploring the possibility of implementing some kind of VM for our HMI applications running in a production environment.  The dilemma is which version of VMWare to choose.  For cost reasons the desire is just use the VMWare Workstation version for production use, however we have been cautioned that the VMWare ESXi (Server Grade) Solution should be used for production.

In querying some forums it seems that opinions are mixed.  However those that have used VMWare Workstation in customer installations say it works well, at least for standalone or independent PC’s running HMI applications that connect directly to one or more PLC’s.

We are still exploring this but I’m inclined to give this a try for the stand alone type applications.  HMI applications while important are already running on Windows PC based platforsm.  These platforms are inherently prone to service interruptions and even higher then normal failure rates in industrial applications, especially when compared to PLC failure and service interruptions.  For example an HMI PC reboot, even in the middle of a production run, while sometimes inconvenient, is often not critical as the PLC is doing all of the control.  The HMI is the operators window on the process and the control station allowing the operator to make changes and adjustments.  In some applications there is data logging and communications with other computers, but these can be designed (and I would say, should be designed) to tolerate at least some level of HMI computer down time.  Even without considering virtualizing the HMI, this author would rather see a second HMI introduced to the process if the visualization and operator interaction becomes that critical.

So given all this, using VMWare Workstation in the right kind of production environment will be given some serious consideration.

For a summary of the responses I got from the LinkedIn controls related discussion groups click the link here.


  |  Created:  Saturday, April 6, 2013  6:20 pm CST;  Published: Monday, April 8, 2013 5:00 am CST



  1. What is your opinion on touch screen interfaces in the future impacting how users will be able to use VMWare?

    • Touch Screens are starting to appear on personal computing devices. They are universal now on smart phones and PDA’s. They are found on most tablets and many laptops have them as well. It would seem likely that they will appear on Desktop and fixed installation type computers including systems running VMWare or other virtual environments. The application will likely determine weather a touch screen is used, rather then the operating environment (such as the OS or virtualization software layer).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: