NAME

plasmac - A plasma cutter controller

SYNOPSIS

loadrt plasmac

DESCRIPTION

A plasma cutting table control component for use with the LinuxCNC V2.8 or later.
 
VERSION:
 
1.235
 
SUMMARY:
 
Usage of this component is demonstrated in the QtPlasmaC example configurations included with LinuxCNC.
 
DISCLAIMER:
 
THE AUTHOR OF THIS SOFTWARE ACCEPTS ABSOLUTELY NO LIABILITY FOR ANY HARM OR LOSS RESULTING FROM ITS USE.
 
IT IS EXTREMELY UNWISE TO RELY ON SOFTWARE ALONE FOR SAFETY.
 
Any machinery capable of harming persons must have provisions for completely stopping all motors and moving parts etc. before persons enter any danger area.
 
All machinery must be designed to comply with local and national safety codes, and the author of this software can not, and does not, take any responsibility for such compliance.
 

FUNCTIONS

plasmac (requires a floating-point thread)

PINS

plasmac.arc-fail-delay float in
arc start failure timeout (seconds)
plasmac.arc-lost-delay float in
arc lost delay during a cut (seconds)
plasmac.arc-ok-high float in
maximum voltage level for Arc OK signal [mode 0] (volts)
plasmac.arc-ok-in bit in
external arc ok input signal [mode 1 & mode 2]
plasmac.arc-ok-low float in
minimum voltage level for Arc OK signal [mode 0] (volts)
plasmac.arc-max-starts s32 in
maximum attempts at starting the arc
plasmac.arc-voltage-in float in
arc voltage input [mode 0 & mode 1] see Notes above
plasmac.arc-voltage-offset float in
offset to set arc voltage to 0 at 0 volts
plasmac.arc-voltage-scale float in
scale to convert arc_voltage input to actual volts
plasmac.thc-auto bit in
enable automatic thc activation
plasmac.axis-x-max-limit float in
axis x maximum limit, connect to ini.x.max-limit
plasmac.axis-x-min-limit float in
axis x minimum limit, connect to ini.x.min-limit
plasmac.axis-x-position float in
current x axis position, connect to axis.x.pos-cmd
plasmac.axis-y-max-limit float in
axis y maximum limit, connect to ini.y.max-limit
plasmac.axis-y-min-limit float in
axis y minimum limit, connect to ini.y.min-limit
plasmac.axis-y-position float in
current y axis position, connect to axis.y.pos-cmd
plasmac.axis-z-max-limit float in
axis z maximum limit, connect to ini.z.max-limit
plasmac.axis-z-min-limit float in
axis z minimum limit, connect to ini.z.min-limit
plasmac.axis-z-position float in
current z axis position, connect to joint.N.pos-fb
plasmac.breakaway bit in
torch breakaway switch (optional, see float_switch)
plasmac.consumable-change bit in
change consumables in torch
plasmac.cornerlock-enable bit in
enable corner lock
plasmac.cornerlock-threshold float in
corner lock threshold (% of requested feed rate), speeds below this disable THC
plasmac.current-velocity float in
current machine velocity, connect to motion.current-vel
plasmac.cut-feed-rate float in
cut feed rate from current material (machine units per minute)
plasmac.cut-height float in
cut height (machine units)
plasmac.cut-recovery bit in
recover from cut error
plasmac.cut-volts float in
cut voltage (volts)
plasmac.cutting-start bit in
start a new cut, connect to spindle.0.on
plasmac.debug-print bit in
if true will print state changes as a debug aid
plasmac.external-estop bit in
external E-stop input
plasmac.feed-override float in
feed override value from GUI (connect to halui.feed-override.value)
plasmac.feed-reduction float in
reduce adaptive feed to this percentage (connect to motion.analog-out-03)
plasmac.float-switch bit in
float switch input (can also act as breakaway if it actuates when torch breaks away)
plasmac.float-switch-travel float in
float switch travel (machine units)
plasmac.gcode-scale float in (default: 1)
current G-code scale
plasmac.height-override float in
height override adjustment (volts)
plasmac.height-per-volt float in
torch height change per volt (machine units)
plasmac.homed bit in
machine is homed
plasmac.ignore-arc-ok-0 bit in
don't require arc ok for start or cutting
plasmac.ignore-arc-ok-1 bit in
don't require arc ok for start or cutting
plasmac.kerf-width float in
placeholder for better G-code portability between GUIs
plasmac.override-jog bit in
override jog inhibit
plasmac.offset-set-probe bit in
deploy probe for setting offsets
plasmac.offset-set-scribe bit in
deploy scribe for setting offsets
plasmac.laser-recovery-start s32 in
start laser offset for cut recovery
plasmac.laser-x-offset s32 in
alignment laser x axis offset (scaled units)
plasmac.laser-y-offset s32 in
alignment laser y axis offset (scaled units)
plasmac.lowpass-frequency float in
lowpass cutoff frequency for arc voltage output
plasmac.machine-is-on bit in
machine is on signal
plasmac.max-offset s32 in (default: 5)
maximum height offset
plasmac.mesh-arc-ok bit in (default: FALSE)
don't require arc ok for mesh mode
plasmac.mesh-enable bit in
enable mesh cutting mode
plasmac.mode s32 in
operating mode
plasmac.motion-type s32 in
motion type, connect to motion.motion-type
plasmac.move-down bit in
external thc down switch [mode 2]
plasmac.move-up bit in
external thc up switch [mode 2]
plasmac.multi-tool bit in (default: 1)
allows the use of multiple tools
plasmac.offset-probe-delay float in
wait for probe to deploy (seconds)
plasmac.offset-probe-x float in
X axis offset for offset probe (machine units)
plasmac.offset-probe-y float in
Y axis offset for offset probe (machine units)
plasmac.offsets-active bit in
offsets are active, connect to motion.eoffsets-active
plasmac.ohmic-sense-on-delay s32 in (default: 3)
debounce cycles for ohmic sense on
plasmac.ohmic-sense-off-delay s32 in (default: 3)
debounce cycles for ohmic sense off
plasmac.ohmic-sense-in bit in
ohmic sense relay input
plasmac.ohmic-max-attempts s32 in
maximum ohmic probe attempts before fallback to float switch
plasmac.ohmic-probe bit in
ohmic probe input, from ohmic-sense-out or external component/pin
plasmac.ohmic-probe-enable bit in
enable ohmic probe
plasmac.ohmic-probe-offset float in
Z axis offset for ohmic probe (machine units)
plasmac.ohmic-test bit in
test for shorted torch
plasmac.ok-sample-counts s32 in (default: 10)
arc_ok number of valid samples required [mode 0]
plasmac.ok-sample-threshold float in (default: 10)
arc_ok maximum arc voltage deviation allowed [mode 0]
plasmac.pause-at-end float in
time to pause at end of cut
plasmac.paused-motion-speed float in
multiplier for speed of motion when paused, from -1 to 1
plasmac.pid-d-gain float in
derivative gain input [mode 0 & mode 1]
plasmac.pid-i-gain float in
integral gain input [mode 0 & mode 1]
plasmac.pid-p-gain float in
proportional gain input [mode 0 & mode 1]
plasmac.pierce-delay float in
time required to pierce stock (seconds)
plasmac.probe-feed-rate float in
probe down velocity (machine units per minute)
plasmac.probe-final-speed s32 in (default: 1)
final probe speed (steps per servo period)
plasmac.pierce-height float in
pierce height (machine units)
plasmac.probe-start-height float in
probe starting height
plasmac.probe-test bit in
probe test only
plasmac.program-is-idle bit in
program is idle, connect to halui.program.is-idle
plasmac.program-is-paused bit in
program is paused, connect to halui.program.is-paused
plasmac.program-is-running bit in
program is running, connect to halui.program.is-running
plasmac.puddle-jump-delay float in
Delay move from pierce height to cut height (seconds), leave disconnected if not required.
plasmac.puddle-jump-height float in
Puddle jump height (percentage of pierce height), leave disconnected if not required.
plasmac.requested-velocity float in
deprecated
plasmac.feed-upm float in
requested feed_rate, connect to motion.feed-upm to use as the default (G-code units per minute)
plasmac.resolution s32 in (default: 100)
multiplier for resolution of the offset counts
plasmac.restart-delay float in
time from arc failure till next restart attempt
plasmac.safe-height float in
requested safe traverse height (machine units)
plasmac.scribe-arm-delay float in
delay from scribe arm to scribe on
plasmac.scribe-on-delay float in
delay from scribe on to motion beginning
plasmac.scribe-start bit in
start a new scribe, connect to spindle.1.on
plasmac.setup-feed-rate float in
feed rate for moves to pierce and cut heights (machine units per minute)
plasmac.skip-ihs-distance float in
skip IHS if less than this distance from last cut
plasmac.spotting-start bit in
start a new spot, connect to spindle.2.on
plasmac.spotting-threshold float in
threshold voltage to start spotting delay
plasmac.spotting-time float in
torch off delay after spotting threshold reached
plasmac.thc-delay float in
delay from cut feed rate reached to THC activate (seconds) [non auto THC]
plasmac.thc-disable bit in
thc disable
plasmac.thc-enable bit in
enable/disable thc and set the IHS skip type
plasmac.thc-feed-rate float in
maximum feed rate for thc (machine units per minute)
plasmac.thc-sample-counts s32 in (default: 50)
thc number of valid samples required [auto THC]
plasmac.thc-sample-threshold float in (default: 1)
thc maximum arc voltage deviation allowed [auto THC]
plasmac.thc-threshold float in
thc threshold (volts), changes below this have no effect
plasmac.torch-enable bit in
enable torch
plasmac.torch-off bit in
turn torch off
plasmac.torch-pulse-start bit in
torch pulse start
plasmac.torch-pulse-time float in
torch pulse time (seconds)
plasmac.units-per-mm float in
for scale calcs, connect to halui.machine.units-per-mm
plasmac.use-auto-volts bit in
use calculated voltage for thc baseline
plasmac.voidlock-enable bit in
enable voidlock [mode 0 & mode 1]
plasmac.voidlock-on-cycles s32 in (default: 2)
number of sampling cycles to activate voidlock
plasmac.voidlock-off-cycles s32 in (default: 10)
number of sampling cycles to deactivate voidlock
plasmac.voidlock-slope s32 in (default: 500)
voidlock slope in volts per second
plasmac.x-offset s32 in
offset to apply to axis x for consumable change and cut recovery (scaled units)
plasmac.x-offset-current float in
current x axis offset, connect to axis.x.eoffset
plasmac.xy-feed-rate float in
feed-rate for consumable change
plasmac.y-offset s32 in
offset to apply to axis y for consumable change and cut recovery (scaled units)
plasmac.y-offset-current float in
current z axis offset, connect to axis.y.eoffset
plasmac.z-offset-current float in
current z axis offset, connect to axis.z.eoffset
plasmac.zero-window float in (default: 0.1)
sets window that voltage fluctuations show as zero (-0.1 to 0.1 at default value)
plasmac.adaptive-feed float out
for reverse-run, connect to motion.adaptive-feed
plasmac.arc-ok-out bit out
arc ok output
plasmac.arc-voltage-out float out
arc voltage output [mode 0 & mode 1]
plasmac.consumable-changing bit out
consumables are being changed
plasmac.cornerlock-is-locked bit out
corner locked indicator
plasmac.cut-length float out
length of current cut job
plasmac.cut-recovering bit out
recovering from cut error
plasmac.cut-time float out
cut time of current job
plasmac.cutting-stop bit out
stop manual cut, connect to halui.spindle.0.stop
plasmac.feed-hold bit out
feed hold, connect to motion.feed-hold
plasmac.jog-inhibit bit out
jog inhibit, connect to motion.jog-inhibit
plasmac.laser-recovery-state s32 out
laser recovery status
plasmac.led-down bit out
thc move down indicator
plasmac.led-up bit out
thc move up indicator
plasmac.offset-scale float out
offset scale, connect to axis.<x y z>.eoffset-scale
plasmac.ohmic-enable bit out
on only while probing
plasmac.ohmic-sense-out bit out
ohmic sense output state
plasmac.paused-motion bit out
paused motion flag, true when paused motion is active
plasmac.paused-time float out
paused time during current job
plasmac.pierce-count s32 out
number of pierce attempts (torch starts)
plasmac.probe-test-error bit out
minimum limit reached while probe testing
plasmac.probe-time float out
probe time of current job
plasmac.program-pause bit out
pause the current program, connect to halui.program.pause
plasmac.program-resume bit out
resume the currently paused program, connect to halui.program.resume
plasmac.program-run bit out
run the currently loaded program, connect to halui.program.run
plasmac.program-stop bit out
stop current program, connect to halui.program.stop
plasmac.rapid-time float out
rapid motion time of current job
plasmac.run-time float out
run time of current job
plasmac.safe-height-is-limited bit out
safe height is limited indicator
plasmac.sensor-active bit out
one of float, ohmic, or breakaway is detected
plasmac.scribe-arm bit out
arm the scribe
plasmac.scribe-on bit out
turn scribe on
plasmac.state-out s32 out
current state
plasmac.stop-type-out s32 out
current stop type
plasmac.thc-active bit out
thc status output
plasmac.thc-enabled bit out
thc is enabled
plasmac.torch-on bit out
turn torch on, connect to your torch on input
plasmac.torch-time float out
torch on time of current job
plasmac.voidlock-is-locked bit out
voidlock is locked indicator [mode 0 & mode 1]
plasmac.x-offset-counts s32 out
x offset for consumable change, connect to axis.x.eoffset-counts
plasmac.xy-offset-enable bit out
enable x and y offsets, connect to axis.<x & y>.eoffset-enable
plasmac.y-offset-counts s32 out
y offset for consumable change, connect to axis.y.eoffset-counts
plasmac.z-height float out
current z axis height relative to the probed zero height
plasmac.z-offset-counts s32 out
z offset for height control, connect to axis.z.eoffset-counts
plasmac.z-offset-enable bit out
enable z offsets, connect to axis.z.eoffset-enable
plasmac.z-relative float out
distance of Z from last probed height
plasmac.current-feed-rate float out
current feed rate per minute
plasmac.requested-feed-rate float out
requested feed rate
plasmac.low-cut-volts s32 in
low cut voltage threshold while thc active
plasmac.target-samples s32 in (default: 6)
number of samples for setting target_volts
plasmac.target-volts float out
target voltage for thc, set by arc voltage at cut height

AUTHOR

Phillip A Carter & Gregory D Carl

LICENSE

GPLv2 or greater