Manuals/Firmware History and Migration

From ZaberWiki

Jump to: navigation, search
Zaber Firmware History and Migration


Zaber's firmware has evolved over time as improvements have been made and new products have been developed requiring special firmware features. As a result multiple versions of firmware currently exist in the field. This document is intended to illustrate the differences between the versions, and to help a user to migrate to the latest version if desired.

Contents

[edit] Firmware changes since version 5.00

This section describes the changes implemented from version 5.00 up to the current version.

Firmware Version Cmd# Command Description
5.02 through 5.06 36 Restore/Lock/Unlock Settings Functionality to lock and unlock settings was added to the Restore Settings instruction. Issuing the instruction with data of 2768033 locks all settings. Issuing the instruction with data of 3308672 unlocks all settings.
5.04 up 16 Store Current Position New instruction to save the actuator’s current position in one of 16 registers.
5.04 up 17 Return Stored Position New instruction to return the position stored in one of 16 registers.
5.04 up 18 Move to Stored Position New instruction to move to the position stored in one of 16 registers.
5.04 up 55 Echo Data New instruction. Reply is simply an echo of the command.
5.06 up 40 Set Device Mode
Bit 6 (Enable Message Ids)
This mode bit was formerly called Enable Logical Channels and did not function reliably in earlier versions. In version 5.06 this mode bit was renamed to Enable Message Ids and the implementation was improved. It is not recommended to use this feature with firmware older than 5.06.
Bit 9 (Reverse pot direction)
This bit was added giving the user the ability to set the direction of motion with respect to potentiometer movement.
5.07 only 36 Restore Settings Functionality to lock and unlock settings was moved to its own instruction (see below). When settings are locked, a Restore Settings instruction will return an error.
5.07 up 49 Lock Settings New instruction added to lock and unlock settings.
5.08 up 36 Restore Settings Behavior during a locked state was changed due to customer confusion. When settings are locked, a Restore Settings instruction will still restore the device to default settings and return the device to an unlocked state.

[edit] Firmware FAQ

[edit] How do I tell what firmware version I have?

Command 51 causes a Zaber device to return its firmware version number. Assume a decimal before the last two digits. For example, reply data of 502 indicates firmware version 5.02. A brief summary of firmware usage on different products is given below.

  • Firmware Version 2.xx was widely used in T-HLA, T-LA, T-LS, T-LLS, T-MM, T-NM products. The most recent and widely used version is 2.93.
  • Firmware Version 4.xx was primarily used in T-CD products.
  • Firmware Version 5.xx is the latest major release at the time of this writing. This version replaces both 2.xx and 4.xx, and is used across all products.

[edit] What firmware version ships with new products?

Unless prior arrangement has been made with a customer, Zaber usually ships the latest stable version of firmware shown in the table above.

[edit] Is new firmware backward compatible?

Generally, yes. Devices with different versions of firmware may be daisy-chained together and they will all communicate properly. They all work on the same 6-byte instruction protocol detailed in any of the user’s manuals. However, different versions could have slightly different command sets, or a different interpretation of the same command. The differences are illustrated in this document, in the section on firmware migration.

[edit] I have an old device and it works fine. Should I upgrade?

If you have an older device and it works for you, there is no need to upgrade to newer firmware. There are many devices in the field working reliably with older firmware. Zaber recommends not altering any system that is currently working satisfactorily.

[edit] We are an OEM using your devices. Should we upgrade?

OEMs are encouraged to try out the latest version. Zaber has no plans to update or improve versions 2.xx or 4.xx, whereas 5.xx will continue to be improved. Therefore it is advantageous for OEMs to start with, or switch to version 5.xx where possible.

Zaber recognizes that OEM customers may have invested significant effort in designing their systems around older firmware. Therefore, while Zaber recommends upgrading to the latest version, products will still be shipped with older firmware upon request.

[edit] How do I order a specific version of firmware?

If you wish to order a product with a specific version of firmware, you may append the firmware version number as a suffix to the part number. For example, if you wish to order a KT-LA28A-S with firmware version 2.93, you should specify the part number on your PO as KT-LA28A-S-FW293.

[edit] How do I downgrade to an older firmware version?

If you received an actuator with the latest version installed and you want to downgrade to an older version, you should contact Zaber for details. You will need to sign a firmware license agreement, after which software and instructions can be sent to you via email so you can perform your own downgrade. Alternatively you may return the device to Zaber for reprogramming. You will need to fill out and return an RMA form, after which you may ship the device(s) back to Zaber. There will be a $75 handling fee per device plus shipping costs.

[edit] How do I upgrade to the latest version of firmware?

Due to hardware changes, only devices running firmware version 2.90 and up may be upgraded to the latest version of firmware. You will need to fill out and fax back an RMA form, after which you may ship the device(s) back to Zaber for a factory upgrade to the latest firmware. There will be a $75 handling fee per device plus shipping for the upgrade procedure. Contact Zaber for details. Note that Zaber will not email version 5.xx firmware. Devices must be returned to Zaber to be reprogrammed with version 5.xx.

[edit] Where can I find the latest version of the user’s manual?

Links to all user’s manuals can be found on the http://www.zaber.com/wiki/.

[edit] Firmware Migration from 2.xx to 5.xx

[edit] Command Changes from 2.xx to 5.xx

This section describes the changes in command set from version 2.xx to 5.xx. Only the commands that differ between the two versions are described. Refer to version 2.xx and 5.xx manuals for complete details.

Cmd# Command Version 2.93 Version 5.xx
2 Renumber This instruction can only be issued to all devices (device 0). This instruction can also be issued to a single device, in which case that device will change its number to the value indicated in the instruction data.
16 Store Current Position N/A (new since version 5.04) Version 5.04 and up: Saves the actuator’s current position in one of its 16 registers.
17 Return Stored Position N/A (new since version 5.04) Version 5.04 and up: Returns the position stored in one of the actuator’s 16 registers.
18 Move to Stored Position N/A (new since version 5.04) Version 5.04 and up: The actuator moves to the position stored in one of the 16 registers.
22 Move at Constant Speed Speed is a nonlinear, non-continuous function of instruction data. Speed is linearly proportional to the instruction data and a much wider range of speeds is possible.
37 Set Microstep Resolution N/A (Microstepping resolution is fixed at 64 microsteps per step.) Allows control of the resolution from full stepping down to 128 microsteps per step. The default is 64 on most devices.
38 Set Running Current N/A (Full current is always applied during moves) Allows precise control of running current to reduce motor heating and vibration if high torque is not required.
39 Set Hold Current N/A (the hold current can only be set to discrete values of 0, 50%, 75%, or 100% through mode bits) Allows precise control of hold current to reduce motor heating. The default is device-dependent.
40 Set Mode Allows control of several settings. Several addition settings, including settings to disable LEDs, toggle limit switch polarity, etc.
41 Set Start Step Time Sets the starting step period N/A (instruction no longer supported)
42 Set Target Step Time / Velocity Set the target step period. This command allows a relatively coarse, non-linear control over the target speed during move commands. Sets the target velocity. The velocity is deterministic and linearly proportional to instruction data.
43 Set Acceleration Allows very coarse adjustment of acceleration. Velocity profile is non-linear with time. Allows precise control of acceleration. Velocity profile is linear with time.
47 Set Home Offset N/A (A home instruction would simply cause the device to retract to the home limit switch and call that position 0.) Allows a user specified home offset. After homing, the device will move forward the specified amount before setting the 0 position reference.
54 Return Status N/A The device will respond, indicating its current state (moving, homing, idle, etc.)
55 Echo Data N/A (new since version 5.04) Reply is an echo of the command.

[edit] Mode Bit Changes from 2.xx to 5.xx

The following table outlines the changes in the mode bits (command 40) from firmware version 2.xx to 5.xx. All mode bits are listed, regardless of whether they changed or not. Refer to the respective user’s manuals for more details.

Bit (Decimal's) Version 2.93 Version 5.xx
0 (1s) Disable Auto-reply (same)
1 (2s) Enable Anti-backlash Routine (similar)
2 (4s) Enable Anti-sticktion Routine (similar)
3 (8s) Disable Potentiometer (same)
4 (16s) Enable Constant Speed Position Tracking (similar)
5 (32s) Disable Manual Position Tracking (same)
6 (64s) Enable Logical Channel Mode (same)
7 (128s) Home Status (same)
8 (256s) Hold Current bit 0 Disable Auto-Home (Hold current is adjusted via a separate command 39)
9 (512s) Hold Current bit 1 Reserved (Hold current is adjusted via a separate command 39)
10 (1,024s) N/A Reserved
11 (2,048s) N/A Enable Circular Phase Microstepping
12 (4,096s) N/A Set Home Switch Logic
13 (8,192s) N/A Reserved
14 (16,384s) N/A Disable Power LED
15 (32,768s) N/A Disable Serial LED

[edit] Other Changes from 2.xx to 5.xx

For details of the following changes, refer to the two user’s manuals. Version 5.xx offers these additional features:

  • New motion control algorithm allowing true linear acceleration and deceleration ramps and pre-emptively changing direction.
  • New manual (potentiometer) control routine allowing more precise manual control of speed.
  • New LED blinking patterns to indicate what the devices are doing more clearly.
  • New pre-emptive command set allowing the device to respond to commands even during a move, without interrupting the move.
  • New error codes indicating a greater range of possible errors.

[edit] Firmware changes from 4.xx to 5.xx

[edit] Command changes from 4.xx to 5.xx

This section describes the changes in command set from version 4.xx to 5.xx. Only the commands that changed between the two versions are described. Refer to version 4.xx and 5.xx manuals for complete details.

Cmd# Command Version 4.xx Version 5.xx
16 Store Current Position N/A (new since version 5.04) Version 5.04 and up: Saves the actuator’s current position in one of its 16 registers.
17 Return Stored Position N/A (new since version 5.04) Version 5.04 and up: Returns the position stored in one of the actuator’s 16 registers.
18 Move to Stored Position N/A (new since version 5.04) Version 5.04 and up: The actuator moves to the position stored in one of the 16 registers.
22 Move at Constant Speed The instruction data indicates the time (in increments of 0.1 us) to move 1 microstep. Speed is linearly proportional to the instruction data, in increments of 9.375 microsteps / second.
34 Set Home Scan Distance This command is used in very rare cases for a combined linear and rotary (helical) homing. N/A (instruction no longer supported)
36 Restore Settings Can restore settings to a single factory default. For the T-CD series stepper controllers, this command allows for restoring settings to default values appropriate for specific peripheral devices that may be connected to the T-CD.
40 Set Mode See user’s manual for details. The functionality of several mode bits has changed. See user’s manual for details.
41 Set Start Step Time Sets the starting step period N/A (instruction no longer supported)
42 Set Target Step Time / Velocity Sets the target step period. The velocity is inversely proportional to instruction data. Sets the target velocity. The velocity is deterministic and linearly proportional to instruction data.
43 Set Acceleration The acceleration routine produces a coarse acceleration profile with discrete velocity steps. The acceleration is a continuous linear function of the instruction data.
49 Set Home Target Step Time Sets the target step period during homing. N/A (instruction no longer supported)


54 Return Status Allows querying the device about its current status. See user’s manual for details. Some of the returned status codes are changed. See user’s manual for details.
55 Echo Data N/A (new since version 5.04) Reply is an echo of the command.

[edit] Mode bit changes from 4.xx to 5.xx

The following table outlines the changes in the mode bits (command 40) from firmware version 2.xx to 5.xx. All mode bits are listed, regardless of whether they changed or not. Refer to the respective user’s manuals for more details.

Bit (Decimal's) Version 4.xx Version 5.xx
0 (1s) Disable Auto-reply (same)
1 (2s) Enable Anti-backlash Routine (similar)
2 (4s) Enable Anti-sticktion Routine (similar)
3 (8s) Disable Potentiometer (same)
4 (16s) Enable Constant Speed Position Tracking (similar)
5 (32s) Disable Manual Position Tracking (same)
6 (64s) Enable Logical Channel Mode (same)
7 (128s) Home Status (same)
8 (256s) Disable Auto-Home (same)
9 (512s) Variable / Constant Acceleration Reserved (only constant acceleration is available in version 5.xx)
10 (1,024s) Enable Fast Decay Mode Reserved (no longer applicable in version 5.xx since fast decay is automatically controlled)
11 (2,048s) Enable Circular Phase Microstepping (same)
12 (4,096s) Set Home Switch Logic (same)
13 (8,192s) N/A Reserved
14 (16,384s) Disable Power LED (same)
15 (32,768s) Disable Serial LED (same)

[edit] Other changes from 4.xx to 5.xx

For details of the following changes, refer to the two user’s manuals. Version 5.xx offers these additional features:

  • New motion control algorithm allowing true linear acceleration and deceleration ramps and pre-emptively changing direction.
  • New manual (potentiometer) control routine allowing more precise manual control of speed.
  • New LED blinking patterns to indicate what the devices are doing more clearly.
  • New pre-emptive command set allowing the device to respond to commands even during a move, without interrupting the move.
  • New error codes indicating a greater range of possible errors.
  • Version 4.xx will return two home replies if a home offset is set (one reply at the physical home and one reply once the final home is reached). Version 5.xx generates only one reply.
  • In version 4.xx, when the device is moving and a new command is issued that requires stopping first (ex move in opposite direction), a stop reply will be sent, then the new command will be executed and replied to as well... resulting in a double reply. Version 5.xx generates only one reply.
Personal tools
Zaber Website