This is part one of a two part article about a “real life” control system that is a candidate for moving to a VM on Linux. This control system is being used right now in a real manufacturing facility.
Last year in February I wrote the article “Windows 98? Linux and VirtualBox! (Maybe)“. It is about using VirtualBox to perhaps keep an old Windows 98 system running in a virtual machine (VM). In that article I touched on the concept of a business that runs a system controller on old hardware that may be saved by moving the system to a VM. This article is a follow-up on that concept to cover a recent test we did at ERACC for moving a control system from “real” hardware to a VM. I have not asked permission to name names so I will just call the company that contacted me “client” and use first names only for the people involved.
Several weeks ago I was contacted by Stan at the client about an IBM OS/2 Warp 3 system that runs a critical control system in their manufacturing facility. The hardware for this system is around 15 years old and they recently had problems with the SCSI hard drive. The concern is that this old hardware is eventually going to fail completely as all things man-made eventually do. They could purchase a new control system, but that would cost in the tens of thousands of dollars. Perhaps $40,000/US or more for the controller and cost of the installation from the control system manufacturer. In this current poor economy businesses are looking for ways to save money so a solution with a $40K or more price tag is going to be very carefully researched before such an expenditure will be made. This case is no exception. In the course of the client’s research my company was discovered as we still support OS/2 in its current incarnation as eComStation.
So Stan contacted me. He wanted to know if we could build them a new PC to run the current control system software. I assured Stan we could do that, but I suggested that we try running the software inside an eComStation VM using VirtualBox on a Linux system first. My reasoning is if it works this “future proofs” the current control software and keeps them from having to purchase a new system any time soon. I planned to help get the VM up and running at their facility and all of this could be done for well under $2500/US. I mentioned that I would need a disk image of his current control system and would work from that to create a VM with which to test. Stan agreed this sounded like a good idea and said he would get the disk image done and get back to me.
A few weeks passed. Then I received a call from Stan saying the disk image was ready on a USB thumb drive. I gave Stan our shipping address and he placed the thumb drive in the mail to us. When the thumb drive arrived I brought it to my work PC and copied the “disk.img” image file. This PC runs Mandriva 2010 Linux on an AMD Phenom quad-core based motherboard which includes AMD’s hardware virtualization. One needs hardware virtualization to run OS/2 or eComStation in a VirtualBox VM. The disk image was converted to a VirtualBox virtual disk image (VDI) using the command:
VBoxManage convertdd ./disk.img /data1/virtual_machines/virtualbox/vdi/disk.vdi
This VDI was then used to create a VM to try to boot it. Unfortunately it would not boot. So a new VM and VDI was created using eComStation 2.0 release candidate 7 (eCS2rc7). This new VM was booted and the VDI created above was mounted as a second “disk” in the VM. The data and programs were copied from the mounted second VDI to the new VDI and testing began. After editing the eCS2rc7 startup files, CONFIG.SYS and STARTUP.CMD, to include the relevant software for the control system the VM was rebooted. The first reboot failed as some of the old OS/2 Warp 3 based drivers failed to load. It was determined by trial and error what new drivers were needed to replace the old ones and which of the old drivers are irrelevant when using a VM. Finally we had a booting VM that started the control software.
We discovered that the control software uses TCP/IP to “talk to” the manufacturing hardware. This is important because a custom hardware interface would likely not work in this case. Any control software that communicates using TCP/IP or serial connections is likely to work just fine though. We had what we needed to know to proceed with this project. I contacted Stan and sent him the data, with screen shots, in an e-mail. Stan forwarded the information to MIS at the client. As of now we are waiting for MIS at the client to give the go ahead to continue. I am confident that this will get a “green light”, so I am “jumping the gun” a bit with this article.
I will write part two once the project has proceeded to its conclusion, good or bad. Although, “good” is the only outcome I think is likely.
This article has had this many unique views:
|FREE HIT COUNTER|
Notice: All comments here are approved by a moderator before they will show up. Depending on the time of day this can take several hours. Please be patient and only post comments once. Thank you.
Edit Sat Mar 20 12:25:38 CDT 2010: Fix typo as pointed out by John Angelico, Thanks for the “heads up”.