The Commander core has many modes of operation.  These include single, multi-axis, interpolation, on-the-fly speed or target position changes, status monitoring functions, and I/O operations.  Any or all of the different modes of operation can occur simultaneously without affecting the performance of the other processes.


Single-axis operations involve motion of a single axis and does not require interaction with any other axes.  

Multi-axis operations involve motion of two or more axes but does not require interaction between the axes.  

Interpolated operations involve two or more axes whose movements are interdependent.  There are several types of interpolated moves. 

Linear interpolation is when two or more axes work together to move along the hypotenuse between the starting and target coordinates.  For linear interpolation, each axis moves in only one direction and start and stop at the same time. Only one interpolation set can be executed at a time.  

Circular interpolation includes two-axes working together to move along the outer rim of a circle.  For circular interpolation, each axis will change direction and speed as required to allow for a circular path of motion. 

A popular subset of circular interpolation is arc interpolation where two axes work together to move along the outer rim of a circle for a set number of degrees.  

Helical or tangential interpolation is when circular or arc interpolation of the X and Y-axis is combined with linear interpolation of the center point of the circle and the Z-axis.  This allows for movement along a helical motion path. 


The Commander core allows for all of these different moves:

  • as independent moves
  • any combination of the above moves 
  • or buffered together to allow for seamless continuous interpolated motion.


When operating a motor, it is possible to jog a motor at speed until it is told to stop or move to a predefined target position.  The target position can be absolute to a 0 (home) point defined during one of the many homing processes or can be incremental or relative to the motor’s current position.  While moving it may be necessary to change the target speed, or while making a positioning move, it may be necessary to change target position.  The Commander core can seamlessly do this without requiring any of the motors to stop. These operations are referred to as on-the-fly speed change or on-the-fly target position change respectively.  It is also possible to use a joystick or analog input to control a motor.  Using the MPG function, the motor can follow a master axis or a cam. 


Regardless of the type of operation, the first step is to define your motion profile.  The basics of a motion profile are: acceleration/deceleration type (S-curve or Linear/trapezoidal), the initial or low speed, the max or high speed, and the amount of time needed for acceleration and deceleration.


There are a number of inputs and outputs available on the Commander core. These can be broken up into two categories; dedicated high-speed (ηS) and general-purpose.  Dedicated inputs/outputs do not require further interaction from the microprocessor, and usually fall into one of two categories:  1) Inputs/Outputs that automatically cause a reaction that is fixed, and 2) Inputs/Outputs that automatically cause a reaction that can be configured.  Safety inputs such as end limits, slowdown (near the limit) inputs, home (origin) switch, latching inputs, and synchronization outputs are all dedicated inputs.  On the other hand, the general-purpose outputs will change state and require the microprocessor to detect and then act on their status.  In addition, the microprocessor can request the current status of any input and of the various counters, output pulse, encoder, MPG, etc. along with the full status of each axis.