Software/Zaber Console

From ZaberWiki
Jump to navigation Jump to search
A screenshot of the Zaber Console interface

Zaber Console is an application that lets you send commands to your Zaber devices, adjust their settings, and create simple scripts of commands.

Downloads and Installation

Download Type Link Supported Operating Systems
Installer InstallZaberConsole.exe Windows XP, Vista, 7, 8, 10
Source Code Git repository Windows 7 or 10 with Visual Studio 2017

System Requirements

Release Notes

Using Zaber Console

Managing Communication Ports

At the top of the Zaber Console window, there are controls for managing the connection with the COM port that your Zaber devices are connected to. A COM port is a specific serial connection on a computer, such as COM1 or COM8. USB connections will create a virtual COM port that's available to the computer while the device is connected.

Zaber Console can also connect to remote COM ports on other computers on your local area network or to special-purpose network-to-serial bridge devices. Zaber offers the Zaber Bridge program which can run on any computer to enable remote connections to that computer's COM ports, even if nobody is logged in. There are also many third-party devices that can bridge network connections to serial ports. Compatibility of these devices with Zaber Console varies; please contact Zaber customer support for the latest recommendations.

Select a local COM Port

To start controlling your device, select the COM port that the device is connected to from the connection drop-down list. If you are not sure which to select, try each one in order until the expected devices show up in the device list. If you don't see any COM ports, first check whether you've installed the required USB Serial Port Drivers. If they're installed and you still don't see a port, contact Zaber's technical support.

ZaberConsole SelectPort Serial.png

Select a TCP/IP Connection (Remote COM Port)

To add a connection to another computer or a network-to-serial bridge, you need the IP address of the computer or bridge and the TCP/IP port number that machine is listening for connections on. Once you have this information, open the connection drop-down list and click the "Manage connections" button at the bottom of the list.

ZaberConsole ManageConnections.png

This will cause the connection manager dialog box to appear. Open the connection drop-down list at the top of the dialog, and click the "Add new connection" button at the bottom of the list.

ZaberConsole ManageConnections AddNew.png

Change the "Connection type" selection to TCP/IP and enter the IP address and port number to connect to. You can optionally enter a name for this connection.

Instead of the IP address, you can enter the network name of the remote computer if it has one (provided your computer can resolve that name to an IP address).

ZaberConsole ManageConnections TCP Example.png

Clicking the "Test connection" button will show if the address information you have entered will work. This button will attempt to detect a Zaber device connected to the remote port, and an icon will appear beside the button to indicate that testing is in progress. On success, the icon will turn green. On failure, it will turn red and you can mouse over it to read the cause of the failure. Note that if the IP address and port number you enter are not correct, it can take up to thirty seconds for the connection attempt to time out, and during that time you cannot use the test button.

Finally, click the "Save" button to add this connection to the connection drop-down list in the main window. After this, you will be able to select the remote COM port from the same list as the local ones, without going through the connection manager dialog; the dialog is only needed to create new connections or modify existing ones.

ZaberConsole SelectPort TCP2.png


Press Open to connect to the selected COM port. When the port is open, the communication protocol (ASCII or Binary) and baud rate of the connection will be displayed next to the COM port. If Zaber Console is set to query the devices in the Options tab, then the device list will be populated.

ZaberConsole OpenedPortSerial.png


Press Close to end your connection with the COM port. If you close Zaber Console, the COM port will be automatically closed.

Connection Menu

The menu icon at the top right corner of the window provides some additional functions related to communication.

ZaberConsole ConnectionMenu.png

Find Missing Devices

If you've connected to the correct COM port, but some or all of your expected devices are missing from the device list, use the Find Missing Devices menu item. This tool will do an extensive search of all possible communication protocols, baud rates, and device numbers to identify any devices that may be connected. Once they're detected, they will all be set to a shared communication protocol and baud rate. You can select the preferred communication and baud rate during this process.

Please note that the "Find Missing Devices" button only works with local COM ports; if you connect devices with inconsistent protocols, baud rates or device numbers to a COM port on a remote computer, you must use Zaber Console on that computer to get all of the devices to use consistent settings.

Protocol Quick Change

The menu item that is labelled "Switch to the Binary Protocol" or "Switch to the ASCII Protocol" is a quick way to manually toggle the local COM port connection between the ASCII Protocol at 115,200 baud and the Binary protocol at 9,600 baud, the two most commonly used combinations. This command is rarely used but may be useful if you often need to change protocols on the same COM port. This command also only works with local COM ports.

Device List

The Device List is only visible when the port is open, and it shows a list of all the detected devices and axes. Any device in the list can be selected by left-clicking on it. Many of the commands and settings available in the different tabs will apply to the selected device. The first device in the list is always 'All Devices', which you can select if you'd like to send commands to, or read information from, all connected devices.

Zcsp device list.png

Device Number

In order to control an individual device and axis in a daisy-chain that contains multiple devices, each device needs to have a unique address. This is known as the device number. You can use the renumber command to change the device number of any device. When you open the COM port, if two or more devices have the same device number, Zaber Console will ask you whether you'd like to renumber them.

Device Type

This shows the name of the device that corresponds to the device number. If a controller is connected, the peripheral name will also be indicated. The peripheral name will either be detected automatically if the controller and peripheral are capable of this, otherwise it will be based on the peripheralid setting. If the peripheral ID has not been set, it will display 'Enter peripheral ID' or 'safe mode'.

An icon next to each peripheral name indicates the connection status:

  • Zcsp axis disabled.png - no peripheral is currently detected or the peripheralid of the axis is not set
  • Zcsp axis active.png - the peripheral is configured and active
  • Zcsp axis broken.png - a FW 7.xx controller has detected a peripheral disconnection or change; the peripheral needs to be activated before it can be used

The Activate/Reactivate button will be displayed when:

  • a newly connected peripheral needs to be activated (on controllers that support automatic detection)
  • a non-detectable peripheral is unplugged then plugged back in, and needs to be re-activated
  • a user has entered a new peripheral ID where the name is displayed, and the change needs to be confirmed

To see more information on the status of the peripheral, mouse over the Zcsp axis info icon.png icon.

Please note that peripheral connection status may not be up to date if the "Update peripheral and connection status" isn't checked in the Options tab.


The Position field shows the current position of each axis. This information is updated based on the selected frequency of the "Update position and peripheral connection status" setting in the Options tab, or if this setting is disable it will update when any response with position information is returned for the axis, such as the response to the 'get pos' command.


This field is to select the unit type for setting and reading distances, positions, speeds, and accelerations for any commands and settings that can use the selected units.


The Flags field is only displayed when using the ASCII command protocol. It displays any warning flags that the device has returned on it's most recent response. Mouse-over over this field to see a more detailed description of the warning.

Quick Controls

To be able to quickly control the movement of any connected device, there is a list of Quick Control buttons in each row. The functions of the buttons are as follows:

ZaberConsole MoveMin.png and ZaberConsole MoveMax.png - Move to Travel Limit

ZaberConsole MoveNegativeSpeed.png and ZaberConsole MovePositiveSpeed.png - Move at a Set Speed (linear devices: 5 mm/s, rotary devices: 1 degree/s, unrecognized devices: 5000 microsteps/second)

ZaberConsole MoveNegativePos.png and ZaberConsole MovePositivePos.png - Move a Set Distance (linear devices: 10 mm, rotary devices: 5 degrees, unrecognized devices: 10000 microsteps)

ZaberConsole Stop.png - Stop Device

ZaberConsole Home.png - Home Device

ZaberConsole Gear.png - Open the Device Menu

Device Menu

The Device Menu appears at the right end of Device List rows where there are some special operations that can be performed on a device or peripheral.

ZaberConsole DeviceMenu.png

You may see a red dot on the gear icon that opens the menu; if the dot is present it means a condition has been detected on the device that recommends using one of the tools in this menu. There will be a red exclamation mark icon next to the relevant menu item(s) in this case.

The items shown in the Device Menu will vary between devices. You may see these options:

  • Update Firmware opens the Firmware Updater tool. You can easily update to the latest firmware version from Zaber Console for any Zaber device with firmware 6.18 or higher. Detailed instructions are available: Firmware Updater user manual
  • Calibration - For devices that come with calibration data, Zaber Console provides a tool to back up the data to CSV spreadsheet files and restore it later. It is necessary to do this if you are upgrading the firmware on some devices that have calibration data, as the firmware upgrade process will erase the data. For standalone controllers that you use with multiple peripherals, you can also use this tool to swap calibration tables for different peripherals in and out of the controller's memory. To use this tool, select the device you want to interact with, then press the "Calibration Data" button.

Tab Dock

The lower section of Zaber Console is the Tab Dock. This dock contains a number of tabs that are used for interacting with Zaber's devices. You can select the tab you'd like to use by left-clicking on it. The functions and features of each tab are covered below, but first the controls for managing the tabs will be explained.

ZaberConsole TabDock.png

Tab Management

The tabs can be rearranged by holding down the left mouse button on the tab's title and then dragging it to a new position and letting go; you can use the same method to undock the tabs, making them into floating windows. These window layouts will be saved when you exit Zaber Console and restored the next time you start it.

The tabs and floating windows have controls at the upper right corner of the window or tab header for docking, undocking, or closing them:

Docked Tab Controls

ZaberConsole DockedOptions.png - Tab Menu. Shows options for opening, undocking, switching and closing tabs. Same as right-clicking on the tab.

ZaberConsole DockedClose.png - Close tab.

Undocked Tab Controls

ZaberConsole UndockedOptions.png - Tab Menu. Shows options for opening, redocking, switching and closing tabs. Same as right-clicking on the window.

ZaberConsole UndockedMaximize.png - Maximize window to full screen.

ZaberConsole UndockedRedock.png - Redock tab in main window.

ZaberConsole UndockedClose.png - Close tab.

On the Tab Dock, you can open a new tab by clicking the plus symbol, ZaberConsole AddTab.png, and choosing one from the list that appears - the list shows you all available tabs that are not currently added to the tab dock. You can also open and close tabs by going to the Options tab and clicking on the "Plugins and Tabs" button. At the far right of the tab header area the ZaberConsole ViewTab.png button shows a list of the tabs that are currently visible - clicking on one will jump to that tab. Note the Options and Help tabs cannot be closed or made into floating windows.

ZaberConsole SplitDock.png
The tab dock can additionally be split horizontally or vertically to create additional docks. This way, you can view two or more tabs at the same time. To create a second dock, left-click and drag a tab as if you were undocking it. The icon shown here to the right, which has four directions, will appear in the middle of the dock. Drag your cursor to the top or bottom arrow to create a dock above or below the original. Drag your cursor to the right or left arrow to create a dock on that side of the original. You can then drag tabs from one dock to the other. Drag the tab back to the main dock to unify them.

Simple Tab

The Simple tab
This tab gives easy access to some of the most common movement commands, including homing the device, stopping movement, and movement commands. Three separate movement commands can be configured, and each can have one of three movement types: Move to Absolute Position, Move by Relative Distance, or Move at Velocity. The position, distance, or speed can be set and all settings will persist to the next time you use Zaber Console. For Move by Relative Distance and Move at Velocity commands, the left arrow button moves the device in a negative direction while the right arrow button moves the device in the positive direction. The units of the movement are set by the units field of the device list.

When the Simple tab is selected, some shortcut keys on the keyboard are also active:

  • Alt + Home - home the selected device
  • Space - stop the selected device

Commands Tab

The Commands tab in ASCII mode
The Commands tab in Binary mode
The Commands tab presents a list of commands that are available on a selected device.

There are three options for viewing the list of commands: All, Basic, and Favourites. The Basic list shows the commands that are typically the most frequently used. The All list shows every commands that is available on the device. In both of these lists, you can click on the ZaberConsole Unstarred.png icon beside the command to add it to the Favourites list. Favourited commands will have a ZaberConsole Starred.png icon beside them. The Favourites list is saved between instances of Zaber Console.

Binary Protocol: When connected with the Binary protocol, each command will have one field to enter a value. The Send button on the right will send the command to the selected device.

ASCII Protocol: When connected with the ASCII protocol, some commands will have multiple parameters. These commands are grouped, and you can press the ZaberConsole Expand.png icon to expand the list and show all parameters. Press the ZaberConsole Contract.png icon to contract the list. A text entry field at the top allows you to type a desired command. As you type, a list of the matching commands will be displayed. Press send to run this command.

The right hand side of the Command tab displays detailed information for the currently selected command, when available. This help content is displayed live from the protocol manuals on Zaber's website (ASCII manual and Binary manual). If you do not always have network access, or prefer not to use the online version, you can use a locally stored copy by unchecking "Use Online Resources' in the Options tab.

If you have set the Units field for a device in the device list, any commands that can use that unit will also have the units set. You can change it from the Commands tab as well though.

Settings Tab

The Settings tab
The Settings tab presents a list of settings that can be read or changed on a selected device.

There are three options for viewing the list of settings: All, Basic, and Favourites. The Basic list shows the settings that are typically the most frequently used. The All list shows every setting that is available on the device. In both of these lists, you can click on the ZaberConsole Unstarred.png icon beside the setting to add it to the Favourites list. Favourited settings will have a ZaberConsole Starred.png icon beside them. The Favourites list is saved between instances of Zaber Console.

When connected with the ASCII protocol, some settings are grouped together according to their naming. You can press the ZaberConsole Expand.png icon to expand any grouped settings. Press the ZaberConsole Contract.png icon to contract the list.

The right hand side of the Settings tab displays detailed information for the currently selected setting, when available. This help content is displayed live from the protocol manuals on Zaber's website (ASCII manual and Binary manual). If you do not always have network access, or prefer not to use the online version, you can use a locally stored copy by unchecking "Use Online Resources' in the Options tab.

If you have set the Units field for a device in the device list, any settings that can use that unit will also have the units set. You can change it from the Settings tab as well though.

Scripts Tab

The Scripts tab
The Script Editor
Zaber Console allows you to create and run scripts in various programming languages directly, enabling easy automation of Zaber devices. The Scripts tab is the interface for these scripts.

Please note that scripting in Zaber Console is not recommended for new development; please consider using the Zaber Motion Library instead.

Zaber Console currently supports scripting in C#, Python, JavaScript, and Visual Basic; although, if you aren't familiar with any programming languages, the manuals below introduce them from a non-programming perspective. Scripts can be used to send sequences of instructions to Zaber devices in order to automate a positioning application. You can also perform conditional actions and repeat the same actions multiple times using loop structures.

Press 'Create new script' to open a blank script, or to open an existing script select it and either double-click on it or press 'Edit script'. Several examples are available as a starting point; check 'Show examples' to choose examples to load. Press the folder icon to change the directory that the scripts are stored in, and use the check box to control whether files in the subfolders of that directory are also shown.

Follow these links for more details on scripting:

A full description of the Zaber-specific functions can be found by selecting 'Help -> Zaber Library Help File' from the Script Editor.

Oscilloscope Tab

The Oscilloscope tab
The Oscilloscope tab allows you to collect, visualize, and store changes in settings of a Zaber device over time. Controls are available to adjust the sampling frequency, select which values are shown, initiate a movement when sampling starts, and export data in a spreadsheet format.

Currently the Oscilloscope tab works with a single axis using the Zaber ASCII protocol, and some features are limited to devices with firmware version 7.01 or higher.

Configuring the Capture

Controls for defining the next capture

On the left of the Oscilloscope tab are a series of controls to define what data will be captured. Each of these options are described below. Once these are set, press the Start Capture button to begin collecting data, and either wait for data to finish being collected or press Stop Capture.

Trigger - provides options for changing between Auto and Manual capture mode.

Select Auto mode to have Zaber Console query the device for values at a specified rate and display the values in a graph as it's gathered. Data will continue to be sampled until the Stop Capture button is pressed.

Select Manual mode to have the device store setting values internally during the capture period, and then send the data to Zaber Console to graph at the end of the capture. The benefit of this mode is that data can be captured at a higher frequency, and that the time between data captures is more consistent. A drawback of this mode is that a limited amount of data can be captured before the available memory is full; data cannot continue to be captured indefinitely.

Manual mode uses the scope command, which is available for devices using the Zaber ASCII protocol with firmware 7.01 or higher; the Manual option is disabled for non-compatible devices.

Channels - allows adding and removing the settings to be graphed in the next capture.

Click on the green plus sign to add a new setting to the capture list. Click on the red minus sign to remove a setting.

A drop-down control shows a list of settings you can select from to include in the next capture. By default, a limited list featuring the settings that typically change during motion or relate to motion are displayed, along with short descriptions. To choose a setting that is not on the list, select "All" from the "Settings" menu described below. After selecting a setting, choose the units you'd like to display the data in and the colour the data should be graphed in.

The Delay field specifies a time to wait after pressing the "Start Capture" button before data capture starts.

The Sample rate is the frequency with which all of the channels will be sampled. If using manual mode, the sample rate has a maximum of 10 kHz. If using auto mode, the maximum frequency will depend on the number of channels being sampled. If the frequency requested is faster than the device can respond, the device will send data as frequently as it's able to.

Signal Generator - provides options for moving the device at the same time as data is captured when the check box is checked.

The Movement control allows you to select whether you want the step size to indicate a relative distance from the starting position (Move relative) or an absolute position with reference to the home location (Move absolute).

The Step size field allows you to specify the position or distance of the movement, with an option to select the units.

Checking Return to start? will cause the device to return to it's initial position once the capture is completed or stopped.

If the Delay field mentioned above is set to a nonzero value, the delay takes place between the signal generator start and data capture start. This is useful for doing a high-resolution manual capture of a small part of a move.

Settings - provides some miscellaneous additional controls.

The Time span field is a limit to the size of the captured data, in seconds, when using Auto trigger mode. After this specified time has elapsed, new data will continue to be collected while old data is discarded. The graph will display this visually; the size of the Time axis will stop growing once it reaches the Time span value, and instead both the maximum and minimum times shown will both start increasing at the same rate. New data will be shown on the right side of the graph while old data will disappear from the left side.

The Settings option indicates whether the Channel control displays a limited "Basic" set of settings that are used most frequently, or whether "All" available settings are shown in the Channel control.

Viewing the Graph

Graph of a capture

When a capture is started, a new tab to show the graph representing that capture is created. The graph's name increments as more capture are started, but it can be edited by right clicking on it and selecting "Rename plot".

The graph will display lines for each series of data. A legend is shown below the graph indicating the setting, colour, and units for each channel. The units can be adjusted at any time. Click on the eye symbol next to a setting to toggle the visibility of that channel on the plot.

The graph will automatically scale to show all of the data. Use the scroll wheel when the cursor is over the graph to zoom in and out, and the right mouse button to pan. Hold the left mouse button down when over a line to see the data value for the position in time the cursor is at. To reset the scale to show the entirety of the data, press "Reset zoom". Press clear to erase all the data for that capture.

Exporting the Data

All data captured can be easily exported in a comma separated variable (CSV) format. Press "Export to CSV" to export the data for the currently shown capture, or "Export all to CSV" to save each capture to a separate CSV file. After choosing one, select the folder you'd like to save the data.

Servo Tuning Tab

The Servo Tuning tab
The Servo Tuning tab allows you to easily generate and manage sets of parameters, called presets, for the servo control loop of Zaber's direct drive and linear motor devices. The tab can only be used when a compatible servo device is selected and communicating using the ASCII command protocol. The first time a compatible device is detected, Zaber Console will ask if you want to the tab to be added to the tab dock.

While the default parameters used in the control loop (which the device uses when it’s powered on for the first time) are optimized for good performance with no load added to the device, tuning the parameters of the control loop allows you to adjust the smoothness, accuracy, and responsiveness of the movement.

The options for how the tuning parameters can be generated are described below, followed by how the tuning presets can be managed, including reading, saving, and applying them.

Use caution when adjusting parameters; it’s possible to enter values that will cause the device to become unstable and move erratically. If this occurs, press the ‘Disable driver’ button to stop current to the motor and stop driven motion. The parameters can then be adjusted to be more stable, or be returned to default values. Press ‘Enable Driver’ to resume driven motion.

Generating Tuning Presets

A tuning preset includes a number of raw parameters that the control loop uses. Setting these low-level parameters directly requires an in-depth understanding of the underlying control loop. While these parameters can be edited directly using the 'Advanced' method (described below), we recommend using one of the 'Simple' or 'PID' methods (also described below) that are simplified, more intuitive, and require fewer variables. Finally, the 'Import / Export' method is used to easily save presets, or transfer them between devices or between computers.

Simple method

The Simple tuning method simplifies tuning to just require information about the load, and a preference on tuning stiffness.

The Load has two components: Stage moving mass and Load mass. The Stage moving mass is the weight of the moving carriage, and will vary from device to device. Zaber Console will automatically populate this, but the user can override it and the overridden value will be saved. The Load mass is how much weight is being added to the stage for the application.

The Stiffness control is a slider that varies from Smooth to Stiff. Stiffer tuning means that the control loop will react more quickly and forcefully to position errors. Smoother tuning means that position correction may take longer, but there will be less vibration.

While these are the only two controls that affect the control loop tuning, there is an additional control for Acceleration. In order for the control loop to be accurate, it must have enough force capability to keep up with the trajectory's acceleration. The load the device is carrying affects that maximum acceleration that the control loop can keep up with. As the user changes the input Load, the recommended maximum acceleration will be updated. Use the acceleration controls to adjust acceleration easily to ensure it is at or below the recommended value.

PID method

Many users are familiar with tuning using Proportional, Integral, and Derivative (PID) gain values. While these are not the native tuning parameters on Zaber servo devices, the PID tuning method facilitates this conversion.

Block diagram showing the PID controller logic

To use this method, enter or read data in the four controls:

  • kp: Proportional gain. Error correction scaled to the current measured position error. Increasing it produces stiffer behavior, but can also cause overshoot and degrade stability.
  • ki: Integral gain. Error correction scaled to the historical position error. Increasing it will decrease setting time and eliminate steady-state error, but can also cause overshoot and degrade stability.
  • kd: Derivative gain. Error correction scaled to the rate of change in the measured position error. Increasing it increases stability, decreases overshoot, and damps oscillations, but can also lower setting time and increase noise.
  • fc: Low pass filter cutoff frequency. Lower values reduce audible noise and vibration, but also cause slower settling and can degrade stability.

The conversion works both ways; values can be entered using PID parameters and they will be converted to the devices native parameters, but the native parameters can also be read back in terms of PID. This conversion involves some rounding, so PID values written to a device may be slightly different when read back.

The PID tuner method in Zaber Console does not currently support feedforward parameters.

For more information on the formulation of the conversion, contact Zaber's technical support.

Import / Export
Import / Export method

This method is for saving and loading tuning parameters rather than generating a new one.

The main control shows a list of tuning parameters, each with a field for the Name, controller information, and a list of the raw parameters associated with it. To generate a new entry in this list, select a parameter set to read from using the control at the bottom of the tab, and press Read back. To apply an entry in the list to the device, select the parameter set to change using the control at the bottom of the tab and press Write. Double-click on the Name field to add a name, or right-click on an entry to delete or re-order it. This allows you to store many different tuning presets and load them to the device easily, or to read a tuning preset from one device and apply it to another.

The parameter sets can be saved to a file, in a comma-separated-variable (CSV) format, by pressing Save as. Press Open file to choose a CSV to load from. These allow you to transfer tuning presets between computers, or store them to a network location.

Advanced method

The Advanced tuning method allows direct editing of the raw parameters.

We strongly recommend using either the Simple or PID methods to tune the control loop. These methods should suffice for almost all applications, and are simpler (they do not require in-depth knowledge of the control loop). If you need details of any of the raw parameters though, please contact Zaber's technical support.

Reading, Storing, and Applying Tuning Presets

Controls for managing generated parameters

There are two sets of controls in the Servo Tuning Tab for managing parameters, one for managing the parameters generated using Zaber Console, and one for managing the presets already on the device.

The controls for managing parameters generated using Zaber Console are at the bottom of the tab. The first control is to select the Device parameter set to read/write, and a drop-down gives a list of either "live" or any of the presets on the device. The live parameter set is what the control loop is currently using, while each of the presets are locations on the device where a set of parameters can be stored.

Once the parameter set is selected, press Write to apply the tuning based on the currently displayed tuning method (Simple, PID, Import/Export, or Advanced) to that parameter set.

If the PID, Import/Export, or Advanced tuning methods are currently displayed, a Read back button will also be available. This button updates the values in the currently displayed tuning method based on the values of the selected parameter set. The Simple tuning method does not allow writing, as the conversion from Load / Stiffness is one-directional; these parameters can not be identified based on raw parameters.

The Write defaults button will send the parameters that the device shipped with to the selected parameter set.

Controls for presets on the device

The controls for managing the presets already on the device are on the right side of the tab, in the Device management box.

An indicator at the top shows the Live parameter set. If any of the saved presets on the device match the values of the live parameter set, that preset will be shown. If the live parameter set does not match any of the saved presets, NOT SAVED will be shown. The below drop-down menu allows you to select a preset, and pressing Activate will update the live parameter set to match the selected preset.

The Power-on preset indicator shows which preset will be active as the live parameter set whenever the device powers on. To change which preset this is, select the one to use from the drop-down menu and press Change.

The Disable driver button allows you to quickly disable power to the motor while still communicating with the controller. Changing tuning parameters can cause a device to behave erratically. If this occurs, press Disable driver to stop driven motion. This allows you to change the live parameters to values that will not cause erratic behaviour, such as the default values, before re-enabling the driver.

The Open oscilloscope button allows you to quickly open the [Oscilloscope tab|#Oscilloscope tab], which can be used in conjunction with the Servo Tuning tab to view and fine-tune how the tuning affects a step-response.

Terminal Tab

The Terminal tab in ASCII mode
The Terminal tab in Binary mode
The Terminal tab lets you send any command to any device number, and view a log of all commands and responses.

When connected with ASCII, a text box allows you to type in commands, and the Send button or the Enter key will send the command. You can use the up and down arrow keys to recall previously sent commands. Refer to the ASCII protocol manual for information about the available commands.

When connected with Binary, there are several controls to allow you to easily specify each field. While there's also an option to change register values directly, this should not be used unless directed by Zaber technical support. Warning: Adjusting registers can cause damage to the device. Refer to the Binary protocol manual for information about the available commands.

A message log displays a list of all commands sent from Zaber Console and all responses received from any device. The Copy button will copy the log to your clipboard so that you can paste it into a text editor or an email. The Clear button will delete the record of commands and settings.

Options Tab

The Options tab
The Options tab contains several settings and tools for configuring both Zaber Console and the connected devices.

When Opening Port - These settings indicate whether Zaber Console should actively poll connected devices and detect what protocol and baud rate are set (i.e. "Query devices"), or whether Zaber Console should not poll, allowing the user to select the preferred port type (i.e. "Do not query"). If "Do not query" is selected, the device list will not be populated and some of the tabs will have limited functionality.

Communications - There are several options under "Communications" for how Zaber Console will handle sending and receiving messages. The default settings (shown in the screenshot to the right) should not be changed without consulting Zaber's technical support.

Auto Refresh - Causes Zaber Console to request device position updates at the selected interval, and display the positions in the Device List. It will also monitor the peripheral connection status of controllers that support peripheral auto-detection, and display additional controls in the Device List when a peripheral change is detected. Enabling this option is strongly recommended if you use controllers that support auto-detection and frequently change peripherals.

Use Online Resources - This authorizes Zaber Console to use your network connection to fetch updated data from Zaber. This includes downloading the latest database of Zaber device properties and using online help for tabs that display help. If you are using Zaber Console on a computer that does not always have Internet access, disabling this option will avoid network errors.

Application Log - A text file is displayed that contains detailed information about program operations. If you contact Zaber customer service for help, you may be asked to email the contents of this file.

Plug-ins and Tabs - Allows you to configure which tabs are displayed, as well as locate and manage the folder where you can add your own tabs and plug-ins. More information on developing plug-ins can be found in the below.

Restore Defaults - Resets all saved Zaber Console configurations to defaults.

Import/Export Device Database - Zaber Console uses a database of information about the devices to help offer features such as units-of-measure. Zaber updates this database when new devices, commands, or settings are available. If 'Use Online Resources' is selected, Zaber Console will download the latest database when it is available. The Import/Export Device Database tool allows the user to manually download and import the latest database if they do not have Use Online Resources selected.

Save favourite commands and settings: - This control allows you to set how the Favourites list in the Commands and Settings tabs are applied from device to device. 'Together (same for all devices)' will mean that all devices share a single list of favourites. 'Per device type' means that all devices with the same model will share a set of favourited commands and settings. Finally, 'per device' saves a unique set of favourites for devices based on their serial number.

Additional Tabs

In addition to the above tabs that are most commonly used and displayed by default, there are some additional tabs available for special features. Several have their own manuals:

Joystick Tab - If you have a T-JOY or X-JOY product, this tab will help you configure the behavior of the joystick axes and buttons.

Cycle Tab - This tab allows you to cycle devices between their travel limits continuously. It's often used as a product demonstration tool.

GCode Tab - Import G-Code motion control instructions and convert them to Zaber ASCII protocol commands for your current device setup.

Sensor Logger Tab - This tab allows you to display and log input either from the analog input of a Zaber controller or from some supported third party instruments.

Status Bar

At the bottom of the main window there is a status bar with several components:

ZC status bar.png

Status Messages

The blank rectangle on the left side of the status bar will momentarily display informational messages after some operations. This is a means of providing visual feedback on the results of operations that might not otherwise be obvious.

Database Update

Zaber Console relies on a database file to provide information about devices such as their names and unit conversion factors, which is periodically updated. Zaber Console works best when it has access to the latest database.

The first button to the right of the status message area is the database update button. This button indicates whether you currently have the latest version of the device database. If you do not, the button will display a yellow icon and say a new version is available. You can then click the button to download the new database, and after the download is complete the new version will be used next time you open the port.

While we recommend keeping the database updated, you do not need to stay on the latest version of the device database all of the time; typically you will only need to update it when you purchase new Zaber devices or upgrade the firmware on a device you already have.

Clicking on the arrow icon on the right end of the button will display a menu of related operations. From here you can force a re-download of the latest database, or import or export the database to and from other locations on your file system.

It is safe to do other tasks in Zaber Console while a database download, import, or export is in progress.

Clicking this button when it says the database is current will cause it to check for a new database again.

Software Update

The second button on the status bar controls updates to Zaber Console itself. Normally when you start Zaber Console it will check to see if a new version is available, and if so this button will show a yellow icon and say a new version is available. If you want to upgrade, click the button to start the download. You can continue doing other things while the download is in progress. When it is finished the button will indicate that it is ready to upgrade the software. When you are ready, click the button to close Zaber Console and launch the installer for the new version.

Clicking this button when it says the software is current will cause it to check for a new version again.

Clicking the arrow icon at the right end of the button will display a checkbox allowing you to turn off the automatic check when the program starts.

Transmit / Receive

Indicators at the right end of the status bar show whether there is currently any communication happening on the port. The Tx indicator will flash whenever the computer sends communication to a device. The Rx light will flash whenever the computer receives response information from a device. These indicators can be used to troubleshoot that communication is happening as expected.

Development Tools

Zaber .NET Libraries

If you plan your own application using the Microsoft.NET platform, we recommend using the Zaber Motion Library. There are two versions, one for each Zaber protocol:

Developing Custom Plug-Ins and Tabs

Zaber Console has a plug-in feature that lets you add new tabs with new features. You can learn to write your own plug ins by downloading the Source Code. Some notes on plug-in development:

  • Network permission settings on some systems might prevent Zaber Console from loading a plug in located on a network drive. If you have encountered any problem loading a plug in, try moving the plug in folder to a local drive.
  • Zaber Console may not load plug ins built on a different .NET framework version. If a different .NET version is preferred, ensure that the targeted .NET framework is also installed.