Plasma settings

More
10 years 8 months ago #70039 by Rick G
Plasma settings was created by Rick G
In order to get a quality cut using a plasma torch there are several settings that effect the cut.
Settings such as kerf, pierce height, pierce delay, cut height, feed rate, amps, pressure, etc.
When traveling from one cut to another a Z safe position.
If using torch height control the proper voltage needs to be set.

In our case we use a Mesa THC card and John T's THC. We added panel buttons to Save, Show and Restore the plasma settings.
For safety I prefer to limit the travel speed in between cuts with travel_rate.

Arc trans stop is used to select if we want the machine to stop if it senses a loss of arc transfer, or just keep going in the case of a false arc transfer error.
Circle pierce, in order to help protect the tip during piercing thick material this moves the torch in a tiny circle while piercing (experimental).

Most of these settings are used by a light torch sub in place of a M3 when starting the cut. This probes for the top of the material, sets the Z coordinate, goes to pierce height, lights the torch, waits for pierce delay, goes to cut height then goes on to the cut.

Instead of keeping a cheat sheet next to the machine with the settings we use NGCGUI subs and store the settings with numbered parameters so they are available to all programs.
The subs are named for easy identification: material, thickness_tip_amps. The most common are in tabs, the rest selected with the custom tab.

To use we select a plasma settings sub, make any adjustments to the fields, finalize it and then run it.
The .var file has been edited for the numbered parameters so that they are saved even it the machine is turned off.

For simple cuts we may just write the short code needed. In several cases we use NGCGUI subs to make cuts such as circles, rectangles, etc.
For more complicated cuts we use Sheetcam and have edited the post to use the parameters. In all cases the numbered parameters can be used.
Code:
o<steel035_20t_20a> sub (concept only edit for your use before using) (info: steel .035 thick galv plasma cut) ;assumes top of material is 0 ;feb 13, 2013 #<toolnum> = #1 ( = 4 tool num) #<kerf> = #2 ( = .050 kerf) #<pierce_height> = #3 ( = .19 Pierce height) #<pierce_delay> = #4 ( = .01 Pierce delay) #<cut_height> = #5 ( = .130 Cut height) #<z_safe> = #6 (= 1.25 Z safe) #<feed_rate> = #7 ( = 60 Feed rate) #<tip> = #8 ( = 20 amp) #<amps> = #9 ( = 20 amp) #<pressure> = #10 ( = 65 pressure) #<voltage> = #11 ( = 100) #<thickness> = #12 ( = .035 thickness) #<main_cord> = #13 (= 54 Main G cord) #<temp_cord> = #14 (= 55 Temp G cord) #<arc_transfer_stop> = #15 (= 1 arc trans stop) #<travel_rate> = #16 ( = 200 travel speed) #<circle_pierce> = #17 ( = 0 1 for circle pierce) #<main_cord_n> = 0 #<temp_cord_n> = 0 #<voltage:adj> = 0 G17 (xy plane) G20 (inches) G40 (cancel cutter radius compensation) G49 (cancel tool length offset) G90 (absolute distance mode) G94 (units/min feed rate) G64 P.001 Q.001 (set path tolerance) M53 P0 (disable the feed stop switch, allows movement even without arc OK signal to position machine, turn back on after light_torch3) o201 if [[#<main_cord> EQ 59.3] OR [#<temp_cord> EQ 59.3]] (debug, bad Cord system G59.3 used for probe Main #<main_cord> Temp #<temp_cord>) o200 return o201 endif o701 if [#<temp_cord> EQ #<main_cord>] (debug, Main cord and temp cord cannot be the same Main #<main_cord> Temp #<temp_cord>) o700 return o701 endif o<check_cord3> call [#<main_cord>] [#<temp_cord>]; Assign number to valid coordinate system for use with g code commands such as G10 returns #<_m:cord> and #<_t:cord> #<main_cord_n> = #<_m:cord> #<temp_cord_n> = #<_t:cord> o801 if [#<main_cord_n> EQ 0] (debug, bad Main cord #<main_cord_n>) o800 return o801 endif o901 if [#<temp_cord_n> EQ 0] (debug, bad Temp cord #<temp_cord_n>) o900 return o901 endif (debug, main cord #<main_cord> and #<main_cord_n>) (debug, temp cord #<temp_cord> and #<temp_cord_n>) ;set numbered parameters #3000 = #<toolnum> #3001 = #<kerf> #3002 = #<pierce_height> #3003 = #<pierce_delay> #3004 = #<cut_height> #3005 = #<z_safe> #3006 = #<feed_rate> #3007 = #<tip> #3008 = #<amps> #3009 = #<pressure> #3010 = #<voltage> #3011 = #<thickness> #3012 = #<main_cord> #3013 = #<temp_cord> #3014 = #<main_cord_n> #3015 = #<temp_cord_n> #3016 = #<voltage:adj> #3017 = #<arc_transfer_stop> #3018 = #<travel_rate> #3019 = #<circle_pierce> F #<feed_rate> M107 P#3010 Q#3016(set panel voltage) o<steel035_20t_20a> endsub

Please Log in to join the conversation.

More
10 years 8 months ago #70069 by BigJohnT
Replied by BigJohnT on topic Plasma settings
I would forget to set the voltage spinner every now and then so I started directly feeding that to the thc component like this by modifying the sheetcam post and my ngcgui subs.
; set thc to 79 volts in the g code file
M68 E0 Q79

The hal is:
# reads the volts setting from the G code M68 E0 Q
net volts-requested thc-pid.volts-requested <= motion.analog-out-00

JT

Please Log in to join the conversation.

More
10 years 8 months ago #70368 by Rick G
Replied by Rick G on topic Plasma settings
Hey John,

That's a neat idea.

One of the reasons I set this up, was so as not to forget a setting. With the numbered parameters saved to file they are automatically available.
I found that then I would forget to turn the THC on, so I reversed the logic so the THC is normally on and clicked to turn off.

I do something similar to you for the voltage adjustment as that is entered from the panel.
The voltage adjustment is saved with...
Code:
o<save3> sub ;Feb 17, 2014 ; All numbered parameters are already saved automatically to var file (save plasma voltage adjustment setting) M66 E0 L0 #3016 = #5399 (debug, Saving settings voltage adjustment) o<save3> endsub
Code:
The settings are restored/ shown with... o<restore3> sub ;restore3.ngc ;Feb 17, 2014 G#3012 F#3006 (restore plasma voltage adjustment setting) M107 P#3010 Q#3016(set panel voltage) (debug, Tool no #3000) (debug, Kerf #3001) (debug, P Height #3002, P Delay #3003) (debug, Cut Height #3004, Z safe #3005) (debug, Feed #3006, Tip #3007) (debug, Amps #3008, Pres #3009) (debug, Volts #3010, Thickness #3011) (debug, M cord #3012, M cord no. #3014) (debug, T cord #3013, T cord no. #3015) (debug, Voltage Adj #3016) (debug, Arc trans stop #3017) (debug, Travel rate #3018) (debug, circle pierce #3019) o<restore3> endsub
M107 is something like...
Code:
#!/bin/bash #m107 to set thc values #voltage is P #voltage adjustment is Q voltage=$1 voltadj=$2 halcmd setp sum2.0.in1 $voltage halcmd unlinkp pyvcp.spinbox.1.param_pin halcmd setp pyvcp.spinbox.1.param_pin $voltadj halcmd setp pyvcp.thc_volts_file $voltage exit 0

And ih hal using motion.analog-in-00...
Code:
net thc.volts_adjustment pyvcp.volts-adjustment => sum2.0.in0 => motion.analog-in-00 net thc_volts_req_final thc.volts-requested pyvcp.thc_volts_req_final <= sum2.0.out net restore-thc halui.mdi-command-00 <= pyvcp.restore-thc net save-thc halui.mdi-command-01 <= pyvcp.save-thc

When working with sheet metal I would sometimes get an arc transfer error right after pierce, probably because the pierce is so fast so I added an Arc trans stop variable to toggle that feature on or off.

Rick G

Please Log in to join the conversation.

Time to create page: 0.081 seconds
Powered by Kunena Forum