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.
To view compatible Newport stages and actuators, refer to compatibility chart.
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.
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
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.
XPS-GCODE Software Conversion and Execution Software
XPS Firmware History
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.