.\"******************************************************************* .\" .\" This file was extracted from hal/components/thcud.comp using halcompile.g. .\" Modify the source file. .\" .\"******************************************************************* .TH THCUD "9" "2023-02-10" "LinuxCNC Documentation" "HAL Component" .SH NAME thcud \- Torch Height Control Up/Down Input .SH SYNOPSIS .HP .B loadrt thcud .SH DESCRIPTION Torch Height Control This THC takes either an up or a down input from a THC If enabled and torch is on and X + Y velocity is within tolerance of set speed allow the THC to offset the Z axis as needed to maintain voltage. If enabled and torch is off and the Z axis is moving up remove any correction at a rate not to exceed the rate of movement of the Z axis. If enabled and torch is off and there is no correction pass the Z position and feed back untouched. If not enabled pass the Z position and feed back untouched. Typical Physical Connections using a Parallel Port .br Parallel Pin 12 <= THC controller Plasma Up .br Parallel Pin 13 <= THC controller Plasma Down .br Parallel Pin 15 <= Plasma Torch Arc Ok Signal .br Parallel Pin 16 => Plasma Torch Start Arc Contacts HAL Plasma Connections .br net torch-up thcud.torch-up <= parport.0.pin-12-in .br net torch-down thcud.torch-down <= parport.0.pin-13-in .br net torch-on spindle.0.on => parport.0.pin-16-out (start the arc) .br net arc-ok thcud.arc-ok <= motion.digital-in-00 <= parport.0.pin-15-in (arc ok signal) HAL Motion Connections .br net requested-vel thcud.requested-vel <= motion.requested-vel .br net current-vel thcud.current-vel <= motion.current-vel PyVCP Connections In the XML file you need something like: "THC Enable" "thc-enable" Connect the PyVCP pins in the postgui.hal file like this: net thc-enable thcud.enable <= pyvcp.thc-enable .SH FUNCTIONS .TP \fBthcud\fR (requires a floating-point thread) .SH PINS .TP .B thcud.torch-up\fR bit in \fR Connect to an input pin .TP .B thcud.torch-down\fR bit in \fR Connect to input pin .TP .B thcud.current-vel\fR float in \fR Connect to motion.current-vel .TP .B thcud.requested-vel\fR float in \fR Connect to motion.requested-vel .TP .B thcud.torch-on\fR bit in \fR Connect to spindle.N.on .TP .B thcud.arc-ok\fR bit in \fR Arc Ok from Plasma Torch .TP .B thcud.enable\fR bit in \fR Enable the THC, if not enabled Z position is passed through .TP .B thcud.z-pos-in\fR float in \fR Z Motor Position Command in from axis.n.motor-pos-cmd .TP .B thcud.z-pos-out\fR float out \fR Z Motor Position Command Out .TP .B thcud.z-fb-out\fR float out \fR Z Position Feedback to Axis .TP .B thcud.cur-offset\fR float out \fR The Current Offset .TP .B thcud.vel-status\fR bit out \fR When the THC thinks we are at requested speed .TP .B thcud.removing-offset\fR bit out \fR Pin for testing .SH PARAMETERS .TP .B thcud.velocity-tol\fR float rw \fR The deviation percent from planned velocity .TP .B thcud.correction-vel\fR float rw \fR The Velocity to move Z to correct .SH AUTHOR John Thornton .SH LICENSE GPLv2 or greater