The XPS is an extremely high-performance, user-friendly, integrated motion controller/driver offering convenient, high-speed communication through 10/100 Base-T Ethernet. With outstanding motion profiling, complex trajectory control, positioning accuracy and powerful programming functionality, the XPS is capable of addressing the most demanding motion applications for up to 8-axes, while supporting 30 users working simultaneously. Multiple digital and analog I/O's, triggers and supplemental encoder inputs provide users with additional data acquisition, synchronization and control features that make the XPS an ideal control hub. When networked, users can access the same controller from any place in the world for remote control, code development (.NET, LabVIEW, C++, Python etc..), data transfer or diagnostics, all without the requirement to download any software. XPS hardware provides extensive analog and digital I/O, as well as a deep and intuitive command set, making applications deployment easy and efficient.
Proprietary universal driver modules allow the XPS to drive 1 to 8 axes of any Newport actuator, linear, rotary or NanoPositioning stage. By using pass-through drive modules, the XPS is also capable of controlling many other motion devices, whether they use stepper, DC brush, DC brushless rotary or linear, piezoelectric stacks or voice coil actuation.
Powerful, Yet Easy To Use
While the XPS is a very powerful motion controller and processor, it is still very easy to use. The on-board web based software supports system and driver configuration. When used with Newport stages and drivers, all settings can be done with just a few clicks or almost automatically using the auto-configuration function. Once the system is defined, the XPS will check with every re-boot, whether the configuration is compatible with the connected hardware components including Newport ESP compatible motor drives and stages. This minimizes the risk of damage due to wrong settings or incompatible hardware. The XPS even has the ability to recognize unwanted hardware changes. For example, consider an xz system based on a Newport IMS500 series and an ILS200 series stage. If a user inadvertently swaps the connections for the IMS and the ILS stage, the XPS controller will notice the change when rebooting the system and will not start the application to avoid possible damage to expense devices. This can be a valuable feature for applications and users of sensitive and expensive devices and can only be found on the XPS motion controller.
Other software tools include a manual mode screen with options to initiate simple motions, and a monitor for axis position and group status information. Detailed system diagnostics are supported by numerous, well organized subscreens.
A user-friendly motion tuning utility helps optimizing all servo PID settings and allows simultaneous display of analog control signal, position error, integral error, target position, velocity, acceleration and more. The XPS provides also auto-tuning and auto-scaling.
The command screen is a very convenient way to learn all XPS functions and allows for simple programming and code testing. All functions are listed by groups including all required or available parameters and short descriptions. Exectuable TCL scripts can be generated from the command history.
For LabView users we have developed an extensive library of LabView drivers, which includes VIs for each individual API command. For maximum backward compatibility, these drivers have been developed under LabView version 6.0. XPS also comes with a DLL for Windows and MatLab, as well as sample programs for Visual Basic program development in Windows.
Positioner Grouping and Compensation Features
To optimize the performance and ease-of-use of advanced features like line-arc trajectories, splines, contouring, and complex PVT trajectories, the XPS incorporates motion groups which are user defined as single axis positioners, spindles, gantry groups, XY groups, XYZ groups or multiple axis groups. This greatly improves process flow and error handling and provides a uniform structure for easy application development. An extensive set of compensation factors including backlash, linear error and single axis, 2D, and 3D mapping offer a broad selection of options to increase the accuracy and performance of any application, which can transform the most basic positioner into a high performance device. All compensations, including the most sophisticated 3D mapping, are corrected dynamically during each servo cycle, which has an update rate of 10 kHz.
Advanced Trajectory and Servo Loop Features
The advanced trajectory generation and servo loop algorithms of XPS are some of the most powerful developments in the motion control industry. The proprietary motion profiler (trajectory generator) automatically optimizes the S-Gamma trajectory jerk time for each commanded move profile. This drastically reduces the excitation of mechanical resonances and stress in any motion system resulting in faster settling, more accurate trajectory execution and an increased lifetime without sacrificing the move time. A sophisticated PID loop corrects for any variations of the actual motion from the commanded trajectory. In addition to the classical PID gain parameters, customers can optimize their motion system by applying feedforward gains, a deadband threshold, a derivative filter cut-off frequency or apply up to two notch filters. Furthermore, the XPS features variable PIDs that automatically adjust their values proportional to the distance from final position. This unique feature can tighten the gain loop when in position or close to final position while loosening the gain during motion to improve stability. Using variable PIDs also allows dedicated tuning of the servo behavior for short and long stroke motion resulting in improved motion sensitivity.
High Speed Execution and Synchronization
The XPS is much more than just a motion controller. Based on a real-time multi-tasking functionality, the XPS is capable of executing complex, internally stored, user-defined applications in real time using TCL scripts (for more information about TCL go to www.tcl.tk). The state-of-the-art Pentium P4 2 GHz motion processor has enough bandwidth to support TCL program execution without adversely impacting higher-priority tasks. With this advanced real-time multi-tasking functionality, the XPS can not only manage the most complex motion requirements but also serve as a powerful process controller.
30 digital inputs and 30 outputs (TTL, open collector) are available to read external switches or to control valves, switches or other digital devices. When used within a TCL script these I/O's can provide the same functionality as a separate PLC device, all within the XPS. 4 channels of 16 bit uncommitted analog outputs increase flexibility to allow users to precisely monitor position, velocity or acceleration of any motion axis.
The XPS also offers a very convenient and powerful way to synchronize the triggering of I/Os during a motion process using dedicated event and action" API's. With a single function, users can direct the XPS to trigger an action upon the occurance of an event. Typical examples include setting a digital output when the constant velocity is reached or initiating a TCL script when the motion is done. Once defined, the XPS autonomously monitors the status of the event to trigger the action with a latency of less than 100 µs! This powerful feature does not require any complex programming and does not consume any time of the host PC or the communication link since all the processing is done internally by the XPS.
High Speed Data Integration and Acquisition
Another significant benefit provided by the XPS controller is its high-performance data acquisition capability: The XPS features 4 channels of instrument-grade 14 Bit analog-to-digital converters that can, for example, be integrated with a motion process using a TCL script. This provides significant advantages in applications such as precision alignment or auto-focusing routines that require real-time feedback from other devices including power meters, vision systems, or other sensors. Besides the obvious communication speed advantages, since the A-to-D conversion is internal to the XPS there is no added processing burden to the host PC or the communication link, which can improve process development and throughput. Alternatively, the analog inputs can be also configured to directly control the position or speed of a motion axis.
For applications that require the capture and analysis of analog data in real-time relation to the position, the XPS offers the gathering mode. In gathering, the XPS captures all important axis information and all I/Os with a time jitter of less than 50 ns and stores the data in a custom configured table. Ideal for high speed, high data rate applications, gathering can be accomplished at a rate of up to 10 kHz and with up to 1,000,000 entries to the data table.
Dedicated hardware on the XPS processor can also capture the axis positions and the I/O information based on an externally triggered TTL input with latency between the trigger input and the position acquisitions of less than 50 ns. This is equivalent to less than 10 nm of uncertainty when moving at 200 mm/s.
External data acquisition tools or other devices can be synchronized to the motion as well. For this purpose, the XPS features one dedicated TTL trigger output per axis that can be either configured to output a single pulse when crossing a specified position or output continuous pulses at specified distance intervals. Also, output pulses at constant time or constant trajectory length are supported.
The XPS-RC remote control plugs into the front panel of the XPS controller to enable computer-independent motion and basic system diagnostic. Advanced system diagnostics, incremental stepping, absolute positioning, or jogging of individual axis can be performed from different sub-screens. The integrated 3.8 touch-screen allows simultaneous position and error display of up to eight axes. The amber-colored screen is readable from farther distances and with most laser goggles. The XPS-RC remote control is supplied with a 2 m cable.
Configuring the XPS controller is facilitated by a convenient software tool. When used with Newport ESP-compatible stages, all motion settings are loaded with just a few mouse clicks.
The command screen lists all XPS functions including the necessary or available parameters. Once familiar with the XPS syntax, iIt is a convenient tool which allows for simple programming, code testing and debugging.
XPS Features Groups of Motion
Within the XPS, each positioner or axis of motion must be assigned to a motion group. Once defined, XPS automatically manages all safeties and trajectories of the motion group from the same function. For instance, the function GroupHomeSearch (Name) automatically homes the whole motion group Name, independent of whether it is defined as a single-axis group, an xy-group, an xyz-group or a multi-axes group. With the common function GroupMoveAbsolute (Name, Position) the whole motion group Name is moved in a synchronized way to the defined position, where Position may be one or more parameters depending on how many positioners this motion group contains. These powerful, object oriented functions are not only extremely intuitive and easy to use, they are also more consistent with other programming methods and reduce the number of commands to be executed by the controller compared to traditional mnemonic commands.
Another benefit provided by motion groups is the improved error handling. For instance, whenever an error occurs due to a following error or a loss of the end-of-run signal, only the motion group where the error originated is effected (disabled), while all other motion groups remain active and enabled. The XPS manages these events automatically, which greatly reduces complexity and improves the security and safety of sensitive applications. In the case of an XYZ scanning application, if there is an error on the stepping axis of the X-Y table (which is set-up as one group), then only the X-Y table will be disabled while the auto-focusing tool (Z axis as separate group) that hangs above the sample will continue to work.
XPS Features Natural Units
The XPS controller supports user-defined natural units like µm, inches, degrees or arcsec. The units for each positioner are set in the configuration file where, for instance users can define 1 encoder count equal to 0.0000351 mm. Once defined, all motions, speeds and accelerations can command in the same natural units (for instance in mm for the above example) without any additional conversions required. All other parameters like stage travel, maximum speed and all compensations are defined on the same scale as well. This is a significant time saver compared to other controllers that can be commanded only in multiples of encoder counts, which is an inconvenient unit.
XPS Features Motion and Trajectories
The XPS controller provides several modes of positioning from simple point-to-point motion to the most complex trajectories. The following gives a summary of the main positioning capabilities:
- In jogging mode, the speed and acceleration of a positioner (motion axis) can be changed on-the-fly to accommodate varying situations. This mode can be used for alignment applications or coordinate transformations by modifying the speed or acceleration of the jogging axis, independent of the position or speed of the other axes or can be based on an analog input value.
- In synchronized mode, all positioners move synchronously. At any time, any positioner of that group has executed the same section of its trajectory. The slowest positioner defines the speed and acceleration of the other positioners. This is the most popular mode for point-to-point motions and requires an accurate knowledge of the trajectory. It is also known as linear interpolation.
- In line-arc mode, a trajectory will be executed on an xy-group that is defined by elements of straight and curved segments. The definition of the trajectory is done conveniently in a text file that is sent to the controller via FTP. Once defined, the controller manages all calculations and motion commands, including precise monitoring of the speed and acceleration along the trajectory. Repeated execution of the same trajectory can also be performed without delays. A dedicated function can be implemented to perform a pre-check of the trajectory and this function returns the maximum and minimum travel required for execution as well as the maximum possible vector speed that is achievable with the different axes parameters.
- In spline mode, a trajectory will be executed on an xyz-group using a Catmull-Rom spline at constant speed. The definition of the trajectory is similar to the line-arc mode. This mode also has a trajectory pre-check function.
- The PVT-mode can be used to perform the most complex trajectories and can be implemented in multi-axes motion groups. In PVT, a trajectory element is defined by the end position (P) and end speed (V) of each positioner plus the duration for the element (T). When all points are defined, the controller calculates the complete trajectory by applying a constant acceleration for each positioner and each trajectory element. PVT is an excellent mode for executing trajectories that require varying vector speeds and for complex, synchronized trajectories that need to be executed with rotation stages or other non-linear motion devices.
- In the analog-tracking mode, one of the analog input channels is used as a position or velocity signal to the positioner. This mode is valuable in applications such as auto-focusing sensors, alignment applications and precision remote control or motion simulations.
- In the master-slave mode, a positioner can be electronically geared to any other positioner, or a single master positioner with multiple slave positioners. The gear ratio between the master and the slave is user defined. During motion execution, all axes compensations, including 3D mapping and linear compensation, are applied to each axis for optimal positioning accuracy.
XPS Features Sockets, Multitasking and Multi-User Applications
Based on the TCP/IP Internet Communication Protocol, the XPS controller can utilize a high number of virtual communication ports, known as sockets. To establish communication, the user must first request a socket id from the XPS controller (listening at a defined IP number and port number). When sending a function to a socket, the controller will always reply with a completion or error message to the socket that has requested the action.
The concept and application of sockets has many advantages. First, users can split their application into different segments that run independently on different threads or even on different computers. To illustrate this, see figure 1:
Figure 1Socket programming example
In this example, a thread on socket 1 commands an xy stage to move to certain positions to take pictures while another thread on socket 2, independently and concurrently manages an auto-focus system. The two tasks could even be run on two different computers, yet be simultaneously executed within the XPS. Alternatively, if the auto-focus system is providing an analog feedback, this task could also have been implemented as a TCL script within the XPS (see next topic).
Second, the concept of sockets has another practical advantage for many laboratory users since the use of threads allows them to share the same controller for different applications at the same time. With XPS, it is possible that one group uses one axis of the XPS controller for an optical delay line while another group simultaneously uses other axes for a totally different application. Both applications can run completely independent from different workstations without any delays or cross-talk.
XPS Features TCL
TCL stands for Tool Command Language and is an open-source string-based command language. With only a few fundamental constructs and relatively little syntax, it is easy to learn and it can be as powerful and functional as traditional C language. TCL includes many different math expressions, control structures (such as if, for, for, each, switch, etc.), events, lists, arrays, time and date manipulation, subroutines, string manipulation, file management and much more. TCL is currently used worldwide with a rapidly increasing user base. TCL is field-proven, very well documented and has many tutorials, applications, tools and books publicly available (www.tcl.tk).
XPS users can use TCL to write complete application code and the XPS allows them to include any API to a TCL script. When completed, the TCL script can be executed in real time in the background of the motion controller processor and does not impact processing requirements for servo updates or communication. The VxWorks hardware real time multi-tasking operating system used on the XPS controller assures precise management of the multiple processes with the highest reliability. Multiple TCL programs run in a time-sharing mode with same priority - interrupted only by the servo, communication tasks or when the maximum available time of 20 ms for each TCL program is exceeded.
In many cases, the advantage of executing application code within the controller over host run code is faster execution and better synchronization, without using time from the communication link. The complete communication link can be dedicated to time critical process interaction from or to the process or host controller.
Specifications
| Number of Axes |
1 to 8 axes of stepper, DC brush, DC brushless motors or piezoelectric stacks using internal drives. Other devices using external third-party drives |
| Communication Interfaces |
Internet protocol TCP/IP |
| Two Ethernet 10/100 Base-T (RJ45 connector). One with fixed IP address for local communication and one for networking, dynamic addressing with DHCP and DNS |
| Typically 0.3 ms from sending a tell position command to receive the answer |
| Optional XPS-RC remote control |
| Firmware Features |
Powerful and intuitive, object-oriented command language |
| Natural user defined units (no need to program in encoder counts) |
| Real time execution of custom tasks using TCL scripts |
| Multi-user capability using the concept of sockets |
| Distance spaced trigger output pulses, less than 50 ns latency between position crossing and trigger pulse; max. 2.5 MHz rate |
| Time spaced trigger output pulses, 0.02 to 2.5 MHz rate, 50 ns accuracy |
| Trigger output on trajectories with 100 µs resolution |
| Data gathering at up to 10 kHz rate and up to 1,000,000 data entries |
| User-defined actions at events monitored by the controller independently at a rate of 10 kHz |
| User-definable system referencing with hardware position latch of reference signal transition and set current position to value capability |
| Axis position or speed controlled by analog input |
| Axis position, speed or acceleration copied to analog output |
| Trajectory pre-check function that returns travel requirement and max. possible speed |
| Auto-tuning and auto-scaling |
| Motion |
Jogging mode including on-the fly changes of speed and acceleration |
| Synchronized point-to-point motion |
| Spindle motion (continuous motion with periodic position reset) |
| Gantry mode including XY gantries with variable load ratio |
| Line-arc mode (linear and circular interpolation incl. continuous path contouring) |
| Splines (Catmull-Rom type) |
| PVT (complex trajectories based on position, velocity and time coordinates) |
| Analog tracking (using analog input as position or velocity command) |
| Master-slave incl. single master-multiple slaves and custom gear ratio |
| Compensation |
Linear error, Backlash, 1D positioner error mapping |
| 2D and 3D error mapping |
| All corrections are taken into account on the servo loop |
| Servo Rate |
8 kHz |
| Control Loop |
Open loop, PI position, PIDFF velocity, PIDFF acceleration, PIDDualFF voltage |
| Variable PIDs (PID values depending on distance to target position) |
| Deadband threshold; Integration limit and integration time |
| Derivative cut-off filter; 2 user-defined notch filters |
| I/O |
30 TTL inputs and 30 TTL outputs (open-collector) |
| 4 synch. analog inputs +/- 10 V, 14 Bit, prog. gains x1, x2, x4, x8 (prog. gains not with all units. Call Newport for details.) |
| 4 synch. uncommitted analog outputs, 16 Bit |
| Watchdog timer and remote interlock |
| Trigger In |
Hardware latch of all positions and all I/Os; 10 kHz max. frequency |
| < 50 ns latency on positions |
| < 100 µs latency of analog input data |
| Trigger Out |
One high-speed position compare output per axes that can be either configured for position synchronized pulses or for time synchronized pulses : <50 ns accuracy/latency, 2.5 MHz max. rate |
| Dedicated Inputs Per Axis |
RS-422 differential inputs for A, B and I, Max. 25 MHz, over-velocity and quadrature error detection |
| 1 Vpp analog encoder input up to x32768 interpolation used for servo; amplitude, phase and offset correction; additional 2nd hardware interpolator used for synchronization; up to x200 interpolation |
| Forward and reverse limit, home, error input |
| Dedicated outputs per axis (when using external drives) |
2 channel 16-bit, +/- 10 V D/A |
| Drive enable, error output |
| Drive capability |
Analog voltage, analog velocity, and analog acceleration (used with XPS-DRV01 and XPS-DRV03 for DC brush motor control) |
| Analog position (used with XPS-DRV01 for stepper motor control) |
| Analog position (used with external drives for example for piezo control) |
| Analog acceleration, sine acceleration and dual sine acceleration (used with XPS-DRV02 for brushless motor control) |
Step and direction and +/- pulse mode for stepper motors (requires special XPS-DRV00 and external stepper motor driver. Call Newport for details) |
| 500 W total available drive power |
| Dimensions (W x D x H) |
19 x 20 x 7 in. |
| 482 x 508 x 177(4U) mm |
| Weight |
32 lb |
| 16 kg |
Need Accuracy to 1 µm?
For critical positioning applications, Newport offers Micropositioning Calibration Services
(Error Mapping). We will create, implement and verify an electronic compensation process to improve the absolute position accuracy of select Newport Linear Stages, when commanded by the XPS Controller. Compensation is performed at 20.0 °C,+/-0.2 °C, for linear and non-linear errors, ensuring accuracy of up to 1µm/100 mm over the middle 80% of travel. A certificate of calibration per Newport Metrology Procedure A167 and measured error maps are provided. Refer to the Motion Control Metrology Primer for additional information.
Motor Driver Options
The XPS controller is capable of driving up to 8 axes of most Newport positioners with internal drives that slide into the back of the mainframe. These factory-tested modules are powered by an internal 500 W power supply that is independent of the controller power supply.
The XPS-DRV01 is a software configurable PWM amplifier that is compatible with most of Newports and other companies DC brush and 2-phase stepper motor positioners. When used with Newport stages, the configuration of the amplifier is easily completed using the auto-configuration utility software, or advanced users can manually develop their own configuration files specifically optimized for each application. The XPS-DRV01 motor driver supplies a maximum current of 3 Amps and 48 Volts. It can drive unipolar and bipolar 2-phase stepper motors in microstep mode (sine/cosine commutation) and DC brush motors in velocity mode, for motors with a tachometer, or in voltage mode, for motors without a tachometer. Programmable gains and a programmable PWM switching frequency up to 300 kHz allow a very fine adjustment of the driver to the motor. For added safety, a programmable over-current protection setting can be used.
The XPS-DRV02 is a software configurable PWM amplifier for 3-phase brushless motors. This driver has been optimized to perform with the XM and IMS-LM linear motor stages. The XPS-DRV02 supplies a 100 kHz PWM output with a maximum output current of 5 Amps per phase and 44 Vpp. The XPS-DRV02 requires 1 Vpp encoder input signals which is also used for motor commutation. Motor initialization is accomplished through a proprietary and patented method that results in insignificant stage motion, without the need for hall effect or other sensors. Low noise versions of the XPS-DRV02 enable positioning MIM down to 1nm (XPS-DRV02L).
The XPS-DRV03 is a fully numerical, programmable PWM-Amplifier that has been optimized for the use with high-performance DC motors. The 100kHz high switching frequency and appropriate filter technologies minimize noise, enabling ultra-precision positioning in the nm-range. The XPS-DRV03 supplies a maximum current of 5 Amps and 48 Volts. It can drive DC motors in velocity mode, for motors with a tachometer, in voltage mode, for motors without a tachometer, and in current mode, for torque motors. All parameters are free programmable in physical units, for instance the bandwidth of the velocity loop. Furthermore, the XPS-DRV03 features separate limits for the rms current and peak current.
The XPS-DRVP1 can drive both open loop and closed loop NanoPositioning piezoelectric stages, with or without a strain gage position sensor. The XPS-DRVP1 supplies peak current of 60mA for high dynamic response and -10V to 130V at maximum stage travel. It has an internal frequency of 4kHz for optimum closed loop performance.
The XPS-DRV00 pass-through module can be used to pass control signals to other external third-party amplifiers or drivers. By setting the controllers dual DAC output to either analog position, analog stepper position, analog velocity, analog voltage or analog acceleration, including sine commutation, the XPS can control almost any motion device - including brushless motors, voice coils and piezoelectric stages.
In addition to conventional digital AquadB feedback encoder interface, the XPS controller also features a high-performance analog encoder input (1 Vpp Heidenhain standard) on each axis. An ultra-high resolution, very low noise, encoder signal interpolator converts the sine-wave input to an exact position value with a signal subdivision up to 32,768-fold. For example, when used with a scale with 4 µm signal period, the resolution can be as fine as 0.122 nm. This interpolator can be used for accurate position feedback on the servo corrector of the system. An additional hardware interpolator with 40 MHz clock frequency and programmable signal subdivision up to 200-fold is used for synchronization. This fast interpolator directly latches the position with less than 50 ns latency and provides a much higher level of precision for synchronization than alternative time based systems. Unlike most high-resolution multiplication devices, the XPS interpolators do not compromise positioning speed. With a maximum input frequency ranging from 180 kHz to 400 kHz, depending on the interpolation factor, the maximum speed of a stage with a 20 µm signal period scale can be up to 3.6 m/s.