Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Asynchronous following error
(12-06-2018, 11:52 AM)curtwilson Wrote: One thing to be aware of is that the trigger capture is level triggered in the Gate1 IC. Reading the HomeCapt register automatically re-arms the triggering circuit, and if the trigger input is still at the specified state, it will immediately latch the present position again into the HomeCapt register, and a subsequent read of HomeCapt can report a different position that what was captured at the front edge of the trigger.

I'm not sure if your logic protects you against this. Remember that another task, such as the IDE watch window monitoring the value of HomeCapt, can re-arm the trigger before your code reads HomeCapt.

Another possible issue is how the encoder generates its signal. Encoders like this typically synthesize a high frequency digital quadrature signal from a lower frequency analog sinusoidal signal through an internal tracking feedback loop. In some encoders, this loop produces excellent (stable, accurate) results, but in others, undesirable non-physical effects come into the signal.

Hello, Curt, thank you for helping me once again,
I read about the level triggering in the doc, that is why in my PLC I protect the call to HomeCapt with a check :
if ( Gate1[14].Chan[3].ABC <4 )

that is to ensure the C channel of the coder is down while I read the flag (it triggers on index C high)
I also was carefull about the watches windows.

But yesterday evening I found my problem. indeed I plotted the state of the arming flag (posCapt) and the C channel at the same time, and although my C channel was perfectly good , the arming signal was erratic. More interesting, the capture signal stopped to be erratic when I cut the power of the main motor. My biggest mistake was to only rely on the PMAC scope to look at the C channel which was always looking super good despite that the real signal was less clean and messy just enough to mess up with the capture but not the content of the Gate1[14].Chan[3].ABC signal !

It was causing all my problems, also the ones I had with the trigerred time base system.
now this fix has removed what we called the "jitter" which is now almost equal to the following error, and what we called the "offsets" has been fixed by using the calibration movement (1 triggered move that I do just to measure the offset ) and then I apply this offset to the following moves of the program (the time base is re-frozen briefly)
This now looks super good.
Thank you very very much for your help.
have a good day.

Messages In This Thread
Asynchronous following error - jsinoir - 12-05-2018, 02:41 AM
RE: Asynchronous following error - Tony - 12-05-2018, 03:51 AM
RE: Asynchronous following error - jsinoir - 12-06-2018, 01:57 AM
RE: Asynchronous following error - jsinoir - 12-06-2018, 02:06 AM
RE: Asynchronous following error - jsinoir - 12-07-2018, 12:22 AM

Forum Jump:

Users browsing this thread: 1 Guest(s)