Jump to content
OMRON Forums

EncLoss


daves

Recommended Posts

I am having issues with

 

Motor[0].pEncLoss = Gate1[4].Chan[0].EncLossN.a;

 

I think I am following exactly as described in the "Using ACC-24E2S with Power PMAC 2010-08.pdf" and "Power PMAC V1-3

 

Firmware Additions.pdf" documents. RP22 and RP24 are reversed on both boards correctly.

 

The system starts as

 

Motor[0].pEncLoss=0
Gate1[4].Chan[0].EncLossN.a=$b9e00040

 

 

If I execute the command above

I am left with

 

Motor[0].pEncLoss=???

 

 

What could be wrong?

 

This fails in the terminal and I had this command in a PLC which runs on startup and it created a ConfigLoadErr which took hours to find.

 

Link to comment
Share on other sites

  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

Daves,

 

Sorry for the trouble you had to go through. Here is the settings you can use for encoder loss detection setup:

 

ACC-24E2x external XOR circuit for differential quadrature encoders

Motor[x].pEncLoss = Acc24E2x[i].Chan[j].EncLossN.a
Motor[x].EncLossBit = 13	// Encoder loss bit
Motor[x].EncLossLevel = 0

 

ACC-24E3 internal XOR circuit for differential quadrature encoders

Motor[x].pEncLoss = Acc24E3[i].Chan[j].LossStatus.a
Motor[x].EncLossBit = 28	// “Transparent” loss bit
Motor[x].EncLossLevel = 1

 

Acc-24E3 sum-of-squares circuit for analog sine encoders and resolvers

Motor[x].pEncLoss = Acc24E3[i].Chan[j].SosError.a
Motor[x].EncLossBit = 31	// Sum-of-squares error bit
Motor[x].EncLossLevel = 1

 

Acc-24E3 serial encoder transmission (time-out) error bit

Motor[x].pEncLoss = Acc24E3[i].Chan[j].SerialEncDataB.a
Motor[x].EncLossBit = 31	// Protocol-dependent
Motor[x].EncLossLevel = 1

 

 

Link to comment
Share on other sites

Daves,

 

I have checked the Motor[0].pEncLoss=Gate1[4].Chan[0].EncLossN.a on my system and it works as expected. When I query back the Motor[0].pEncLoss, I get the following as result:

 

Motor[0].pEncLoss=Cid[2].PartData[0].a

 

This is expected since the loss data is accessed through the ID chip based upon the design on ACC-24E2X.

 

Would you be able to post what you actually get as response to Motor[x].pEncLoss query?

 

Link to comment
Share on other sites

Daves,

 

I have checked the released version of the firmware (1.3.0.0 date Jan 27, 2011) and I can see the problem. We have already fixed this problem in the firmware. We should be having a release on both firmware and IDE during the next two weeks when this problem will be resolved.

 

The problem is that the firmware doesn't decode the address of Gate1.Chan[j].EncLossN data structure properly when queried and since the same query result is being used to generate the pp_save.cfg file, the setting "Motor[0].pEncLoss=???" was being saved and upon loading of the pp_save.cfg would cause a problem.

 

Regards,

Link to comment
Share on other sites

  • 1 month later...

This looks like it is working in the 1.4.0.27 Sep 15 2011 release. Thank you, Dave

 

Daves,

 

I have checked the released version of the firmware (1.3.0.0 date Jan 27, 2011) and I can see the problem. We have already fixed this problem in the firmware. We should be having a release on both firmware and IDE during the next two weeks when this problem will be resolved.

 

The problem is that the firmware doesn't decode the address of Gate1.Chan[j].EncLossN data structure properly when queried and since the same query result is being used to generate the pp_save.cfg file, the setting "Motor[0].pEncLoss=???" was being saved and upon loading of the pp_save.cfg would cause a problem.

 

Regards,

 

 

Link to comment
Share on other sites

  • 4 years later...

Dear all,

 

If i active the encloss function for a serial encoder on a PowerBrick directly in a plc at startup, i will trigger the EncLoss error.

I had to apply a timer of 8s to get ride of the error. Is it normal? Is there a status i can read instead of a timer, or a command i can send to speed up the startup?

The encoder configuration (Acc84B) is made before the enloss activation

 

Motor[1].EncLossBit=31

Motor[1].EncLossLevel=1

Motor[1].EncLossLimit=0

call timer.wait(8000);

Motor[1].pEncLoss=Acc84B[0].Chan[0].SerialencDataB.a

 

Thank you!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...