Jump to content
OMRON Forums

Lookahead settings at high blockrates


biscchr

Recommended Posts

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
 

Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

A very important issue when using a rotation buffer is that motion stalls will occur if the program fails to be sent to the controller in time.

I suggest you increase the program buffer of PPMAC and download all programs into the controller.

Regards,

Sangmo

Link to comment
Share on other sites

If your program has line numbers, you can monitor the Coord[x].Ncalc variable to determine which line the controller has calculated so far.

Once the controller finds that there is no subsequent program, it will perform a stop motion process here.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...