Commutation offset on EnDat 2.2 encoder-equipped motors

We have a customer that is trying to run B&R EnDat 2.2 encoder-equipped motors with non-B&R drives. They returned the motors to us as “failed” since they wouldn’t run on brand X’s drives. When we connected the “failed” motors to B&R drives they ran fine. We wrote a routine that would measure the commutation offset and compared that value with what was stored on the encoder. The two values matched each other but the value itself was not even close to zero. We assume that not much priority is placed on aligning the encoder with some physical property of the motor. We will stipulate that physical alignment isn’t important, since the commutation offset is recorded on the encoder, but are we correct in our assumption?

For Motors with Resolvers were we do not have Encoder Memory, B&R takes care of the mounting orientation and sets it up to an comutation angle of 0.

For Motors with an Encoder Memory we do only messure the commutation angle in the factory and write the data into the electric Nameplate/Encoder Storage. An B&R drive will use the data, and it will not be a problem that the angle is not 0.

As the Encoder-Data Fromat is not Stanardised between Manufacturers it may end up in an situation were the 3rd Party Drive was not able to read the Data.

1 Like

My question is, can we assume that little or no priority is paid to orientation of the encoder with respect to the motor’s magnetics during assembly for motors with encoder memory?


That is what i liked to descripe in the last post. If there is an encoder memory, the encoder is just mounted with no respect to orientation and then it is messured afterwards. There is no way to know the commutation offset without reading the encoder data or do another measurement. It can by any Value between -2PI an 2PI.

Awesome! That’s what I thought but I wanted confirmation that I could use when explaining to our customer what they are experiencing.



1 Like

hi i would like to learn how to do commutation adjustment and to write it into encoder memory of B&R motor please would you help me i have some hardware and sonfiguration but i am not much familiar with automationstudio

commutation adjustment is a very special topic and to be familiar with Automation Studio and B&R motion software is a must.

  • first of all, this means you have to determine parameter MOTOR_COMMUT_OFFSET which can be done by ‘Phasing’ function:

  • Secondly it means you have to store this parameter back to the encoder with a function block that runs on the ACOPOS:

(honestly another special topic).

B&R does not puplic share detailed information about the functionalities which can be used to write data to the encoder memory. Some information which were puplic available in the past have been removed from the newer Automation Studio Help. The information about the EPROM Functionblock does not help you much, as you will also need the address offset in the Memory, which can be changed by B&R with newer Stroage alignments without notice.

If you are not familiar with B&R i would not recomend to try to write to the Encoder Memory with B&R Hardware (ACOPOS).

If you have a B&R Motor (like you stated in the other Post 8LSA66…) which had its commutation angle stored in the Encoder Memory and due to some “Defect”, this data is no more Valid you should send it to the B&R Repair Service were it can be fixed.

If the repair is not an option due to cost or shipping. You should use your motor as an 3rd Party Motor with the Parameter Table in Automation Studio, were you can provide the commutation offset without storing to the encoder memory.

If you want to use the write to encoder Functionality in a series Machine refer to your local B&R sales, in special cases B&R does provide such functionalites / documentations.

Please avoid to use existing Threads, if they are solved and you have a different question.

thank you for yor kind reply