Search code examples
c++zaber

What is the name of the setting corresponding to the maximal acceleration on my Zaber device axis?


I have a Zaber linear stage for which I'm developing a C++ backend, to integrate it in my framework. I'm using the Zaber API to that effect.

Among other things, I need to get some values at runtime, and in particular, some relative to my stage's axis position, velocity, and acceleration limits. I have no trouble for the position and velocity limits:

my_device = my_device_list[0];
my_axis = my_device.getAxis(1);
double max_position = my_axis.getSettings().get("limit.max");
double max_velocity = my_axis.getSettings().get("maxspeed");
// For velocity, I also have access to:
//     knob.maxspeed
//     limit.approach.maxspeed
//     limit.detect.maxspeed
//     maxspeed

However, I can't seem to find the setting name for the maximal acceleration:

// double max_acceleration = my_axis.getSettings().get("???");

Solution

  • There are three settings: accel, motion.accelonly, and motion.decelonly

    The accel setting will set both acceleration and deceleration values, while the other two allow you to have different values for acceleration and deceleration. If you read the value of accel while motion.accelonly and motion.decelonly are different, you will get the value of motion.accelonly.