Headline with Icon.jpg (12128 bytes)

Abstract

Microsoft Windows ® has emerged as a standard for user interfaces on the IBM PC. Although simple and familiar to the user of an application, Windows can be intimidating for motion application developers. The inherent complexity of Windows is additionally complicated by real time issues necessary for solving motion control problems. Windows does not, by itself, work well for real time applications.

An application development environment named "Servo Application Workbench" (SAW) is described which simplifies the creation of high performance motion control Windows applications.

The Servo Application Workbench augments Windows with a multitasker that addresses the real time limitations of Windows. A motion system is included that can coordinate 1 to 6 servo axis through continuous paths and perform motion profile "splicing". A "Screen Painter" is included that allows the user to create a control panel for the application. Using a "clip art" metaphor the user can browse through software "catalogs" of pre-fabricated subassemblies and paste selections into the application. Additional program behaviors not associated with the catalog parts can be added to the application with the built in Object Based Pascal language.

The language system allows the user to run multiple programs at the same time simplifying the construction of advanced applications. Multitasking programs can communicate to the control panel that has been painted, the motion system, IO boards in the PC, and each other. The language allows the user to describe application related objects and to combine these object descriptions with related operations to manipulate them. The language includes a "try..recover" style structured exception handling mechanism that allows simpler management of corrective procedures when errors are detected.

The Servo Application Workbench permits developers to quickly and simply create high quality and performance real time Windows motion control applications. An example telemanipulator application will be described to illustrate how an application environment can simplify development.

The following sections include a description of an example application, application construction, discussion of the development environment contribution, and summary.

Download Paper (servoapp.pdf 162K)