Jump to content
OMRON Forums

ACC24E2A Encoder-Loss Detection


Recommended Posts

Hello Everyone,


I want to use the Encoder-Loss Detection function of UMAC,and the base Address of ACC-24E2A is $78200,as the USER MANUAL talk the address of the first channel Encoder-Loss bit should be Y:$78F08,5 , and i removed the RP22 and RP24 for the hardware to check the singnal,but the Encoder-Loss bit always be 1 even if i remove the Connector TB1,it should be zero when i removed the Connector TB1.

What's the possble reason maybe?



Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

  • 3 weeks later...

Hi Sina

I'm working on a site that uses a PC104 stack consisting of Turbo PMAC2A CPU + PMAC2a ACC-1P + PMAC2A ACC-2P. the CPU and ACC-1P are both rev 109. All their systems use renishaw differential encoders.

They are trying to implement a hardware encoder loss system as they are sure you can not do it within the PMAC

I have read the encoder loss detection pdf and I am sure they can. I am having a few problems understanding what need to change on their stack to get it to work.

I beleive I need to invert the resistor pack on the ACC-1P, but do I need to change the E20-23 jumpers on the CPU board, or have I completely miss understood things.



Link to comment
Share on other sites



The encoder loss detection in most of the PMAC controllers is a hardware comparison function on differential signals from encoders. Here is a simple diagram showing how the differential signals are compared:




However, in PMAC2A/PC104 and ACC-1P because of space limitation, implementation of the circuit above was not feasible. So instead, the differential signals are made available for the PMAC software to be read independently which allows implementation of a software encoder loss detection algorithm. The image below shows how the signals are brought in individually:




Since these signals can be read using M-Variables, then the software implementation would be something like the code below (example code only ):


#define CHA1_P_Flag1_T    M900
#define CHA1_N_Flag1_U    M901
#define CHB1_P_Flag1_V    M902
#define CHB1_N_Flag1_W    M903


#define Encoder1Loss          P900
#define Encoder1LossLatch     P901


Encoder1Loss = 1-((CHA1_P_Flag1_T|CHA1_N_Flag1_U)&(CHB1_P_Flag1_V|CHB1_N_Flag1_W))
If (Encoder1Loss>0)

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...