ACR74V ACR78V: How to Reset BISS Absolute Encoder Position

When using BiSS-C multi-turn absolute encoders with the ACR70000 servo (ACR74V 4axis or ACR78V 8axis), it may be helpful to reset the zero position to better align with the system mechanics.

To reset the absolute encoder position, move the motor to the desired location.  

Then, in the terminal, set the Set Absolute Position parameter for the axis to 0 and issue DRIVE RES.

Example for axis0:

P28785=0

AXIS0 DRIVE RES

ESAVE

image-20240205-232041.png

 

Requires DRIVE RES and ESAVE

This is the same as the command c62=0 for IPA drive/controllers.

 

 *************************************************************

 

NOTE - firmware version 7.52 Update 5 introduced a bug with this feature and it is currently non-functional.  Units manufactured after Jan 32, 2023 cannot use older operating systems due to a hardware design change so this will provide a work around solution.  

This example is for AXIS0 but can be applied to any axis using the parameters specific to the desired axis.  The example uses some of the non-volatile user parameters available for general programming.  If your programming already uses these particular parameters you will need to use some of the others that are not currently in use.

 

  1. Jog or manually position the axis to the desired "zero" location.

  1. In the terminal window of PMM, enter the command:  P38912=P12290<cr>       (This will store the current actual position of AXIS0 into user parameter P38912, this is basically the 'offset' value.)

  1. Check your unit scaling value:   AXIS0 PPU<cr>  will report back that value

  1. P38913 = "PPU value obtained in step 3"<cr>       (This will store the current scaling value into user parameter P38913.)

  1. In your main PBOOT program add the commands (somewhere before the axis is enabled or its positions are referenced):

P38914 = P12290 - P38912

AXIS0 RES (P38914 / P38913)

  1. Save your project and download to the controller.

 

Each power up, the original desired 'zero' location position will be subtracted from the current actual position and then used to update the current actual position via the RES command.

The RES command uses user units, so that is why the user units are involved in the final assignment. 

The PBOOT program is the program that will run automatically on power up - create one if you do not use/have one already.  See the PBOOT command in the documentation or PMM help file if you are not familiar with it already.

 

 

 

 

 

 

glh - update to add bug work around  5/2023