How to check whether G33 would hit machine limits?
11 Apr 2016 14:49 #73111
by torotil
How to check whether G33 would hit machine limits? was created by torotil
G-code program that uses a series of G33 lines to move the tool in sync with a lathe-spindle. Currently it seems I can execute programs that would need the machine to go faster than configured in the MAX_VELOCITY and MAX_ACCELERATION in the ini-file.
At the moment the program is executed (using AXIS in this case) and the machine just "silently" loses the synchronization with the spindle without so much as a notice. Is there a way to check whether a program would work (at a given spindle-speed) before-hand?
At the moment the program is executed (using AXIS in this case) and the machine just "silently" loses the synchronization with the spindle without so much as a notice. Is there a way to check whether a program would work (at a given spindle-speed) before-hand?
Please Log in or Create an account to join the conversation.
11 Apr 2016 14:56 #73112
by andypugh
Replied by andypugh on topic How to check whether G33 would hit machine limits?
I would actually expect the machine to trigger a following error. Are your f-error limits unusually wide?
Not that that is any real help, of course.
Not that that is any real help, of course.
Please Log in or Create an account to join the conversation.
11 Apr 2016 15:00 - 11 Apr 2016 15:02 #73113
by torotil
Replied by torotil on topic How to check whether G33 would hit machine limits?
Yes the F_ERROR settings might be a bit 'generous'. So that covers the 'silently' part. I'd still love to know as early as possible that the program will fail (ie. before executing it) and also exactly which part of it is too fast.
If needed I'm even prepared to chip-in some coding - but at the moment I do not even know where to look for that functionality.
If needed I'm even prepared to chip-in some coding - but at the moment I do not even know where to look for that functionality.
Last edit: 11 Apr 2016 15:02 by torotil.
Please Log in or Create an account to join the conversation.
11 Apr 2016 15:10 - 11 Apr 2016 15:10 #73114
by andypugh
Replied by andypugh on topic How to check whether G33 would hit machine limits?
It could be done in G-code.....
Reading of INI files by G-code needs to be enabled for this to work:
linuxcnc.org/docs/2.7/html/remap/remap.h...i_file_configuration
O100 IF [#<_rpm> * #101 GT #<_ini[AXIS_2]MAX_VELOCITY>]
(MSG, I am sorry Dave, I can't let you do that)
O100 ELSE
G33 Z100 K#101
O100 ENDIF
Reading of INI files by G-code needs to be enabled for this to work:
linuxcnc.org/docs/2.7/html/remap/remap.h...i_file_configuration
Last edit: 11 Apr 2016 15:10 by andypugh.
Please Log in or Create an account to join the conversation.
11 Apr 2016 15:16 #73116
by torotil
Replied by torotil on topic How to check whether G33 would hit machine limits?
Wow, thanks! Do you also know something similar for the acceleration? I guess that somewhat depends on trajectory planning, right?
From that I know the difference in speed as, but I still don't know the needed acceleration.
G33 Z0 K#1
G33 Z100 K#2
From that I know the difference in speed as
ABS[#1-#2]*#<_rpm>/60
Please Log in or Create an account to join the conversation.
11 Apr 2016 15:23 #73117
by andypugh
The fact that the spindle is (probably) already turning and that the axis has a finite acceleration means that there will always be _some_ error. The magnitude of the position error can be calculated from the desired speed (rpm x feed) and the equation v^2 = 2as.
In this case a can be read from the INI and s is the resultant following error.
Replied by andypugh on topic How to check whether G33 would hit machine limits?
Do you also know something similar for the acceleration
The fact that the spindle is (probably) already turning and that the axis has a finite acceleration means that there will always be _some_ error. The magnitude of the position error can be calculated from the desired speed (rpm x feed) and the equation v^2 = 2as.
In this case a can be read from the INI and s is the resultant following error.
Please Log in or Create an account to join the conversation.
11 Apr 2016 15:34 #73118
by torotil
Replied by torotil on topic How to check whether G33 would hit machine limits?
Sure. Going from one speed to another can't go instantly. It seems that usually the machine catches up with the desired position at some later point - perhaps by going faster and then slowing down again. Looking closely at my test-objects I can even see that. At some times it simply fails to do that, though. Subsequent commands are then executed at the wrong position. Under which conditions would that happen?
Please Log in or Create an account to join the conversation.
12 Apr 2016 11:21 #73151
by andypugh
I don't have much experience with G33. I have used G76 extensively, and my impression is that that is allowed to lag behind the "ideal" position but retracts at the right point. The amount of lag would vary with spindle speed, so there is a recommendation in the documentation not to alter the spindle speed between threading passes.
Replied by andypugh on topic How to check whether G33 would hit machine limits?
Sure. Going from one speed to another can't go instantly. It seems that usually the machine catches up with the desired position at some later point
I don't have much experience with G33. I have used G76 extensively, and my impression is that that is allowed to lag behind the "ideal" position but retracts at the right point. The amount of lag would vary with spindle speed, so there is a recommendation in the documentation not to alter the spindle speed between threading passes.
Please Log in or Create an account to join the conversation.
Time to create page: 0.133 seconds