Software/Zaber Console

From ZaberWiki
Jump to: navigation, 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

Installer Type Download Link Receives Updates Supported Operating Systems Notes
ClickOnce ZaberConsole.application Yes Windows XP, Vista, 7, 8, 10. Recommended
setup.exe Use this if your browser does not support .application links
Windows Installer ZaberConsoleSetup.msi No Windows Vista, 7, 8, 10 -
Source Code only ZaberCSDemo.zip - - -

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.

Select the COM Port

To start controlling your device: From the serial port drop-down list, select the COM port that the device is connected to. If you are not sure which to select, you can 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 any required USB Serial Port Drivers. If they're installed, and you still don't see a port, contact Zaber's technical support.

ZaberConsole SelectPort.png

Open

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 OpenedPort.png

Find Devices

If you've connected to the correct COM port, but some or all of your expected devices are missing from the [#device list|Device list], press the Find Devices button. 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.

Transmit/Receive

Indicators in the top right of Zaber Console 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.

Close

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

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.

ZaberConsole DeviceList.png

Device Number

In order to be able 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 field shows the name of the device that corresponds to the device number. If a controller is connected, the peripheral that's specified by the peripheralid setting will also be indicated. If the peripheral ID has not been set, it will display as 'safe mode'.

Position

After any command where position information is returned from the device, such as the 'get pos' command, the Position field will be updated to show this information.

Units

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.

Flags

The Flags field is only displayed when using the ASCII commands protocol. It displays any warning flags that the device returned on it's most recent response. In Zaber Console, hover over the warning flag 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

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. Pressing the Space key will stop the device, and pressing the Left Ctrl key will home the 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.

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.

Several examples in both Binary and ASCII are included as a starting point. Press the Run button beside any to execute them, or press the Edit button to view them in the Script Editor. You can also press the Script Editor button to open a blank script. The first time you open the Script Editor, you'll be asked to select a folder where Scripts are stored. Choose a convenient location; it can be changed in the future using the Set Script Folder button.

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. Even if you're not a programmer, you can use scripts that someone else has already written.

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.

Advanced Tab

The Advanced tab in ASCII mode
The Advanced tab in Binary mode
The Advanced tab lets you send any command to any device number.

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.

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.

Switch to Binary/ASCII - This button allows you to quickly change all connected devices between Binary protocol at 9600 baud rate and ASCII protocol at 115200 baud rate.

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.

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. To use this tool, select the device you want to upgrade, ensure that it's using the ASCII command protocol, then press Update Firmware. Detailed instructions are available:

Calibration Data - 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 a device that has 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.

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.

Message Log Tab

The Message Log tab
The 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.

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.

Development Tools

Zaber .NET Libraries

If you plan your own application using the Microsoft.NET platform, there are two options for libraries:

  • Zaber Core Serial Library in C# - this is the recommended library for .NET. It includes easy to use and useful low level classes for interacting with Zaber Devices.
  • Zaber Console Source Code - Zaber Console includes several class libraries that you can use to talk to Zaber devices or use Zaber-developed user interface components.

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.