Template:X-Series/Quick Tutorial/X-JOY3

From ZaberWiki
Jump to navigation Jump to search

Quick Tutorial

During operation, the joystick does not need to be connected to a computer, however connection to a computer will be required initially for proper configuration of the joystick for your application. We recommend using Zaber Console to communicate with the device(s). For other software options, see the Software page. Please refer to the ASCII Protocol Manual and/or Binary Protocol Manual for more detailed information on the available commands.

Initial Setup

{{{Device}}} Setup
  1. Power up the {{{Device}}} and all integrated devices and controllers to be controlled and daisy-chain them together with the {{{Device}}} at the beginning of the chain. Use the RS-232 "Prev" and "Next" connectors (see Daisy-Chaining Devices for more details). Many products share power through the daisy-chain cables. The power indicator on each should light up.
  2. Download and install Zaber Console. Start Zaber Console and select the communications port the {{{Device}}} is connected to. For instructions on how to find the available communication ports on your system, please refer to: Appendix A - Available Communications Ports.
  3. From the Console, issue a renumber (T:2) command to all devices (Zaber Console may prompt you to do this). The first device in the chain (closest to the computer) will become Device 1, the next will become Device 2, and so on.

Every time the motorized devices are powered up or reset, they will need to be returned to the home position in order to work properly with the {{{Device}}}. This is achieved by sending the home (T:1) command, or by using the joystick to move the devices to their home positions. It is possible to program a key on the {{{Device}}} to home the attached devices as well. Until this is done, most devices will only allow motion in one direction, towards the sensor.

If it is not possible in your application to home the device after every power-up, see the tools parking (T:65) command. Parking allows the device to be turned off and then used at a later time without first having to home the axes. Using the {{{Device}}}, it is possible to program a key to park and unpark the device.

Move each axis of the joystick. The default target devices are:

  • Joystick axis 1 controls device 2, axis 1
  • Joystick axis 2 controls device 3, axis 1
  • Joystick axis 3 controls device 4, axis 1

See the Configuration section for information on how to modify joystick parameters.

By default, the keys have the following functions saved:

Key    Short Press              Long Press

1 Stop all axes Home all axes
2 Send alerts* 1, 2 Send alerts* 1, 3, 4
3 Move to saved position Save current position
4 Move to saved position Save current position
5 Move to saved position Save current position
6 Axis 1 low speed Axis 1 high speed
7 Axis 2 low speed Axis 2 high speed
8 Axis 3 low speed Axis 3 high speed
*When comm.alert is set to 1.

The {{{Device}}}'s yellow LED will flash every time it receives or sends a command. The default high speed is 44880, and the low speed is 10000. The key commands can be modified to suit your application, as discussed in the Configuration section.


In order to customize the joystick, it needs to be connected to a computer. The {{{Device}}} ships with the ASCII Protocol enabled, but the Binary Protocol is supported as well. If all devices in the daisy chain are X- or A- Series, we recommend using the ASCII Protocol as it has more features and is more intuitive to use. Note that when using the ASCII Protocol, each device that the joystick controls must have firmware version 6.14 or greater. If any devices are T-Series devices or have firmware version 6.13 or below, then you will need to use the Binary Protocol.


  • Using the ASCII Protocol allows integration with ASCII-only features such as triggers, streams, and lockstep.
  • The target device and axis, maximum speed, speed profile, axis inversion, and resolution can all be adjusted. See the joystick commands for further details.
  • The keys can be reprogrammed with different functions using the key commands. The ASCII Protocol allows more than one command to be saved per key event.
  • The keys can also be configured to send alert messages to the computer, allowing the keys to be used to trigger actions in custom computer scripts. This is explained in the key command documentation.


  • The Binary Protocol allows the target device, maximum speed, speed profile, and inversion of each joystick axis to be configured. See Binary commands T:25, T:26, T:27, T:28, and T:29 for more details.
  • The keys can be reprogrammed using command T:30. Note that the Binary Protocol only allows one command to be saved per key event.

Built-In Help

Zaber X-Series devices feature a built-in help guide, providing a quick and easy reference for all Commands and Settings that the device has. To access the help, send: /1 help (for help with Device 1). The device number must be specified in the help command. This feature is only available in the ASCII Protocol.

The device will respond with a detailed description on how to access specific information about commands and replies, as shown below:

@01 0 OK IDLE WR 0
#01 0  '/stop'     stop all devices
#01 0  '/1 stop'   stop device number 1
#01 0  '/1 2 stop'   stop device number 1 axis number 2
#01 0
#01 0 Type '/help commands' for a list of all top-level commands.
#01 0 Type '/help reply' for a quick reference on reply messages.
#01 0 Visit www.zaber.com/support for complete instruction manuals.

To access help for a specific command, for example the joystick commands, send:

/1 help joystick
@01 0 OK IDLE -- 0
#01 0  joystick JAXIS speedprofile PROFILE
#01 0                           Set axis speed profile
#01 0  joystick JAXIS maxspeed MAX
#01 0                           Set axis maximum speed
#01 0  joystick JAXIS invert X  Set axis inversion
#01 0  joystick JAXIS info      Display axis configuration
#01 0  joystick JAXIS target DEVICE MODE AXIS
#01 0                           Set special motion mode (e.g. lockstep)
#01 0  joystick JAXIS target DEVICE AXIS
#01 0                           Set target device and axis
#01 0  joystick JAXIS resolution STEPS
#01 0                           Set axis resolution
#01 0  joystick calibrate CALIBMODE CALIBACTION
#01 0                           Calibrate joystick limits or deadbands