18.12.2012 Views

KUKA Roboter GmbH

KUKA Roboter GmbH

KUKA Roboter GmbH

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Windows<br />

Nonproprietary Real-Time Extension Technology<br />

Combines Windows ® CE & Windows ® XP Embedded<br />

on single or multicore CPUs<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong><br />

Global Sales Center<br />

Hery-Park 3000<br />

D-86368 Gersthofen<br />

Germany<br />

Introduction<br />

Tel.: +49 821 4533-3768<br />

Fax: +49 751 4533-2129<br />

Email: Introduction<br />

RainerGallus@kuka-roboter.com<br />

Web: www.kuka-rtos.com Edition: April 2008


CeWin Version 3.5<br />

Microsoft Windows® XP<br />

Microsoft Windows XP is the dominant operating system used today in x86 desktop PCs<br />

worldwide. It has a very familiar graphical user interface, but due to the absence of realtime<br />

ability it is not suitable for most industrial applications. The real advantages of<br />

Windows XP, however, are to be found in its widespread application base and from both its<br />

acceptance and familiarity by users. To make Windows XP useful for industrial real-time<br />

applications, such as industrial automation, motion control, test and measurement, medical<br />

devices and defense systems, <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> has developed a solution which<br />

eliminates the disadvantages of Windows XP without giving up its advantages.<br />

Microsoft Windows CE<br />

Microsoft Windows CE is a widespread real-time operating system (RTOS) also produced<br />

by Microsoft. Several versions of Microsoft Windows CE are available for different<br />

processor architectures (ARM, MIPS, Intel 80x86 and others). Microsoft Windows CE<br />

traditionally runs standalone on a single processor and uses the hardware resources RAM,<br />

ROM, I/O hardware, and so on, exclusively.<br />

CeWin: Windows CE and Windows XP Together on a Single PC<br />

<strong>KUKA</strong> <strong>Roboter</strong>s CeWin product family complements Windows XP with the Windows CE<br />

real-time operating system; allowing both to coexist and run concurrently on the same<br />

single-processor PC (regardless if it is a single core or a multi-core CPU system). Create<br />

real-time applications taking advantage of the full capabilities of Windows XP without the<br />

need for a second dedicated controller. The application gets the best of both worlds.<br />

To make this possible, a software-only real-time extension technology for Windows XP has<br />

been developed which guarantees deterministic response on interrupts which are targeted to<br />

Windows CE. These interrupts can be generated by any PCI or ISA PC plug-in board.<br />

Windows XP is fully preemptable by interrupts generated by real-time devices.<br />

Single Core Systems:<br />

As long as at least one Windows CE thread is active, the processor’s execution time is<br />

available exclusively for Windows CE. Windows XP runs only if all Windows CE threads<br />

are idle. Windows XP effectively operates as the Windows CE idle thread. Virtual machine<br />

technology or time slicing is not utilized by CeWin. During all real-time processing,<br />

Windows CE has exclusive use of the processor. Conversely, as long as no real-time<br />

interrupts are being received, Windows XP has exclusive control. No proprietary<br />

modifications are made to either OS which insures binary compatibility with standalone<br />

versions of each OS.<br />

Dual Core or Multi-Core Systems:<br />

When CeWin is operating in exclusive mode on a dual or multi core system, Windows CE<br />

usually runs on the last processor core while Windows XP runs on all other. Both operating<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 2


CeWin Version 3.5<br />

systems operate completely concurrently and independent from each other. In this operation<br />

mode, latencies and jitter is dramatically reduced compared with a single core system.<br />

Target Markets<br />

� PC-based industrial automation including PLC, motion control, robotics, CNC<br />

� Real-time test and measurement/data recording<br />

� Medical devices and equipment<br />

� PC and HMI add-on for existing Windows CE applications<br />

� Windows CE target simulation with real-time behavior and hardware access<br />

Technical features<br />

� Use of Windows CE as a headless RTOS concurrent with Windows XP<br />

– Access to the entire Windows XP Win32 API<br />

– TCP/IP Stack, DCOM, ISAPI, ASP, SOAP etc.<br />

– Runtime environment for C, C++, C#, Visual Basic etc.<br />

– Optional products<br />

� Software-only solution, no additional hardware necessary<br />

� Uses standard Microsoft development tools for both Windows XP and Windows CE<br />

� APIC support<br />

� Multiprocessor support<br />

� Graphical real-time analysis tools (Kernel Tracker, Profiler etc.)<br />

� High-resolution real-time timer, granularity 0.8 microseconds<br />

� Hardware access to ISA and PCI plug-in boards<br />

� Communication between Windows XP and Windows CE via shared memory<br />

� Access to the Windows XP hard disk via directory share<br />

� Date/Time synchronization between Windows CE and Windows XP<br />

� CeWin can start as a service – no user login to Windows XP is required<br />

� User specified CPU sharing between Windows CE and XP. Eliminate Windows XP<br />

CPU time starvation during special situations<br />

� Auxiliary system clock with frequencies up to 25kHz<br />

� Most common Microsoft-supplied HALs are compatible<br />

� Support for Microsoft Windows CE V5.0<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 3


CeWin Version 3.5<br />

Commercial Features<br />

� No need for additional intelligent co-processor boards nor separate control hardware<br />

� Reduction of hardware costs; eliminates a second CPU<br />

� Less hardware components; increased reliability (MTBF)<br />

� More compact control systems possible<br />

� Nonproprietary; built on COTS operating systems<br />

� Full support from a company with worldwide locations<br />

� Short learning curve<br />

– Known development tools: Visual Studio 2005, Platform Builder, eMbedded<br />

VC++<br />

– Full Win32 API<br />

� Re-use of existing Windows CE software and know-how is possible<br />

Application Development<br />

A CeWin development seat provides a BSP in the form of a Microsoft Platform Builder<br />

project. The CeWin SDK contains all the necessary header and library files needed to build<br />

CeWin applications. Wizards are available to assist in generating new applications.<br />

Components for integration into Windows XP Embedded images are also included. As<br />

Windows CE and Windows XP run on the same processor, a separate host is not required<br />

for application development.<br />

The Windows CE application is edited, compiled and debugged using the tools provided by<br />

Microsoft eMbedded VC++, Visual Studio 2005 and Platform Builder. The Windows XP<br />

application is developed using Microsoft Developer Studio. Develop, test and debug the<br />

actual target, as opposed to a simulated target, on the same PC.<br />

CeWin is started and stopped using the Uploader tool. The Uploader can be used as a<br />

standalone Win32 application or integrated directly into a CeWin application using the<br />

supplied Uploader library.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 4


CeWin Version 3.5<br />

Communication between Windows CE and Windows XP<br />

The CeWin shared memory TCP/IP network can be used for communication between<br />

Windows CE and Windows XP. For this purpose, two corresponding network drivers have<br />

been developed; one for each operating system. Using the Windows XP built-in IPforwarding<br />

feature, Windows CE can access other systems which are connected to the<br />

Windows XP external network interface. Also, Windows CE applications have access to<br />

Windows XP shared network directories.<br />

CeWin applications using the TCP/IP network can be separated and communicate using a<br />

physical Ethernet line without having to modify the original application. Developers do not<br />

have to rely on a proprietary API or an interface having limited support.<br />

For a more direct TCP/IP connection to systems outside of the PC, an additional Ethernet<br />

card supported by Windows CE is used. The second Ethernet card is controlled directly by<br />

Windows CE and can exist alongside the Ethernet card used by Windows XP. Using the<br />

standard TCP/IP protocol, any additional Windows CE products can communicate with<br />

CeWin, e.g., development systems like Platform Builder or Kernel Tracker.<br />

For the runtime system, TCP/IP sockets can facilitate proprietary communication protocols<br />

between Windows XP and Windows CE applications. Alternatively, standard mechanisms<br />

like DCOM or SOAP may also be used. From the point of view of Windows CE or<br />

Windows XP applications, there is no difference between running under CeWin on the<br />

same PC or distributed across separate systems.<br />

In addition to the TCP/IP virtual network, direct shared memory communication is also<br />

supported. A Windows CE application can allocate a chunk of memory from the shared<br />

memory area. The allocated memory can be read from or written to by either Windows CE<br />

or Windows XP. CeWin provides a shared event mechanism for Windows XP that can be<br />

used to coordinate reading and writing of the shared memory area.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 5


CeWin Version 3.5<br />

Traditional Solution:<br />

TCP/IP on Ethernet<br />

Target with Windows CE PC with Windows<br />

CeWin Solution:<br />

PC with Windows<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 6


CeWin Version 3.5<br />

CeWin<br />

The CeWin interface driver allocates the memory to be occupied by Windows CE during<br />

the Windows XP boot process. The allocated memory is protected in hardware by the x86<br />

MMU, is guaranteed to be fixed and will not be swapped to disk. Windows XP is not aware<br />

of and has no access to this memory.<br />

CeWin is started using the Uploader tool. The Uploader queries the CeWin interface driver<br />

for the location of the memory allocated for Windows CE code and data. Next, the<br />

Windows CE image is read from the disk and copied into that memory.<br />

After the code and data are relocated to the loading address, Windows CE is started using<br />

its init() function. As soon as all initialization threads are idle, the init() function returns and<br />

the Uploader terminates. From this point forward, Windows CE will be activated only by<br />

real-time interrupts followed by task scheduling. All Windows CE threads run in ring 3.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 7


CeWin Version 3.5<br />

Singlecore Systems: Activation of CeWin by Interrupts<br />

PC with Windows<br />

Hardware<br />

Interrupt<br />

The interrupts for Windows CE, as well as for Windows XP, are received by the CeWin<br />

interface driver directly from the PC’s interrupt controller. <strong>KUKA</strong> <strong>Roboter</strong>s real-time<br />

extension technology assures that the interrupts assigned to Windows CE always have<br />

higher priority than anything occurring in Windows XP; including Windows XP interrupts.<br />

The technology guarantees Windows XP is fully preemptable.<br />

All real-time interrupts initiate the execution of the corresponding Windows CE interrupt<br />

service routine (ISR) within a few microseconds. After returning from the ISR, but before<br />

returning to Windows XP, Windows CE checks for and activates any threads ready to run.<br />

After all running Windows CE threads return to the idle state, CeWin transfers control back<br />

to Windows XP.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 8


CeWin Version 3.5<br />

Exception Handling of Windows CE<br />

Whenever Windows CE is activated via the ISRs, a new exception table is loaded by a<br />

single assembler instruction. Therefore the exception handling for page faults, debugging,<br />

and so on is exactly the same for CeWin as it is for Windows CE running standalone. The<br />

Windows XP exception table is reloaded before falling back to Windows XP.<br />

The arithmetic co-processor may be used within CeWin without any restrictions. Since it is<br />

possible that the interrupted Windows XP has the arithmetic co-processor in use, its state is<br />

saved if Windows CE requires its use and restored before returning to Windows XP.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 9


CeWin Version 3.5<br />

Dualcore and Multicore Systems: Exclusive Mode Operation<br />

When CeWin operates in exclusive mode (only available on<br />

multiprocessor/multicore systems) the last CPU core in the system is dedicated<br />

to Windows CE. All remaining CPUs are used by Windows XP.<br />

The following diagram, illustrates the flow of control on a dual core system:<br />

WinXP<br />

IRQ<br />

�<br />

WinXP<br />

ISRs,<br />

DPCs<br />

WinXP<br />

Processes<br />

�<br />

Realti<br />

me<br />

IRQ<br />

�<br />

WinCE<br />

ISRs<br />

WinCE<br />

threads<br />

Core 1: Core 2:<br />

Operating states of CeWin in exclusive mode<br />

� Exception-handling or a higher priority interrupt becomes<br />

outstanding.<br />

� Interrupt Service Routine optionally starts a new thread and then<br />

finishes.<br />

Note: When running CeWin in exclusive mode Windows XP will never be interrupted.<br />

Application and interrupt processing run concurrently and independently on both CPU<br />

cores. There is no need in Windows CE to become idle.<br />

Hardware Requirements<br />

� Minimum 266MHz Pentium® II processor (500MHz recommended)<br />

� Minimum 128MB RAM<br />

� 32MB available hard disk space<br />

Operating System Requirements<br />

� Microsoft Windows® XP SP2 <br />

� Microsoft Windows® XP Embedded SP2<br />

� Microsoft Windows® CE V5.0<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 10<br />


CeWin Version 3.5<br />

CeWin Product<br />

CeWin supports the full functionality of Windows CE:<br />

� Access to the local Windows XP hard disk (e.g., to load the user applications)<br />

� Win32 Windows CE subset API; including C++ Support<br />

� Windows CE console access by Telnet<br />

� Pre-configured Windows CE images with several fixed memory configurations<br />

� Additional OS features cannot be included<br />

� Development environment: eMbedded Visual C++, Visual Studio 2005 and<br />

Windows CE Platform Builder<br />

� Only one user process is allowed<br />

� Support of TCP/IP communication between Windows XP and Windows CE but<br />

with no routing (IP Forwarding) support<br />

Licensing<br />

The CeWin product license from <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> only consists of the coupling<br />

mechanisms allowing both operating systems to run concurrently on the same PC. It does<br />

not include the required Microsoft licenses for Windows XP and Windows CE. Those must<br />

be procured from a Microsoft distributor. CeWin is installed only after licenses for both<br />

Windows XP and Windows CE have been received.<br />

About <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong><br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> is the number one European industrial robot manufacturer and a part of<br />

<strong>KUKA</strong> AG Group. <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> specializes in real-time software, operating systems,<br />

motion control, graphical user interfaces (GUI), handhelds, dynamic algorithms, PC-based hardware<br />

development and application programming. <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> globally markets real-time<br />

extension technology for automation and robotics as well as test and measurement instrumentation,<br />

and medical devices and equipment. For more information on <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong>, contact Mr.<br />

Rainer Gallus, Sales and Marketing – Real-Time Products. Phone: +49 821 4533-3768 or<br />

RainerGallus@<strong>KUKA</strong>-<strong>Roboter</strong>.de. Online information can be viewed at www.kuka-rtos.com.<br />

© 2008 <strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong>. All rights reserved.<br />

Information contained herein supersedes previously published specifications and is subject to change without notice.<br />

Trademarks are property of their respective owners.<br />

<strong>KUKA</strong> <strong>Roboter</strong> <strong>GmbH</strong> Page 11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!