need help 5i25/7i76 setup for plasma

More
22 Jan 2018 01:32 #104824 by cruzinone
Thanks PCW, we are shutting down here for the night but will do my best to confirm these things. thanks again.

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

More
28 Jan 2018 22:40 #105123 by kb8wmc
Need help with firing the torch...Up to the point where we can do touch-off...All works ok...When starting an actual cutting pressing the start arrow, and setting voltage to 118v 45amp and enabling the THC check box, the machine starts it's probing routine, reaches the surface of material, trips the probe switch, comes back up to 0.150" to pierce height. I get message "arc fail"...We performed the test as per PCW directions, with the results that the torch fires properly when shorted pins 3 and 4...We have checked and verified that all wiring is correct. I am at a loss as to why it is not firing.
Any help is appreciated...

HAL file is as follow:

# ******************
# Core EMC/HAL Loads
# ******************
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hostmot2
loadrt hm2_pci config="firmware=hm2/5i25 num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xx"
loadrt pid names=pid.x,pid.y,pid.z
loadrt thc
loadrt debounce cfg=4
loadrt estop_latch count=3

#############################
#---Functions and Threads---
#############################
addf thc servo-thread
addf hm2_5i25.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf estop-latch.0 servo-thread
addf estop-latch.1 servo-thread
addf hm2_5i25.0.write servo-thread
addf debounce.0 servo-thread

############################################
# Create signal for external estop loopback
############################################
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-main estop-latch.0.fault-in <= hm2_5i25.0.7i76.0.0.input-02

#net estop-loopout iocontrol.1.emc-enable-in <= estop-latch.1.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-south estop-latch.1.fault-in <= hm2_5i25.0.7i76.0.0.input-03

#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-east estop-latch.2.fault-in <= hm2_5i25.0.7i76.0.0.input-04

# create a signal for the estop loopback
#net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in

#*****************************
#---Home and Limit signals---
#*****************************
net all-home <= hm2_5i25.0.7i76.0.0.input-00-not

#******************
# --- DEBOUNCE ---
#******************
setp debounce.0.delay 10
net debounce-all-home debounce.0.0.in

#***********************
# X [0] Axis RIGHT MOTOR
#***********************
setp pid.x.Pgain [AXIS_0]P
setp pid.x.Igain [AXIS_0]I
setp pid.x.Dgain [AXIS_0]D
setp pid.x.bias [AXIS_0]BIAS
setp pid.x.FF0 [AXIS_0]FF0
setp pid.x.FF1 [AXIS_0]FF1
setp pid.x.FF2 [AXIS_0]FF2
setp pid.x.deadband [AXIS_0]DEADBAND
setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005

net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
net x-pos-fb => pid.x.feedback
net x-output => pid.x.output

####################
# timing parameters
####################
setp hm2_5i25.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [AXIS_0]SCALE
setp hm2_5i25.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL
setp hm2_5i25.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 0
###################################
# ---closedloop stepper signals--- added 10/18/17
###################################
net x-pos-cmd <= axis.0.motor-pos-cmd
net x-vel-cmd <= axis.0.joint-vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb => axis.0.motor-pos-fb
net x-enable <= axis.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable

####################
# timing parameters X2 [0] Axis LEFT MOTOR
####################
setp hm2_5i25.0.stepgen.03.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.03.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.03.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.03.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.03.position-scale [AXIS_0]SCALE
setp hm2_5i25.0.stepgen.03.maxvel [AXIS_0]STEPGEN_MAXVEL
setp hm2_5i25.0.stepgen.03.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.03.step_type 0
setp hm2_5i25.0.stepgen.03.control-type 0

net x2-pos-fb <= hm2_5i25.0.stepgen.03.position-fb
net x-pos-cmd axis.0.motor-pos-cmd => hm2_5i25.0.stepgen.00.position-cmd hm2_5i25.0.stepgen.03.position-cmd
net x-enable axis.0.amp-enable-out => hm2_5i25.0.stepgen.00.enable hm2_5i25.0.stepgen.03.enable
#************************************
# --- home / limit switch signals---
#************************************
net all-home => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in

#***********
# Y [1] Axis
#***********
####################
# axis enable chain
####################
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE
net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => hm2_5i25.0.stepgen.01.enable

setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005

net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output

##############################################
# position command and feedback
##############################################
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => hm2_5i25.0.stepgen.01.position-cmd
net motor.01.pos-fb <= hm2_5i25.0.stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb
####################
# timing parameters
####################
setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [AXIS_1]SCALE
setp hm2_5i25.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL
setp hm2_5i25.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 0
#*****************************************
# ---setup home / limit switch signals---
#*****************************************
net all-home => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in

#***********
# Z [2] Axis
#***********
####################
# axis enable chain
####################
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable <= axis.2.amp-enable-out
net emcmot.02.enable => hm2_5i25.0.stepgen.02.enable

setp pid.z.Pgain [AXIS_2]P
setp pid.z.Igain [AXIS_2]I
setp pid.z.Dgain [AXIS_2]D
setp pid.z.bias [AXIS_2]BIAS
setp pid.z.FF0 [AXIS_2]FF0
setp pid.z.FF1 [AXIS_2]FF1
setp pid.z.FF2 [AXIS_2]FF2
setp pid.z.deadband [AXIS_2]DEADBAND
setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .0005

net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-vel-cmd => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
net z-output => pid.z.output

####################
# timing parameters
####################
setp hm2_5i25.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_5i25.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_5i25.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_5i25.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_5i25.0.stepgen.02.position-scale [AXIS_2]SCALE
setp hm2_5i25.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAXVEL
setp hm2_5i25.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.02.step_type 0
setp hm2_5i25.0.stepgen.02.control-type 0
#*****************************************
# ---setup home / limit switch signals---
#*****************************************
net all-home => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in

##############################################
# Position command and feedback is Hijacked
# by the THC component...
##############################################
net emcmot.02.pos-cmd thc.z-pos-in <= axis.2.motor-pos-cmd
net thc-pos-cmd thc.z-pos-out => hm2_5i25.0.stepgen.02.position-cmd
net motor.02.pos-fb axis.2.motor-pos-fb <= thc.z-fb-out

#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
net machine-is-on halui.machine.is-on
net MDI-mode halui.mode.is-mdi

# ---jog button signals---
#sets jog-speed 200.00

##############################
#---Touchoff/Probe signals---
##############################
net torch-probe <= motion.probe-input <= hm2_5i25.0.7i76.0.0.input-01-not
net probe-in <= motion.digital-in-01 <= hm2_5i25.0.7i76.0.0.input-01
#net probe-in <= hm2_5i25.0.7i76.0.0.input-01

#******************
# --- DEBOUNCE ---
#******************
setp debounce.0.delay 100
net debounce-probe-in debounce.0.1.in

#******************
# reads the volts
# setting from the (added 1/28/2018)
# G code M68 E0 Q
#******************
#net volts-requested thc-pid.volts-requested <= hm2_5i25.0.7i76.0.0.motion.analog-out-00

####################################
# Set up the Encoder for use by THC
####################################
setp hm2_5i25.0.encoder.00.counter-mode 1
net thc-vel-in hm2_5i25.0.encoder.00.velocity => thc.encoder-vel
setp thc.scale-offset 118000
setp thc.vel-scale 0.00037866834
#**************************************
#---this might need to be increased---
#**************************************
setp thc.correction-vel 0.0005

###############################
# spindle on starts the arc
###############################
net spindle-on motion.spindle-on => hm2_5i25.0.7i76.0.0.output-06
net spindle-on thc.torch-on

####################################
# starts the motion when the plasma
# arc has transfered to the work
####################################
net start-motion-input thc.arc-ok <= motion.digital-in-00 <= hm2_5i25.0.7i76.0.0.input-08

#************************
# --- Estop Power ON ---
#************************
#net estop-out hm2_5i25.0.7i76.0.0.output-07

###########################################
# Create signals for tool loading loopback
###########################################
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed

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

More
28 Jan 2018 22:48 #105125 by rodw
I think you need
# ---Setup spindle at speed signals---

sets spindle-at-speed true

Nothing moves until the spindle is at speed so this fudges it to be at speed all the time

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

More
28 Jan 2018 23:05 #105126 by tommylight
Most probably you have to add Sxxx after M3 in gcode, where xxx is any number except 0.

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

More
28 Jan 2018 23:33 #105129 by kb8wmc
Rod & Tommylight
The M3 S1 command is already set in the "touch-off" subroutine, so I don't think that is the problem..
I added the sets spindle-at-speed true in the hal and received the following:

./plasma.hal:285: signal 'spindle-at-speed' not found

anything else I should be looking at?
And thanks for your help and quick responses...

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

More
28 Jan 2018 23:41 #105132 by rodw
Sorry, missed a line, add this too.
net spindle-at-speed           =>  motion.spindle-at-speed

You'll still need the S1 command. I think you can put it in a preamble at the top of your gcode.

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

More
28 Jan 2018 23:50 #105134 by kb8wmc
Rod,
I left the S1 command as it was in the subroutine...I still get the same error with the spindle signal...

./plasma.hal:284: signal 'spindle-at-speed' not found

Anything else?

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

More
29 Jan 2018 10:19 #105147 by rodw
I think the sets command needs to come after the other signal. Sorry.
linuxcnc.org/docs/2.5/html/hal/basic_hal...sets_a_id_sub_sets_a

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

More
29 Jan 2018 10:37 #105149 by tommylight
When you press F9 does the torch fire?

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

More
29 Jan 2018 14:42 - 29 Jan 2018 14:44 #105155 by PCW
I don't see anything in the hal file that connects motion.spindle-on to the 7I76 spindle enable pin
( that's what will close the connection between the ENA+ and ENA- pins on the 7I76 when LinuxCNC tunns the spindle on )
instead you have this:

net spindle-on motion.spindle-on => hm2_5i25.0.7i76.0.0.output-06

Which is fine if you have the 7I76 output 6 driving a relay that connects your torch on signals
but if you are using the spindle enable optocoupler instead of a relay you need to have something like this:

net spindle-on motion.spindle-on => hm2_5i25.0.7i76.0.0.spinena
Last edit: 29 Jan 2018 14:44 by PCW.

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

Moderators: PCWjmelson
Time to create page: 0.195 seconds
Powered by Kunena Forum