In the ACR based products (ACR9xxx, IPA, Aries-CE) there are 4 main types of motions (and subsets of them). These are Interpolated (vector), Jogging (non-vector), Gearing, and Camming. The control language allows any of these to be used to generate motion by themselves or in combinations with each other. See the Servo Loop Status window in ACR-View (under Status Panels) for a visual representation of this and for an excellent trouble-shooting tool.
One convenient way to think of this approach is to consider each type of motion as separate work coordinates. Each move type has its own reference coordinates which its positioning is based on. All of these move types along with some optional compensation values are summed together to create the Secondary Setpoint, which is the final commanded position for the axis.
Current Position is the Interpolated (vector based) move register.
Gear Offset is the Gearing move register.
Jog Offset is the Jog (non-vector based) move register.
Cam Offset is the Cam move register.
For many applications, only one move type is required so these concepts are not important to understand. However, some applications do require multiple move types, either simultaneously or at different times in the application. This is when understanding these concepts are important for correct operation. This is also when additional programming steps may be necessary to ensure correct absolute positioning.
An example of when two move types may be mixed is when Gearing (following) and a phase advance or retard is needed. Then a Jog move is called during the Gear move and that trapezoidal or triangle move is then super-imposed on top of the gearing (their goal setpoints are summed together as shown in the Servo Loop Status).
Now an example of when these concepts affect your programming. My application does a gearing move until some sensor is tripped. At this point, I need the axis to return to its starting point (absolute zero as initially established after power up). The Gear Offset register will hold the position we reached when gearing was disabled. Either Interpolated or Jog motion could be used to return to absolute zero since each supports absolute positioning. However, both of their 'work coordinates' still show 0. Thus, they would already consider themselves at the absolute zero position. This is a case where additional programming steps are required to update a specific work coordinate system with the actual position. There are specific commands provided to do this important task. (see the user documentation for full syntax)
GEAR RES is used to update the Current Position register with any Gear motion offsets.
CAM RES is used to update the Current Position register with any Cam motion offsets.
JOG RES is used to update the Current Position register with any Jog motion offsets.
JOG REN is used to update the Jog Offset register with any Interpolated (Current Position) motion offsets .
Note - these commands can also be used with an argument to pre-load these offset registers. If no value is provided then the offset register is set to zero. See user documentation for full details.
There is not a single command to update the Jog Offset register from Gearing or Camming moves so two steps are required, first the GEAR RES to move its value to the Current Position register and then the JOG REN to move the Current Position value to the Jog Offset register.
Keep in mind that updating the "work coordinates" is not required if you are only doing one type of motion on that axis OR only ever doing incremental motion and not absolute positioning. Unless your application requires multiple types of motion, stick to a single move type to make your programming task easier. For single axis control, use JOG motion (which includes absolute, incremental, and constant velocity types of moves). Use interpolated motion if multiple axis coordination is required. Use Gearing and Camming as required for their specific benefits.
- Homing is Jog motion (JOG HOME command) but since it sets the reference position to zero after successfully homing you don't typically have to deal with your work coordinates being off.
- There are not commands specifically designed to take Current Position or Jog Offset and move their values into the Gear Offset or Cam Offset since Gearing and Camming are always incremental motion so their absolute references do not matter for the motion itself.
- There are also some individual commands like RES and REN that exist for forcing the Current Position register to 0 or specific values if needed in your program but are not really the focus of this FAQ. See the user documentation for more information on them.
- Most of the other 'specialty' move types like TMOV, SPLINE, SINE, TARC, CIRCW, CIRCCW, TANG fall in the interpolated (vector) motion category and affect the Current Position register.
- Ballscrew (BSC) and Backlash (BKL) are not move types. Rather they are simply offset adjustments that are summed in to the move itself to compensate for mechanical inaccuracies if needed.
- The ACR96xx versions programmed using the IEC languages uses Jog motion for all point to point positioning and Gearing and Camming for those types. It does not make use of interpolated motion.
IPA04-HC IPA15-HC AR-04CE AR-08CE AR-13CE 9000P1U2B0 9000P1U2B1 9000P1U2M0 9000P1U2M1 9000P1U4B0 9000P1U4B1 9000P1U4M0 9000P1U4M1 9000P1U6B0 9000P1U6B1 9000P1U6M0 9000P1U6M1 9000P1U8B0 9000P1U8B1 9000P1U8M0 9000P1U8M1 9000P3U2B0 9000P3U2B1 9000P3U2M0 9000P3U2M1 9000P3U4B0 9000P3U4B1 9000P3U4M0 9000P3U4M1 9000P3U6B0 9000P3U6B1 9000P3U6M0 9000P3U6M1 9000P3U8B0 9000P3U8B1 9000P3U8M0 9000P3U8M1 9030P1U2B0 9030P1U4B0 9030P1U6B0 9030P1U8B0 9030P3U2B0 9030P3U4B0 9030P3U6B0 9030P3U8B0 9040P1U0B0 9040P3U0B0