Introduction to the MPI Library


The MPI is a C language object-oriented interface that makes it easy for you to develop motion control applications that run on many different types of platforms. Programs written using the MPI range from simple single-task, single-controller applications to complex multi-tasking applications using multiple motion controllers. The MPI hides platform-specific and firmware implementation details while providing a rich set of functions to control motion at any desired level. As a system designer, you have complete flexibility to choose the level of control best suited for your application. The MPI library executes on the host computer, while the firmware executes on the XMP controller.

The XMP's firmware components are managed by host software using the MPI (Motion Programming Interface). The MPI provides direct memory access to all XMP firmware components, delivering much more performance than competing systems that use command-based controllers or ASCII interfaces. Designed for multitasking environments, the MPI can access one or more motion controllers at maximum bus bandwidth, while efficiently handling controller interrupts.

Debugging under the MPI environment is simple if you use the configurable trace and debug features. The trace feature enables you to follow the progress of an executing program by observing the stream of messages produced whenever a library function is entered (displaying calling parameters) and whenever a library function is exited (displaying the return value).

You also have the ability to validate all library function parameters, and to stop execution whenever an error occurs, displaying the source file name and line number where the error occurred. You can configure the MPI for optimal trace and debug support during the design and test phase, and then reconfigure the MPI for optimal performance (without the debugging support).