Man page - thcud(9)
Packages contas this manual
- sim-torch(1)
- latency-plot(1)
- gladevcp(1)
- tool_watch(1)
- enum(9)
- puma560gui(1)
- bitslice(9)
- halmeter(1)
- differential(9)
- hm2_pci(9)
- tpcomp(9)
- schedrmt(1)
- hal_parport(9)
- mdi(1)
- estop_latch(9)
- halscope(1)
- halreport(1)
- 5axisgui(1)
- conv_bit_float(9)
- tool_mmap_read(1)
- joyhandle(9)
- comp(9)
- touchy(1)
- debounce(9)
- ohmic(9)
- linuxcncmkdesktop(1)
- xhc-hb04(1)
- vfs11_vfd(1)
- emccalib(1)
- streamer(9)
- edge(9)
- motion-logger(1)
- gremlin_view(1)
- halshow(1)
- gantrykins(9)
- moveoff_gui(1)
- charge_pump(9)
- wcomp(9)
- corexy_by_hal(9)
- spindle_monitor(9)
- limit1(9)
- eoffset_per_angle(9)
- biquad(9)
- scarakins(9)
- qtvcp(1)
- motion(9)
- watchdog(9)
- linuxcnc_module_helper(1)
- axis(9)
- conv_s32_u32(9)
- max5gui(1)
- sim_home_switch(9)
- bin2gray(9)
- trivkins(9)
- halcmd_twopass(1)
- clarkeinv(9)
- clarke2(9)
- toggle2nist(9)
- tristate_bit(9)
- tof(9)
- latency-test(1)
- filter_kalman(9)
- limit_axis(9)
- thermistor(1)
- mdro(1)
- sphereprobe(9)
- multiswitch(9)
- constant(9)
- mux16(9)
- pyngcgui(1)
- conv_bit_u32(9)
- knob2float(9)
- hm2_eth(9)
- tripodkins(9)
- encoder_ratio(9)
- elbpcom(1)
- lut5(9)
- tooledit(1)
- mux_generic(9)
- inivar(1)
- hal_input(1)
- oneshot(9)
- rotatekins(9)
- hm2_7i43(9)
- qtplasmac_gcode(1)
- conv_u32_float(9)
- pumakins(9)
- melfagui(1)
- flipflop(9)
- ddt(9)
- hostmot2(9)
- histobins(9)
- matrix_kb(9)
- qtplasmac-cfg2prefs(1)
- threads(9)
- clarke3(9)
- io(1)
- plasmac(9)
- pumagui(1)
- scorbot-er-3(1)
- hm2_7i90(9)
- rs274(1)
- conv_u32_s32(9)
- gs2_vfd(1)
- hal-histogram(1)
- xhc_hb04_util(9)
- sample_hold(9)
- simple_tp(9)
- linuxcnc_info(1)
- blend(9)
- scaled_s32_sums(9)
- lincurve(9)
- max31855(9)
- rotarydelta(1)
- linuxcnctop(1)
- millturn(1)
- thc(9)
- shuttle(1)
- spindle(9)
- multiclick(9)
- pmx485(1)
- abs_s32(9)
- ton(9)
- steptest(9)
- gladevcp(9)
- stepgen(9)
- pyui(1)
- sim_matrix_kb(9)
- halsampler(1)
- sampler(9)
- lowpass(9)
- gladevcp_demo(1)
- tristate_float(9)
- update_ini(1)
- near(9)
- linuxcncsvr(1)
- and2(9)
- demux(9)
- opto_ac5(9)
- pentakins(9)
- logic(9)
- select8(9)
- teach-in(1)
- dbounce(9)
- hm2_rpspi(9)
- encoder(9)
- pmx485-test(1)
- mult2(9)
- linuxcnclcd(1)
- tp(9)
- feedcomp(9)
- latency-histogram(1)
- iov2(1)
- pwmgen(9)
- kins(9)
- hexagui(1)
- linuxcncrsh(1)
- limit3(9)
- monitor-xhc-hb04(1)
- linuxcnc(1)
- millturn(9)
- axistest(9)
- gantry(9)
- qtplasmac-materials(1)
- image-to-gcode(1)
- hbmgui(1)
- gmoccapy(1)
- sim_pin(1)
- thcud(9)
- or2(9)
- conv_float_s32(9)
- timedelay(9)
- sum2(9)
- xyzab-tdr-gui(1)
- xhc-whb04b-6(1)
- sim_parport(9)
- setup_designer(1)
- pid(9)
- weighted_sum(9)
- ilowpass(9)
- mesa_7i65(9)
- counter(9)
- message(9)
- wj200_vfd(1)
- serport(9)
- scale(9)
- threadtest(9)
- mux4(9)
- xyzbc-trt-gui(1)
- pyvcp_demo(1)
- mux8(9)
- userkins(9)
- siggen(9)
- qtplasmac-plasmac2qt(1)
- ngcgui(1)
- pncconf(1)
- setsserial(9)
- xyzac-trt-gui(1)
- offset(9)
- mesa_uart(9)
- bitwise(9)
- conv_bit_s32(9)
- match8(9)
- abs(9)
- minmax(9)
- milltask(1)
- xyzab_tdr_kins(9)
- timedelta(9)
- lineardeltakins(9)
- toggle(9)
- simulate_probe(1)
- hm2_spi(9)
- rtapi_app(1)
- limit2(9)
- conv_s32_float(9)
- halstreamer(1)
- sim_encoder(9)
- updown(9)
- conv_u32_bit(9)
- hal_bb_gpio(9)
- hy_gt_vfd(1)
- halui(1)
- xhc-hb04-accels(1)
- pyvcp(1)
- axis(1)
- integ(9)
- halrmt(1)
- sserial(9)
- qtplasmac-setup(1)
- time(9)
- latencybins(9)
- mitsub_vfd(1)
- haltcl(1)
- vfdb_vfd(1)
- at_pid(9)
- classicladder(9)
- mb2hal(1)
- bldc(9)
- modcompile(1)
- panelui(1)
- mqtt-publisher(1)
- axis-remote(1)
- sim_axis_hardware(9)
- svd-ps_vfd(1)
- gentrivkins(9)
- conv_s32_bit(9)
- maj3(9)
- hm2_spix(9)
- lcd(9)
- orient(9)
- debuglevel(1)
- stepconf(1)
- conv_float_u32(9)
- supply(9)
- deadzone(9)
- anglejog(9)
- halcmd(1)
- moveoff(9)
- pi500_vfd(1)
- homecomp(9)
- maxkins(9)
- div2(9)
- scaragui(1)
- hal_manualtoolchange(1)
- mux2(9)
- halrun(1)
- genserkins(9)
- gearchange(9)
- sim_spindle(9)
- genhexkins(9)
- linuxcnc_var(1)
- carousel(9)
- gscreen(1)
- mesa_pktgyro_test(9)
- hypot(9)
- maho600gui(1)
- xor2(9)
- rosekins(9)
- iocontrol(1)
- invert(9)
- sendkeys(1)
- lineardelta(1)
- not(9)
- hy_vfd(1)
- gray2bin(9)
apt-get install linuxcnc-uspace
Manual
| THCUD(9) | HAL Component | THCUD(9) |
NAME
thcud - Torch Height Control Up/Down Input
SYNOPSIS
loadrt thcud
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
Parallel Pin 12 <= THC controller Plasma Up
Parallel Pin 13 <= THC controller Plasma Down
Parallel Pin 15 <= Plasma Torch Arc Ok Signal
Parallel Pin 16 => Plasma Torch Start Arc Contacts
HAL Plasma Connections
net torch-up thcud.torch-up <= parport.0.pin-12-in
net torch-down thcud.torch-down <= parport.0.pin-13-in
net torch-on spindle.0.on => parport.0.pin-16-out (start the arc)
net arc-ok thcud.arc-ok <= motion.digital-in-00 <= parport.0.pin-15-in
(arc ok signal)
HAL Motion Connections
net requested-vel thcud.requested-vel <= motion.requested-vel
net current-vel thcud.current-vel <= motion.current-vel
PyVCP Connections In the XML file you need something like:
<pyvcp>
<checkbutton>
<text>"THC Enable"</text>
<halpin>"thc-enable"</halpin>
</checkbutton>
</pyvcp>
Connect the PyVCP pins in the postgui.hal file like this:
net thc-enable thcud.enable <= pyvcp.thc-enable
FUNCTIONS
PINS
- thcud.torch-up bit in
- Connect to an input pin
- thcud.torch-down bit in
- Connect to input pin
- thcud.current-vel float in
- Connect to motion.current-vel
- thcud.requested-vel float in
- Connect to motion.requested-vel
- thcud.torch-on bit in
- Connect to spindle.N.on
- thcud.arc-ok bit in
- Arc Ok from Plasma Torch
- thcud.enable bit in
- Enable the THC, if not enabled Z position is passed through
- thcud.z-pos-in float in
- Z Motor Position Command in from axis.n.motor-pos-cmd
- thcud.z-pos-out float out
- Z Motor Position Command Out
- thcud.z-fb-out float out
- Z Position Feedback to Axis
- thcud.cur-offset float out
- The Current Offset
- thcud.vel-status bit out
- When the THC thinks we are at requested speed
- thcud.removing-offset bit out
- Pin for testing
- thcud.correction-vel float in
- The Velocity to move Z to correct
PARAMETERS
- thcud.velocity-tol float rw
- The deviation percent from planned velocity
AUTHOR
John Thornton
LICENSE
GPLv2 or greater
| 2025-12-31 | LinuxCNC Documentation |