-

Handling of the Absolute encoder between iCube and SERVOPACK

Version Number Description
1.0 First Draft

This application presents the handling of absolute encoder with iCube controller and EtherCAT Yaskawa servopacks.

1. Supported Components

Component Name Version
iC9226M-EC Controller = 2024.3.1
iCube Engineer = 2024.03

2. Requirement

  1. Having a servomotor with an absolute encoder or an absolute batteryless encoder connected to an EtherCAT servopack communicating with an iCube controller/
  2. The servopack parameter Pn002.2 = 0 or 2
    Image

3. Absolute encoder related parameters

Servo Parameters :
  1. PnB46 (607Ch): Home Offset 
    • This parameter stores the absolute encoder offset in the servopack (= offset between the Z Pulse and the Home position).
    • This parameter is not used and should remain equal to 0 when using the servopack with an iCube controller.
  2. 6064h: Position Actual Value
    • This object provides the encoder value in pulses. Since this is a servopack object, writing a different project to the controller doesn't affect it.
    • In Case Pn002.2=0, this parameter record also the multi-turn even during power off.
    • Executing the function Y_ResetAbsoluteEncoder will reset the multiturn data to 0, causing the ActualPosition value to be displayed within a single revolution range.
Controller Parameters:
  1. 1838: Absolute Encoder Offset
    • This parameter is a substitute for PnB46.
    • This parameter is updated by MC_SetPosition FB only on the controller side. It is not saved on the SERVOPACK side.
    • A new homing procedure is necessary when this parameter is reset to 0. This happens in the following cases:
      • If the controller is reset to factory default values.
      • If any hardware configuration of the project is changed
      • If Y_AbsoluteEncoderReset FB is executed
    • The parameter is retained when a new project with the same EtherCAT hardware configuration is downloaded otherwise it is reset to zero.
    • The deletion of the archive from the controller does not reset this parameter. 

4. Calculation of Actual Position

The Actual position[1000] value is defined as follows:

P = ActualPosition [1000]
PAV = Position Actual Value [6064h]
E = Encoder Resolution (refer to motor model information )
OF = Absolute Encoder Offset[1838]
MH = Machine Cycle High [1833]
ML = Machine Cycle Low [1832]
MIR = Motor Input Revs/ Input Ratio [1834]
LOR = Load Output Revs/ Output Ratio [1835]
FC = Feed Constant [1808]
With Linear load type:

Image


With Rotary load type:

Image
Notes:
  • The actual position value will be unexpectedly modified when Absolute Encoder Offset[1838] or Position Actual Value[6064h] are reset following the cases mentioned in section 3.

5. Example

In this example, Some values would be taken from the project and then the calculation will be done according to the formula defined above.

With Linear Load type:
  
Image  Image

Image   Image

PAV = 547439408; LOR = 2; MIR = 1; FC = 2; OF = -30.52; E = 2^24 as it is a 24 bit encoder.
Image
P = 99.999725

This value is approximately the same value seen in the MC_ReadActualPosition.Position in the image above under the red box.

With Rotary Load type:

Image  Image
Image   
Image
PAV = 616617846; LOR = 3; MIR = 2; FC = 4; OF = -30.52; MH = 50; ML = 0; E = 2^24 as it is a 24 bit encoder.
Image
P = 39.9997
The value is almost equal to forty which can be seen on the  MC_ReadActualPosition.Position in the image above under the red box.

 


This help information is valid for iCube Engineer Online Help 2025.6

Copyright © 2025 YASKAWA EUROPE GmbH and © 2025 YASKAWA America, Inc.