But why do this? What is the benefit of having real time applications together with Windows on the same PC?
In 1996 KUKA introduced the world’s first industrial robot controller which was based just on an industrial PC. Some of the reasons for the big commercial success since then are the well known and accepted Human Machine Interface (HMI) of Windows technology and the flexibility and cost effectiveness of the PC technology. The controlling of the robot movement in hard real time is done by the RTOS VxWorks, which runs together with Windows on the industrial PC of the robot controller. An earlier version of the new KUKA virtualization software makes this possible.
Besides the controlling of a machine, there can be other meaningful reasons for the combination of an RTOS and Windows. For example, one wants to use the same software which is running on the controller for simulation, training or presentation purposes i.e. on a Laptop. It also can be useful for the developers to have the control software beside them on a Windows PC.
Until now with KUKA’s Windows real time extension software it was possible to run only one in-stance of VxWorks or Windows CE in hard real time beside Windows. The reason that there haven’t been other RTOS supported laid in the fact that new RTOS could be adapted by KUKA only.
On the German Embedded World Show 2008 KUKA introduces the new product “RTOS-VM”. With this product, the restrictions of the predecessor versions are gone. For this “RTOS Virtual Machine” the old version has been enhanced in a way that not only VxWorks or Windows CE can be used as the RTOS but virtually each x86 RTOS. In addition not only one instance of the RTOS can be run but – on a multi-core processor – several of them or a multi-core able RTOS can make usage of several cores. With the included documentation and sample applications, the adaptation of the RTOS can simply be made by the customer. For less complex requirements it is also possible to use no RTOS at all, but to develop simple real-time software like real-time interrupt handlers by using the included sample source code.