Plasmac Setup Help

More
29 May 2023 02:31 #272388 by genoccaj
Plasmac Setup Help was created by genoccaj
Hi,

newbie here to the cnc world and trying to get my setup working. have a plasma with a THC 150 running on a parallel port controller. it keeps erroring " Pin 'plasmac.arc-ok-in' was already linked to signal 'plasmac:arc-ok' ".below are my setup files:

# Keep your plasmac i/o connections here to prevent them from
# being overwritten by updates or pncconf/stepconf changes

# Other customisations may be placed here as well
# This file is built by the configurator in your configuration directory

#***** DEBOUNCE FOR THE INPUTS *****
loadrt dbounce names=db_breakaway,db_float,db_ohmic,db_arc-ok
addf db_float     servo-thread
addf db_ohmic     servo-thread
addf db_breakaway servo-thread
addf db_arc-ok    servo-thread
# for the float and ohmic inputs
# each increment in delay is a 0.001mm (0.00004") increase in any probed height result
setp db_float.delay     5
setp db_ohmic.delay     5
setp db_breakaway.delay 5
setp db_arc-ok.delay    5

#***** ARC VOLTAGE LOWPASS FILTER *****
# set the cutoff frequency if required
setp plasmac.lowpass-frequency 0

#***** THE JOINT ASSOCIATED WITH THE Z AXIS *****
net plasmac:axis-position joint.2.pos-fb => plasmac.axis-z-position

#***** PLASMA CONNECTIONS *****
#net plasmac:arc-voltage-in motion.digital-in-00 => plasmac.arc-voltage-in
net plasmac:float-switch parport.0.pin-12-in-not => db_float.in
# net plasmac:breakaway {YOUR BREAKAWAY PIN} => db_breakaway.in
# net plasmac:ohmic-probe {YOUR OHMIC PROBE PIN} => db_ohmic.in
# net plasmac:ohmic-enable plasmac.ohmic-enable  => {YOUR OHMIC ENABLE PIN}
net plasmac:torch-on => parport.0.pin-17-out

#***** MULTIPLE TOOL ENABLE *****
# set to 1 to enable a scribe or spotting
setp plasmac.multi-tool 0

#***** SCRIBE CONNECTIONS *****
# net plasmac:scribe-arm plasmac.scribe-arm => ***YOUR_SCRIBE_ARMING_OUTPUT***
# net plasmac:scribe-on  plasmac.scribe-on  => ***YOUR_SCRIBE_ON_OUTPUT***
net plasmac:arc-ok-in parport.0.pin-11-in-not => plasmac.arc-ok-in
net plasmac:move-up parport.0.pin-13-in-not => plasmac.move-up
net plasmac:move-down parport.0.pin-15-in-not => plasmac.move-down

Please Log in or Create an account to join the conversation.

More
29 May 2023 10:43 - 29 May 2023 10:44 #272419 by snowgoer540
Replied by snowgoer540 on topic Plasmac Setup Help
If you attempted to upload your config files, they are missing in your post. How did your config files get created?  Did you edit them by hand?

Working from what you've copy/pasted, it looks like you need to change this line:
net plasmac:arc-ok-in parport.0.pin-11-in-not => plasmac.arc-ok-in

To this:  
net plasmac:arc-ok-in parport.0.pin-11-in-not => db_arc-ok.in


If that gives you an error, then it's because db_arc-ok.in was already netted to plasmac:arc-ok-in earlier in the .hal file (outside of what you've copy/pasted).  If that is the case, change the line above to this:
net plasmac:arc-ok-in parport.0.pin-11-in-not
Last edit: 29 May 2023 10:44 by snowgoer540.

Please Log in or Create an account to join the conversation.

More
31 May 2023 03:36 - 31 May 2023 03:53 #272537 by genoccaj
Replied by genoccaj on topic Plasmac Setup Help
plasmac_connections.hal

# Keep your plasmac i/o connections here to prevent them from
# being overwritten by updates or pncconf/stepconf changes

# Other customisations may be placed here as well
# This file is built by the configurator in your configuration directory

#***** DEBOUNCE FOR THE INPUTS *****
loadrt dbounce names=db_breakaway,db_float,db_ohmic,db_arc-ok
addf db_float     servo-thread
addf db_ohmic     servo-thread
addf db_breakaway servo-thread
addf db_arc-ok    servo-thread
# for the float and ohmic inputs
# each increment in delay is a 0.001mm (0.00004") increase in any probed height result
setp db_float.delay     5
setp db_ohmic.delay     5
setp db_breakaway.delay 5
setp db_arc-ok.delay    5

#***** ARC VOLTAGE LOWPASS FILTER *****
# set the cutoff frequency if required
setp plasmac.lowpass-frequency 0

#***** THE JOINT ASSOCIATED WITH THE Z AXIS *****
net plasmac:axis-position joint.2.pos-fb => plasmac.axis-z-position

#***** PLASMA CONNECTIONS *****
#net plasmac:arc-voltage-in motion.digital-in-00 => plasmac.arc-voltage-in
net plasmac:float-switch parport.0.pin-12-in-not => db_float.in
# net plasmac:breakaway {YOUR BREAKAWAY PIN} => db_breakaway.in
# net plasmac:ohmic-probe {YOUR OHMIC PROBE PIN} => db_ohmic.in
# net plasmac:ohmic-enable plasmac.ohmic-enable  => {YOUR OHMIC ENABLE PIN}
net plasmac:torch-on => parport.0.pin-17-out

#***** MULTIPLE TOOL ENABLE *****
# set to 1 to enable a scribe or spotting
setp plasmac.multi-tool 0

#***** SCRIBE CONNECTIONS *****
# net plasmac:scribe-arm plasmac.scribe-arm => ***YOUR_SCRIBE_ARMING_OUTPUT***
# net plasmac:scribe-on  plasmac.scribe-on  => ***YOUR_SCRIBE_ON_OUTPUT***
net plasmac:arc-ok-in parport.0.pin-11-in-not => plasmac.arc-ok-in
net plasmac:move-up parport.0.pin-13-in-not => plasmac.move-up
net plasmac:move-down parport.0.pin-15-in-not => plasmac.move-down

plasmac.hal

# Generated by stepconf 1.1 at Wed Apr 26 14:38:14 2023
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1
##########
loadrt thcud
loadrt estop_latch
##########


addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

######
addf thcud servo-thread
addf estop-latch.0 servo-thread
#####


setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true

net xstep           => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1
net xdir            => parport.0.pin-03-out
net ystep           => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir            => parport.0.pin-05-out
net xstep           => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net xdir            => parport.0.pin-07-out
net zstep           => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net zdir            => parport.0.pin-09-out

setp thcud.correction-vel 0.0001
setp thcud.velocity-tol 10
setp thcud.enable true
setp thcud.torch-on true

#net zpos-cmd thcud.z-pos-in <= axis.2.motor-pos-cmd
#net thc-pos-cmd thcud.z-pos-out => stepgen.2.position-cmd
#net zpos-fb axis.2.motor-pos-fb <= thcud.z-fb-out




setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 40000
setp stepgen.0.dirsetup 40000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 40000
setp stepgen.1.dirsetup 40000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 40000
setp stepgen.2.dirsetup 40000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable joint.2.amp-enable-out => stepgen.2.enable


######################
# E-STOP
######################
#net estop-out <= iocontrol.0.user-enable-out
#net estop-out => iocontrol.0.emc-enable-in

net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <=  parport.0.pin-10-in
######################


# loadusr -W hal_manualtoolchange
# net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
# net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
# net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
# net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

# toolchange passthrough
net tool:change iocontrol.0.tool-change  => iocontrol.0.tool-changed
net tool:prep   iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

plasmac.ini

# this section is only required if using the sim testing panel
# [APPLICATIONS]
# DELAY                   = 3
# APP                     = test/plasmac_test.py

# required
[PLASMAC]

# required for upgrades (DO NOT CHANGE)
LAST_MAJOR_UPGRADE      = 0.144
DBOUNCE                 = 1

# sets the operating mode, if not specified the default is 0
# 0 = use arc-voltage-in for arcOK and THC (no need to connect arc-ok-in, move-up-in and move-down-in)
# 1 = use arc-ok-in for arcOK and arc-voltage-in for THC (no need to connect move-up-in and move-down-in)
# 2 = use arc-ok-in for arcOK and move-down-in + move-up-in for THC (no need to connect arc-voltage-in)
MODE = 2

# enable(0) or disable(1) the PlasmaC config page, if not specified the default is enabled
CONFIG_DISABLE          = 0

# the font for the Axis GUI, if not specified 'sans 10' will be used
# valid font sizes are from 9 to 15
FONT                    = sans 10

# the window size for the Axis GUI
# 0 = minimum size to suit font
# 1 = maximized
# width x height = custom size
WINDOW_SIZE             = 0

# the theme for the Axis GUI tabs, if not specified the system theme will be used
THEME                   = Clearlooks

# select portrait mode, if not specified the default is landscape
#AXIS_ORIENT            = portrait

# percentage of cut-feed-rate used for paused motion speed
PAUSED_MOTION_SPEED     = 50

# torch on time when manual pulse requested
TORCH_PULSE_TIME        = 1.0

# for Powermax communications
#PM_PORT                 = /dev/ttyUSB0

# for the five user buttons in the main window
BUTTON_1_NAME           = Ohmic\Test
BUTTON_1_CODE           = ohmic-test
BUTTON_2_NAME           = Probe\Test
BUTTON_2_CODE           = probe-test 30
BUTTON_3_NAME           = Change\Consumables
BUTTON_3_CODE           = change-consumables X0 Y0 F4000
BUTTON_4_NAME           = Pierce\& Cut
BUTTON_4_CODE           = cut-type
BUTTON_5_NAME           = Load\Sheet
BUTTON_5_CODE           = G53 G0 X{JOINT_0 HOME} Y1

# for the ten user buttons in the Extras panel
BUTTON_10_NAME           =
BUTTON_10_CODE           =
BUTTON_10_IMAGE          =
BUTTON_11_NAME           =
BUTTON_11_CODE           =
BUTTON_11_IMAGE          =
BUTTON_12_NAME           =
BUTTON_12_CODE           =
BUTTON_12_IMAGE          =
BUTTON_13_NAME           =
BUTTON_13_CODE           =
BUTTON_13_IMAGE          =
BUTTON_14_NAME           = PlasmaC\User Guide
BUTTON_14_CODE           = %xdg-open linuxcnc.org/docs/devel/html/plasma/plasmac-user-guide.html
BUTTON_14_IMAGE          =
BUTTON_15_NAME           =
BUTTON_15_CODE           =
BUTTON_15_IMAGE          =
BUTTON_16_NAME           =
BUTTON_16_CODE           =
BUTTON_16_IMAGE          =
BUTTON_17_NAME           =
BUTTON_17_CODE           =
BUTTON_17_IMAGE          =
BUTTON_18_NAME           =
BUTTON_18_CODE           =
BUTTON_18_IMAGE          =
BUTTON_19_NAME           = LinuxCNC\Docs
BUTTON_19_CODE           = %xdg-open linuxcnc.org/docs/devel/html
BUTTON_19_IMAGE          =

# this section required as is for removing z axis moves from the loaded gcode file
# this is optional and if used then plasmac_gcode.py needs to be set as executable
[FILTER]
PROGRAM_EXTENSION       = .ngc (filter gcode files)
ngc                     = ./plasmac/plasmac_gcode.py
nc                      = ./plasmac/plasmac_gcode.py
tap                     = ./plasmac/plasmac_gcode.py

[RS274NGC]
RS274NGC_STARTUP_CODE   = o<metric_startup> call
PARAMETER_FILE          = metric_parameters.txt

# required, ./ must be in this path
SUBROUTINE_PATH         = ./:./plasmac:../../nc_files/subroutines

# required for reading ini and hal variables
FEATURES                = 12

# required for our material change
USER_M_PATH             = ./:./plasmac

[HAL]
# required
TWOPASS = ON
# the base machine
HALFILE = apex_plasmac.hal
# the plasmac component connections
HALFILE = ./plasmac/plasmac.tcl
# the plasma machine  and custom connections
HALFILE = apex_plasmac_connections.hal
# use this for customisation after GUI has loaded
POSTGUI_HALFILE = postgui.tcl
# required
HALUI = halui

[DISPLAY]
#DISPLAY = gmoccapy
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 20.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 200.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/apexcnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
OPEN_FILE = ""
TOOL_EDITOR = tooledit x y
CYCLE_TIME = 0.1

# required
USER_COMMAND_FILE = ./plasmac/plasmac_axis.py

# required
EMBED_TAB_NAME          = Statistics
EMBED_TAB_COMMAND       = gladevcp -c plasmac_stats -x {XID} -u ./plasmac/plasmac_stats.py -H ./plasmac/plasmac_stats.hal ./plasmac/plasmac_stats.glade

# use one of the next two
# run panel in tab behind preview
EMBED_TAB_NAME          = Run
#EMBED_TAB_COMMAND       = gladevcp -c plasmac_run -x {XID} -u ./plasmac/plasmac_run.py -H ./plasmac/plasmac_run.hal ./plasmac/plasmac_run_tab.glade
# run panel in panel on right side
GLADEVCP                = -c plasmac_run -u ./plasmac/plasmac_run.py -H ./plasmac/plasmac_run.hal ./plasmac/plasmac_run_panel.glade

EMBED_TAB_NAME          = Config
EMBED_TAB_COMMAND       = gladevcp -c plasmac_config -x {XID} -u ./plasmac/plasmac_config.py -H ./plasmac/plasmac_config.hal ./plasmac/plasmac_config.glade

EMBED_TAB_NAME          = Extras
EMBED_TAB_COMMAND       = gladevcp -c plasmac_wizards -x {XID} -u ./plasmac/plasmac_wizards.py ./plasmac/plasmac_wizards.glade

[EMC]
MACHINE = Apex_Plasmac
DEBUG = 0
VERSION = 1.1

[KINS]
JOINTS = 3
KINEMATICS = trivkins coordinates=XYZ

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 35000
SERVO_PERIOD = 1000000

[TRAJ]
SPINDLES = 3
COORDINATES =  X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 20.00
MAX_LINEAR_VELOCITY = 200.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_X]
# set to double the value in the corresponding joint
MAX_VELOCITY = 400.0
# set to double the value in the corresponding joint
MAX_ACCELERATION = 400.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.001
MAX_LIMIT = 2400.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 2400.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 200.0
STEPGEN_MAXACCEL = 250.0
SCALE = 15.92
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.0

[AXIS_Y]
# set to double the value in the corresponding joint
MAX_VELOCITY = 340.0
# set to double the value in the corresponding joint
MAX_ACCELERATION = 600.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -0.001
MAX_LIMIT = 1300.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1300.0
MAX_VELOCITY = 170.0
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 375.0
SCALE = 12.728
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.0

[AXIS_Z]
# set to double the value in the corresponding joint
MAX_VELOCITY = 36.094224924
# set to double the value in the corresponding joint
MAX_ACCELERATION = 600.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -135.0
MAX_LIMIT = 0.001

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -135.0
MAX_LIMIT = 0.001
MAX_VELOCITY = 18.047112462
MAX_ACCELERATION = 300.0
STEPGEN_MAXACCEL = 375.0
SCALE = 1504.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.0
Last edit: 31 May 2023 03:53 by genoccaj.

Please Log in or Create an account to join the conversation.

More
31 May 2023 14:07 #272566 by snowgoer540
Replied by snowgoer540 on topic Plasmac Setup Help
Did you try what I suggested?

Please Log in or Create an account to join the conversation.

More
31 May 2023 23:42 - 31 May 2023 23:50 #272615 by genoccaj
Replied by genoccaj on topic Plasmac Setup Help
yes i did do that and it did not error after that, but in the plasmac screen it does not give me the arc ok light when the torch is on. when i check under the hal meter the arc-ok is false all the time but the arc-ok-in changes to true when the torch is lit. is there a way to change that to just the arc-ok? or is that even what should be happening as i really have no idea what to do?!

all these file were created from the plasmac configurator.

also the THC dosent seem to be able to control the up and down of the z axis?
Last edit: 31 May 2023 23:50 by genoccaj.

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.080 seconds
Powered by Kunena Forum