Precitech's Philosophy on Ultra Precision Machine Control

Walt Lewandowski
Precitech, Inc.
44 Blackbrook Road
Keene, NH 03431 USA

Precitech considers its core competencies to be:

  • The design and manufacture of air bearing spindles.
  • The design and manufacture of hydrostatic oil bearing, linear motor driven slideways.
  • The ultra precision control/servo loop necessary for nanometric accuracies.

From the beginnings of Precitech, the company chose DOS over Windows for our machine controller/servo loop because of reliability. DOS is stable and predictable. Precitech continues emphasis on reliability by developing the next generation ultra precision machine control based on a QNX operating system, which the company refers to as UltraPath UPx. QNX® is a hard real-time (defined later in this paper) operating system based on microkernel architecture. This means the system consists of a lean core of highly reliable code, which is fast and easily scalable. It has existed more than 15 years used primarily in mission critical applications such as; on-board computers for weapon systems, nuclear reactor control systems, life support systems, machine control and navigation systems. It supports all printer systems, provides a Graphical User Interface (which is what most people refer to when using the term 'windows' generically) and complete Graphics/Windowing support. Remote graphical connectivity from Windows NT, Windows 95 and X Window System desktops is provided for but not depended on for ultra precision control. The new system will be fully retrofittable to Ultrapath DOS based systems.

Precitech's main reasons for developing this new control are:

  • Provide an environment that permits additional improvements in workpiece surface finish and form accuracy.
  • Increased memory space for part programs (e.g. typical free form optics tool path programs are becoming larger and larger).
  • Improved connectivity and networkability with printers, Windows statistical packages, word processing, etc.
  • Improved reliability.

Current Windows based control systems still rely on proprietary motion control hardware, such as Delta Tau's PMAC, which are satisfactory, but can be considered a 'closed box.' Precitech realized that in order to innovate and continue development & improvement of our servo loop it would be necessary to close the servo loop in software. This would free us from 'the box' thereby eliminating proprietary or commercial motion control cards. Form measurement and correction can now be made part of the process as well as further commercializing the objective of 'cut-measure-correct.' The PMAC card has memory limitations that hinder attainment of this objective.

There are commercial systems available today that accomplish an all software servo loop. Some are based on Windows NT, running a real-time extension, such as VenturCom and LP-Elecktronik. These systems can be called soft real-time at best. An example of a hard real-time system is a 'fly-by-wire' control system of an aircraft. Lateness in processing instructions is unacceptable, catastrophic failure occurs if a deadline is missed; whereas, soft real-time is characterized by a rising cost for lateness of results and willingness to accept lower performance for lateness. Precitech was neither ready to sacrifice missing an occasional task nor stability on what can be called a non-standard platform whose performance may change with each release. Ultra precision diamond machining may not be as critical as flying modern aircraft; nevertheless a customer with a $50,000 part on the machine does consider the process 'mission critical.' Furthermore, continued innovation and improvement necessary to gain additional form and finish improvements necessitate hard real-time.

One of the most important goals for designers of real-time systems is to minimize latency, both pre-emptive and interrupt latency. Unfortunately, all Microsoft operating systems are unable to provide deterministic response. The Microsoft kernels cannot be modified by anyone other than themselves. By interrupt latency we mean the amount of time that elapses between the time that the interrupt line is asserted by the hardware and the first instruction of the software that determines what should happen when that interrupt is detected. For example, suppose you're sitting at your desk working on job "A," suddenly the phone rings. A very important customer calls to ask you a difficult technical question. When you've answered the question, you go back to working on job "A." The phone ringing is the equivalent of a piece of hardware on the computer's bus asserting an interrupt line. Interrupt latency is the time elapsed between the phone ringing and when you answer the phone.

The following table shows the interrupt latency for various processes using the QNX operating system and Microsoft Windows.

Operating Kernel/System
Interrupt Latency (µ sec)
Pentium III/650
    Windows NT-RT Extension

It can be seen from the table above that a 486 DX4 (state of the art 5 years ago) running a QNX hard real-time system is faster than a Pentium III/650 running on a Windows NT system with a RT-Linux extension. Similar performance is achieved by other Windows RT extensions such as VentureCom & LP-Elektronik. Using hardware such as a Pentium III, interrupt latencies for the QNX system are in the 1.0 - 1.5µ sec. range, an order of magnitude faster than Windows NT with an RT (Real-Time) extension.

The benefit of faster control system response time is considerable:

  • More precise timing and a more constant 'servo sampling' rate is guaranteed thereby eliminating the chance of missed data. Servo sampling is important because this is what controls velocity, positional feedback and affects surface finish capability.
  • The Delta Tau PMAC system, for example, does a good job of constant 'servo sampling' but its proprietary and one can't get inside to integrate other devices (i.e. fast tool servo systems, metrology systems, etc.) with the PMAC card.

    With more than 600 ultra precision machines installed worldwide, many of them operating in high production environments, Precitech has placed great emphasis on control system reliability. A recent investigation of Windows as a real-time operating system revealed the same reliability issues as we found 10 years ago. National Software Testing Labs (NSTL: was engaged by Microsoft in 1999/2000 to quantify the reliability of Windows 2000 Professional, Windows 98 and Windows NT. NSTL measured the Mean Time to Failure (MTTF) for each of these operating systems:

    Operating System
     OMTTF (hours)
     MTTF (work weeks)
    40 hours/wk.
    Windows NT
    Windows 2000
    Windows 98
    Not applicable. The QNX test bench went 2 years without a failure at which time the test set-up was 'torn-down'

    The desktop operating system, Windows 2000 Professional, is significantly more reliable than NT, even though NT is the operating system most selected for machine control platforms. The basic problem here is that many control designers are "shoe-horning" their machine controllers into an operating system that is not a mission critical, industrially rugged piece of software. Microsoft's notorious reputation for unreliable software in operating systems and application programs is widely published. Bill Gates, when questioned about the more than 10,000 bugs Microsoft acknowledged existed in Microsoft 98, claimed "There are no significant bugs in our released software that any significant number of users want fixed…. The reason we come up with new versions is not to fix bugs… It's the stupidest reason to buy a new version I ever heard." At the 1998 COMDEX exhibition in Las Vegas, Bill Gates compared the computer industry with the auto industry, stating, "If GM had kept up with technology like the computer industry has, we would all be driving $25 cars that got 1,000 miles per gallon." GM's CEO responded by asking, "Yes, but would you want your car to crash twice a day?" It is interesting to note that automobile navigation systems from Japanese, American and German manufacturers mostly use QNX or Linux operating systems.

    When surveying our customers regarding serviceability of our machines, reliability and connectivity, Precitech learned that most clients were using the term 'windows' to refer to a graphical user interface (GUI) and/or the ability to utilize Windows programs such as Excel to pass data to. With Ultrapath Upx Precitech not only provides a GUI while relying on a mission critical hard real time operating system but has created a platform for connectivity to Microsoft Windows programs. More importantly, Precitech has created a real time machine control system destined to improve servo loop performance and workpiece surface finish.

    In summary, Precitech's philosophy in designing our next generation control system is:

    • Optimize system reliability. The fastest, most stable operating system provides the best platform for machine control.
    • Separate machine control from 'office' tasks better handled by Microsoft. For example, spreadsheets, file sharing and printer control are better handled by Microsoft while those who know the difference between a milling machine and diamond turning machine focus on servo control and graphical user interface.
    • Provide a machine control system that is scaleable and does not change in performance with every change in operating system software.
    ©2002 Precitech Inc.
    © 2004 Precitech, Inc.
    May 11, 2004