Mid Operation Adjustments - HD510 with Spindle

Anything and everything CNC-Shark-related

Moderators: ddw, al wolford, sbk, Bob, Kayvon

Post Reply
anderjus
Posts: 3
Joined: Tue Jul 05, 2022 5:25 pm

Mid Operation Adjustments - HD510 with Spindle

Post by anderjus »

I recently purchased an HD510 with 2hp spindle. In two of my first projects, which both took 4+ hours to route, I encountered issues midway through the operation that required me to stop. I could not find a way to stop and resume the operation after correcting the issue. Pausing the operation via the pendant leaves the spindle spinning. I tried stopping the spindle through the VFD, but could not get it restarted and synced with the controller afterword (I was told by Next Wave that a reboot of the controller is required after this happens). Finally, I tried modifying my tap file by removing the already transmitted lines, but not being fully savy in G code I was dismayed to have the spindle descend in an unintended way right through my project.

Does anyone know a good way to stop and resume a long project, which also stops the spindle? Even better would be a way to stop and resume where I could re-zero my project (for cases where the project is bumped, etc.).

I Appreciate any suggestions that are offered.

Rando
Posts: 757
Joined: Tue Jan 06, 2015 3:24 pm
Location: Boise, ID
Contact:

Re: Mid Operation Adjustments - HD510 with Spindle

Post by Rando »

Yes: get rid of your NWA controller, swap in something using Mach3 or Mach4, wire the driver module inputs to the new motion controller board, and don't look back ;)

Other than that, learn GCode so you can easily identify the "preamble" and "closing" parts of the files.

If you look in the post-processor editing guide (under the Help menu) in the Vectric software, scroll down about 20% to find "Tape Splitting Support." That will at least give you a bunch of already-made chunks that you can restart from. Copy the post processor to another name, edit one to use the tape-splitting, then output the tap GCode file both as a single big one (on the hope it will run perfectly), and then using the tape-splitting one to get the chunks. Figure out which chunks ran, and start over with the on in which the error occured. Yes, it will re-run part of what's already been cut, but it shouldn't be as much as the whole thing.

Hope that helps. And no, I wasn't kidding on the first bit: that's exactly what I did, including changing to from the old-style stepper motors to more-current hybrid stepper-servo motors and driver modules. I even got much finer resolution, now at 0.0001" resolution (yes, one ten-thousandth of an inch), and a FAR more reliable control system. But, I'm a CNC geek with the ability to do those kinds of things...if you're not pretty adept at electronics design and wiring, that course will be "difficult" at best. :mrgreen:

Regards,

Rando
=====================================================
ThomR.com Creative tools and photographic art
A proud member of the Pacific Northwest CNC Club (now on Facebook)

anderjus
Posts: 3
Joined: Tue Jul 05, 2022 5:25 pm

Re: Mid Operation Adjustments - HD510 with Spindle

Post by anderjus »

Rando wrote:
Tue Jul 05, 2022 9:04 pm
Yes: get rid of your NWA controller, swap in something using Mach3 or Mach4, wire the driver module inputs to the new motion controller board, and don't look back ;)

Other than that, learn GCode so you can easily identify the "preamble" and "closing" parts of the files.

If you look in the post-processor editing guide (under the Help menu) in the Vectric software, scroll down about 20% to find "Tape Splitting Support." That will at least give you a bunch of already-made chunks that you can restart from. Copy the post processor to another name, edit one to use the tape-splitting, then output the tap GCode file both as a single big one (on the hope it will run perfectly), and then using the tape-splitting one to get the chunks. Figure out which chunks ran, and start over with the on in which the error occured. Yes, it will re-run part of what's already been cut, but it shouldn't be as much as the whole thing.

Hope that helps. And no, I wasn't kidding on the first bit: that's exactly what I did, including changing to from the old-style stepper motors to more-current hybrid stepper-servo motors and driver modules. I even got much finer resolution, now at 0.0001" resolution (yes, one ten-thousandth of an inch), and a FAR more reliable control system. But, I'm a CNC geek with the ability to do those kinds of things...if you're not pretty adept at electronics design and wiring, that course will be "difficult" at best. :mrgreen:

Regards,

Rando
Thanks for the informative response Rando. Yeah, changing out the controller and/or servos is probably a step too far for me at the moment. :-)

Seems like working with the GCode is the best option for me right now. I've been modeling and generation my toolpaths using Fusion 360, since it seemed that what I was trying to produce was a bit "too 3D" for the Vcarve toolpath generation. I'm not sure if Fusion 360 offers a similar function, but maybe I can find a way to import the Fusion 360 generated .tap file into Vcarve, and use it's tape splitting function so I can at least omit some of the already executed GCode.

Perhaps at some point I'll be able to manually modify the GCode, so that I can limit the amount of re-running when I restart. But, every time I've tried this it's resulted in my machine diagonally taking the tool right through the project and ruining it. I'm aware that changes in position are interpolated (and the tool is moved along multiple axes at once), but was confused about the path the controller took. I started with a Fusion 360 generated .tap code file, left what appeared to be the "startup" portions of the file, cut out the already performed lines (per my pendant), and added a couple of lines to move the spindle to the appropriate XY location with a Z height that should have been above the surface. Any idea why that might have happened? It seemed like the controller was actually executing subsequent lines (and moving the spindle down) before reaching the XY location in the first instruction?

Rando
Posts: 757
Joined: Tue Jan 06, 2015 3:24 pm
Location: Boise, ID
Contact:

Re: Mid Operation Adjustments - HD510 with Spindle

Post by Rando »

anderjus:

============================
Importing GCode tap files:

Vectric, and most other CAD/CAM programs have ZERO capability to **import** GCode tap files, so that's gonna be a dead-end. That is, you can only use the Vectric tape-splitting feature on toolpaths actually generated in Vectric.
============================
Making the head move to a position, stop, and only then descend to resume cutting:

When you make the head move to a specific XY location (G00 or G01) and you need it go there, STOP, and then descend in Z, put a G04 P250 pause block in between. That way, the machine will go to the XY location, wait a 1/4 second, and then descend. The closer you can get the XY to the right location, the better, of course. The code would look something like the below, if you needed it to start cutting at, for example, X1.050 Y5.653, and then start cutting at Z-0.020:

G01 X1.050 Y5.653 F100.00
G04 P250
G01 Z-0.020 F20.0

The F100 should be your choice of linear feedrate, and the F20.0 should be whatever you use for the vertical plunge rate. Note that if you use ramping, the plunge rate won't actually be purely vertical, but rather will be the rate along the ramp trajectory. So if you use a ramp and your linear rate is 100 with the plunge rate at 65, you might want a true-vertical rate of only 20 or so.

Adding the G04 with a millisecond delay value (e.g., P250) should keep it from interpolating the movement, and head straight down.
============================
Figuring out what's a preamble and what's movement:

To make it all work right, take a look at the following chunk of GCode, written using the "CNCShark-USB 3D Contour (inch)(*.tap)" post processor. The "preamble" starts with a line of +'s and ends with the line of -'s. Everything after the first movement command is typically understood as being that preamble. That is, the first G00 or G01, typically something like "G00 Z0.5" to get the head up to the safe-height. So, when you're cutting out hunks of GCode, leave all of the preamble in, and only cut out lines in the movement section. Be careful if there are actually multiple toolpaths in there, since you only need the **most recent** preamble for things to work.

(+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)
( Shark30DegEngravingSingle )
( File created: Wednesday July 06 2022 - 04:41 PM)
( for CNC Shark from Vectric )
( Material Size)
( X= 4.375, Y= 3.000, Z= 0.750)
( Z Origin for Material = Material Surface)
( XY Origin for Material = Top Left Corner)
( XY Origin Position = X:0.000, Y:0.000)
( Home Position)
( X = X0.0000 Y = Y0.0000 Z = Z0.5000)
( Safe Z = 0.200)
()
(Toolpaths used in this file:)
(30DegEngravingSingle)
(Tool used in this file: )
(Engraving - 30 Deg Incl. Angle Tip 0.005 - 0.353 inches)
(|---------------------------------------)
(| Toolpath:- '30DegEngravingSingle' )
(|---------------------------------------)
G90
G20
F6000.0
G64 P0.050
M6 T1
S20000
M3
G0 Z0.5000
(---------------------------------------------------------------------------------------------------------------------------)
F6000.0
G00 X0.1977 Y-0.9763 Z0.2000
F6000.0
G00 X0.1977 Y-0.9763 Z0.1500
F1200.0
G1 X0.1977 Y-0.9763 Z-0.0300
F6000.0
G01 X0.1979 Y-0.9762 Z-0.0300
G01 X0.2044 Y-0.9779 Z-0.0300
G01 X0.2901 Y-0.9786 Z-0.0300
G01 X0.5180 Y-0.9791 Z-0.0300
F6000.0

So, let's say you want to cut out everything and resume at the second-to-the-last G01 command, "G01 X0.2901 Y-0.9786 Z-0.0300". Your modified code then, would include the preamble including the G00 Z0.5000, and then look something like this:

F6000.0
G01 X0.2901 Y-0.9786
G04 P250
F500.0
G01 Z-0.0300
F6000.0
.... and then the rest of the GCode.

That way, it will go to the XY coordinates, pause for 1/4 second once it's all the way there, and only THEN will it go down to start curving in the material.

Make sense?

Hope that helps.

Rando
=====================================================
ThomR.com Creative tools and photographic art
A proud member of the Pacific Northwest CNC Club (now on Facebook)

anderjus
Posts: 3
Joined: Tue Jul 05, 2022 5:25 pm

Re: Mid Operation Adjustments - HD510 with Spindle

Post by anderjus »

Rando wrote:
Wed Jul 06, 2022 5:54 pm
anderjus:

============================
Importing GCode tap files:

Vectric, and most other CAD/CAM programs have ZERO capability to **import** GCode tap files, so that's gonna be a dead-end. That is, you can only use the Vectric tape-splitting feature on toolpaths actually generated in Vectric.
============================
Making the head move to a position, stop, and only then descend to resume cutting:

When you make the head move to a specific XY location (G00 or G01) and you need it go there, STOP, and then descend in Z, put a G04 P250 pause block in between. That way, the machine will go to the XY location, wait a 1/4 second, and then descend. The closer you can get the XY to the right location, the better, of course. The code would look something like the below, if you needed it to start cutting at, for example, X1.050 Y5.653, and then start cutting at Z-0.020:

G01 X1.050 Y5.653 F100.00
G04 P250
G01 Z-0.020 F20.0

The F100 should be your choice of linear feedrate, and the F20.0 should be whatever you use for the vertical plunge rate. Note that if you use ramping, the plunge rate won't actually be purely vertical, but rather will be the rate along the ramp trajectory. So if you use a ramp and your linear rate is 100 with the plunge rate at 65, you might want a true-vertical rate of only 20 or so.

Adding the G04 with a millisecond delay value (e.g., P250) should keep it from interpolating the movement, and head straight down.
============================
Figuring out what's a preamble and what's movement:

To make it all work right, take a look at the following chunk of GCode, written using the "CNCShark-USB 3D Contour (inch)(*.tap)" post processor. The "preamble" starts with a line of +'s and ends with the line of -'s. Everything after the first movement command is typically understood as being that preamble. That is, the first G00 or G01, typically something like "G00 Z0.5" to get the head up to the safe-height. So, when you're cutting out hunks of GCode, leave all of the preamble in, and only cut out lines in the movement section. Be careful if there are actually multiple toolpaths in there, since you only need the **most recent** preamble for things to work.

(+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)
( Shark30DegEngravingSingle )
( File created: Wednesday July 06 2022 - 04:41 PM)
( for CNC Shark from Vectric )
( Material Size)
( X= 4.375, Y= 3.000, Z= 0.750)
( Z Origin for Material = Material Surface)
( XY Origin for Material = Top Left Corner)
( XY Origin Position = X:0.000, Y:0.000)
( Home Position)
( X = X0.0000 Y = Y0.0000 Z = Z0.5000)
( Safe Z = 0.200)
()
(Toolpaths used in this file:)
(30DegEngravingSingle)
(Tool used in this file: )
(Engraving - 30 Deg Incl. Angle Tip 0.005 - 0.353 inches)
(|---------------------------------------)
(| Toolpath:- '30DegEngravingSingle' )
(|---------------------------------------)
G90
G20
F6000.0
G64 P0.050
M6 T1
S20000
M3
G0 Z0.5000
(---------------------------------------------------------------------------------------------------------------------------)
F6000.0
G00 X0.1977 Y-0.9763 Z0.2000
F6000.0
G00 X0.1977 Y-0.9763 Z0.1500
F1200.0
G1 X0.1977 Y-0.9763 Z-0.0300
F6000.0
G01 X0.1979 Y-0.9762 Z-0.0300
G01 X0.2044 Y-0.9779 Z-0.0300
G01 X0.2901 Y-0.9786 Z-0.0300
G01 X0.5180 Y-0.9791 Z-0.0300
F6000.0

So, let's say you want to cut out everything and resume at the second-to-the-last G01 command, "G01 X0.2901 Y-0.9786 Z-0.0300". Your modified code then, would include the preamble including the G00 Z0.5000, and then look something like this:

F6000.0
G01 X0.2901 Y-0.9786
G04 P250
F500.0
G01 Z-0.0300
F6000.0
.... and then the rest of the GCode.

That way, it will go to the XY coordinates, pause for 1/4 second once it's all the way there, and only THEN will it go down to start curving in the material.

Make sense?

Hope that helps.

Rando
Yes, that makes sense and is extremely helpful. Thank you Rando!

Hopefully I don't run into a lot of issues that require a mid-operation stop, but if I do I think I'll be much better off with this method.

Best,

Post Reply