Hello,
we are currently experiencing some unexpected behaviour when using Lookahead on PPMAC with very high blockrates.
In fact, we are sending linear 3-axis moves to the rotary buffer with a spacing of 0.1mm due to customer requirements.
We have tested this by moving one axis only on a straight line, like this sample G-code shows. This leads to a rate of 0.1mm/(200mm/s)=0.5ms.
G90
F200.000
M5100==1 G1 X0.000 Y0.000 Z0.000
M5100==2 G1 X0.100 Y0.000 Z0.000
...
M5100==10000 G1 X999.900 Y0.000 Z0.000
M5100==10001 G1 X1000.000 Y0.000 Z0.000
All three motor settings are the same with vmax=300mm/s and amax=150mm/s^2.
According the the PPMAC Usermanual the lookahead should be configured with a SegMoveTime of the blockrate or lower, so we chose 0.2ms to also be safe at fullspeed.
TA is also set to 0.2ms and TS is zero.
LHDistance is set to 4/3*vmax*1000/(amax*2*SegMoveTime)=6667 segments, the corresponding Buffer is 10240 Bytes.
When executing the move, we are getting a lot of fullstops during movement with the LookAheadFlush bit being set.
So we increased the spacing to 1mm and kept everything else the same.
After increasing the spacing and executing the move, we are still getting (less) fullstops with LookAheadFlush bit being set.
However, when setting LHDistance to 5000 everything works at 200mm/s, but then again, if a higher feedrate of 250mm/s is used, the fullstops come back.
If we use a even lower LHDistance at 1mm spacing, e.g. 3000, we are not getting the required 200mm/s but about 170mm/s. At least the fullstops are gone.
Higher LHDistance than the 5000, e.g. 10000 lead to fullstops.
Btw, we are using PPMAC on ARM CK3M, Phase=16kHz, Servo=8kHz, RTI=2kHz.
So we are starting to think that there are computational limits at high blockrates.
However, I found an old post from Curt Wilson talking about 10000 move blocks per second, so this should be possible. But maybe not on ARM?
https://forums.automation.omron.com/topic/5730-unexpected-stop/?do=findComment&comment=24653
Can you please give us a feedback if such computational limits are known?
What would be the recommendes lookahead settings for this application?
I would appreciate any help regarding this behaviour.
Best,
Christopher