First cut success - with questions!
-
@jay_s_uk said in First cut success - with questions!:
@nightowl999 why? its obvious whats going on. you're trying to run a job outside the axis limits. redoing the config won't change that
I guess I must be, but redoing the config (or at least looking at my original config to compare with the existing one) was the only place I felt I could reliably start from, but there is little difference between the two files.
-
@nightowl999 exactly, little difference so is a pointless task.
What are your M208 limits?
Are you using workplace offsets?
How big is the part?
What coordinates is the part at in the CAM software?
Are you working with 0 as the top of the stock or the top of the spoil board? -
@fcwilt said in First cut success - with questions!:
The issue of trying to move past the axis limits is simple. However you generated the code it was using axis limits that did not match your machine.
How do you generate code for a CNC machine?Yesterday I was using Vectric Cut2D Trial version to cut their 'Avalon' sample file and ran it successfully, but this was before I made any of the changes shown above.
I made the file changes today and then used Vectric Cut2D Desktop version (I've just bought the license) to run a small test file, and get the error.
I've homed the machine after turning it on, moved the gantry to - and set - the work zero and loaded the file, then I got the error. IO am able to jog the machine in any of the 6 directions away from the work zero, and the machine goes back to that spot when I click Home All, but again the file won't run.
What have I missed?
-
M208 limits:
X0 Y0 Z0 S1
X550 Y787 Z100 S0Am I using workplace offsets?
I am. I've jogged the cutter to the stock zero and set that as work zero.How big is the part?
10" x 10" x 0.5"What coordinates is the part at in the CAM software?
OMG. Give me a minute...Am I working with 0 as the top of the stock or the top of the spoil board?
Top of the stockUpdate:
Tool position is shown as 0, 0, 0
Machine position is shown as 47, 234, 92 -
So you both have a point....
I wasn't really concentrating on where the spindle was in relation to the project when testing it today, but when I moved it closer to the front, left of the working area, the file ran an air cut successfully.
I'm not sure if this is legacy Duet, but with my S3 CNC machine I could pretty much put the stock anywhere on the spoil board and, as long as I set the work zero properly, it would cut fine. I would have thought the same would be true for a Duet-controlled CNC machine. Perhaps I'm wrong.
From this experience, I will definitely have to experiment some more, just to see what the machine vs software limits are, then I won't make an idiot of myself - again!
Thank you, guys
-
@nightowl999 well it is the same, but you need to make sure that whatever you're cutting is within the limits of the machine. If it goes outside your maximum limits it won't run
-
That's actually a good safety feature, @jay_s_uk. One of the reasons I got rid of the S3 was because it would do random and inexplicable things, resulting in deeper than expected holes in the stock!
The file I tried to run was to check the calibration of the machine, i.e. a 3" diameter circle and a 3" square in a horizontal line on a 10" piece of stock, so I have to assume it was setup too far over, but it didn't seem to be.
Time for some experimentation...
Thanks again.
-
@nightowl999 said in First cut success - with questions!:
I am. I've jogged the cutter to the stock zero and set that as work zero.
What does that mean? How is it done?
In the 3D printer world the slicer program knows the limits of the printer.
If you tried to slice an object that was too big the program would issue a warning.
If you tried to slice an object that was not too big but you positioned it in the slicers "virtual printer" so that some part of it was outside the printer limits the program would also issue a warning.
If you successfully sliced an object but forced the printer X=0 Y=0 point to some other location (using a G92 command - something you normally would never do) then you could encounter a problem if that resulted in some part of the object being outside the printer limits.
Does you program work anything like that?
Frederick
-
@fcwilt CNC uses physical endstops to know where the machine home is, however you don't have to place the stock you want to cut at 0,0. you can set it anywhere on the spoilboard (bed in the 3d printer world) and then tell RRF where that stock is by setting its 0,0 point as a workplace offset.
-
@jay_s_uk said in First cut success - with questions!:
@fcwilt CNC uses physical endstops to know where the machine home is, however you don't have to place the stock you want to cut at 0,0. you can set it anywhere on the spoilboard (bed in the 3d printer world) and then tell RRF where that stock is by setting its 0,0 point as a workplace offset.
I don't use workplace offsets but I was under the impression they worked as you have used them.
I will need to do some testing.
Frederick
-
@fcwilt
In programs like Vectric Cut2D, I would design a project to be cut out of a piece of material, usually wood ('real' wood, plywood or MDF). Some people would use the limits of the stock, e.g. use a 6x4x4" block of wood to cut a hole in the middle and call it a box, but I prefer to cut the box out of a larger block, so square edges and a flat top of the block aren't too important, although a flat base is.The Z zero is (for me) on the top of the block and X and Y zero are to the front left of the block. Others may do things differently, e.g. using the middle of the block as X and Y zero, or the baseboard as their Z zero.
In my case, the tip of the cutter is set on the top of the material at the X and Y start point and click Go, then the machine cuts and leaves a nice shiny box! The Vectric software I use has a size limit (24" x 24") so I can't cut anything larger than that, unless I tile it - but I'm only just starting out and that strategy is a bit advanced for me.
-
I'm not getting this, but I'm tired and increasingly frustrated, so I'm going to leave it for now, but here are a couple of photos to show what my issues are (or at least the issues I'm struggling to understand).
This is the maximum work area, although there's quite a bit of dead space at the rear (as the spindle is mounted on the front of the X gantry) and about 20mm inside the Y rails...
This is the workpiece at the front, with a tape measure to show how big the project area is (10x10") from the work zero (where the spindle is)...
But I'm still getting the "Error: G0/G1: target position outside machine limits", which doesn't make sense.
I'll write a smaller project in Cut2D and see if that makes a difference.
Time for a beer with my dinner, I think!
-
@nightowl999
We've got company right now and will for several hours yet.
It it weren't for that I would run some tests here and determine what is going on.
Sorry I cannot help you this minute.
Frederick
-
That's very kind @fcwilt, but please don't let this spoil your evening.
I've given up for the evening, anyway
-
@Nightowl999 said in First cut success - with questions!:
userPosition is already higher than (max-5)? Would it try to move +5 anyways and hit the upper limit or stop automatically at max?
getting the "Error: G0/G1: target position outside machine limits", which
The firmware is strict for laser/CNC mode to stop with the error if the target is not reachable. This is different to 3D printer mode, where it prints the adjusted range.*)
If your X and Y ranges are ok, then maybe the program wants to lift Z more than the M208 upper limit of 100. To analyse, the line which produces the error should be identified and the current position from M114 Count value and M92 setting.
*) for someone who is interested in the code: GCodes.cpp
case LimitPositionResult::adjusted: case LimitPositionResult::adjustedAndIntermediateUnreachable: if (machineType != MachineType::fff) { err = "G0/G1: target position outside machine limits"; // it's a laser or CNC so this is a definite error return true; } ToolOffsetInverseTransform(moveState.coords, moveState.currentUserPosition); // make sure the limits are reflected in the user position if (lp == LimitPositionResult::adjusted) { break; // we can reach the intermediate positions, so nothing more to do } // no break
adjusted stops for laser/CNC, but is accepted for 3D printers.
-
I wouldn't know the first thing about code, @joergs5, but I'll take a look at the Z height.
If it's relevant, the Z axis configuration sets the physical drive for Z as 'backwards'...
M569 P0.3 S0 ; physical drive 0.3 goes backwards - Z axis
...with the Z minima/maxima set at 0/100.
I'm not sure I fully understand what you're suggesting, but I'd be happy to run the code, if you could tell me exactly how!
Vielen dank.
-
@nightowl999 the first thing would be to find the line which produces the first error message and then proceeding the lines before and then
- run M114 and notify the Count values (the first being X position, second y, third Z)
- then tell me the count value and M92 and the G0/G1 command which fails. I'll tell you how to calculate and hope to give you an answer for the error
- if you want to verify homing, please home and after homing, run M114 and notify count values as well
To avoid ruining your workpieces, there is a simulation mode which should be possible to use. I didn't use it before, so just an idea. M37, but I don't know it, but maybe valuable to find the error line.
-
@JoergS5 Thank you.
Before homing, M114 reports the following:
X:0.000 Y:0.000 Z:0.000 E:0.000 Count 0 0 0 Machine 0.000 0.000 0.000 Bed comp 0.000Just a moment, and I'll home it...
-
@JoergS5
After homing, it's:
X:547.000 Y:784.000 Z:97.000 E:0.000 Count 218800 313600 38800 Machine 547.000 784.000 97.000 Bed comp 0.000 -
@nightowl999 said in First cut success - with questions!:
@JoergS5
After homing, it's:
X:547.000 Y:784.000 Z:97.000 E:0.000 Count 218800 313600 38800 Machine 547.000 784.000 97.000 Bed comp 0.000The 218800 is a value from your M92 setting and the homing position. What is your M92 setting, please?