Unexpected realtime delay error message

More
07 Aug 2022 21:23 #249304 by PCW
Did you change the DPLL timing?

Please Log in or Create an account to join the conversation.

More
08 Aug 2022 03:43 - 08 Aug 2022 03:44 #249314 by dannym
OK I set DPLL timing to -200

Set MAX_ACCEL up to 80

Changed FERROR from 0.0002 to 0.001, but with a test with rastering, it eventually hit a following error, so I changed it to 0.002.

No following error, so I pulled out a high-speed rastering profile I wanted to use with Y ACCEL 200, MAX_ACCEL 275, and the Z has high accel too. I rastered with a target of 500ipm and intentionally left level space on the margin so it would accel to 500 then hit detail that has to run much slower. also had no error.

So right now I have this and all seems well:
FERROR = .002
MIN_FERROR = .0001
(PID section) MAX_ERROR =0.0005

So, I'm a bit confused- LINEAR_UNITS = inch. The axis limits are in inches, but the max vel/accel are in mm/s but there's no unit listed in the parameter to indicate when it's not using inch. So are FERROR, MIN_FERROR, MAX_ERROR in inches or mm?

An error of 0.002 inches seems unnecessarily high, though I doubt anyone could ever notice that.

No reason to touch MIN_FERROR or PID MAX_ERROR, is there?
Last edit: 08 Aug 2022 03:44 by dannym.

Please Log in or Create an account to join the conversation.

More
08 Aug 2022 05:19 - 08 Aug 2022 05:37 #249319 by PCW
All units are in inches, as specified here:

[TRAJ]
COORDINATES = XYZAX
#HOME = 0 0 0
LINEAR_UNITS = inch <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ANGULAR_UNITS = degree



Meaning velocities are in inches per second and following errors are in inches.

The large ferror probably indicates that the system has large latency
(this is also the reason for the real time errors)

You can likely improve the ferror during acceleration by tuning FF2 slightly. FF2
should = the time between read and write, perhaps between .0001 to .0003 (
100 to 300 usec on an Ethernet interfaced card)

To tune you would use halscope and monitor the joint velocity and following
error and use the calibrate menu to try different FF2 values.

I would not mess with MIN_FERROR or PID_MAX_ERROR

Note that at 500 IPM, a max joint velocity of  900 IPM  (15 IPS) and a ferror
setting of 0.002, a following error > 0.001211 will trip an error.
(the 0.002 setting is the error limit at 900 IPM)
Last edit: 08 Aug 2022 05:37 by PCW. Reason: sp/format

Please Log in or Create an account to join the conversation.

More
08 Aug 2022 06:58 - 08 Aug 2022 07:21 #249324 by dannym
Does a higher FERROR make larger error values happen to serve some greater good in another aspect, or is this just a limit that will stop the run and flag as an error?

As in, when a significant error pops up, a lower FERROR makes it fault and stop the job, but a higher FERROR number would just tolerate it?
Last edit: 08 Aug 2022 07:21 by dannym.

Please Log in or Create an account to join the conversation.

More
08 Aug 2022 14:39 #249345 by PCW
The ferror setting only sets the limit for a fault, it has no effect on actual joint behaviour.

Please Log in or Create an account to join the conversation.

More
09 Aug 2022 17:32 #249416 by dannym
Ah, very good to know! So tweaking FERROR for better accuracy is pointless- it's just a symptom, if there's ferror going on and I think it's too high then it needs to be tweaked at the source.

Please Log in or Create an account to join the conversation.

More
18 Aug 2022 00:15 #249986 by andypugh

if there's ferror going on and I think it's too high then it needs to be tweaked at the source.

Yes. 

Please Log in or Create an account to join the conversation.

More
24 Aug 2022 07:53 - 24 Aug 2022 07:56 #250306 by dannym
Huh, even with DPLL timing -200 and FERROR 0.002, we still saw an "unexpected realtime error" and following error on joints 0 and 4, the X gantry pair.  Hal/ini enclosed
Attachments:
Last edit: 24 Aug 2022 07:56 by dannym.

Please Log in or Create an account to join the conversation.

More
24 Aug 2022 14:26 #250328 by PCW
I would increase the following error limit or lower the servo thread period (say to 1.5 ms)
(or find a PC with better latency)

If you don't want a following error when you get a real time error, you need to
set the following error limit to velocity/servo thread period = 0.0866 at 500 IPM

Please Log in or Create an account to join the conversation.

Time to create page: 0.126 seconds
Powered by Kunena Forum