Make A axis a switchable between spindle 1 and an axis for milling
This commit is contained in:
parent
c1392c1b9c
commit
afb180ab16
51
3040T.hal
51
3040T.hal
|
@ -1,21 +1,21 @@
|
||||||
#Real Time Modules
|
#Real Time Modules
|
||||||
loadrt [KINS]KINEMATICS
|
loadrt [KINS]KINEMATICS
|
||||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
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"
|
loadrt hal_parport cfg="0 out"
|
||||||
setp parport.0.reset-time 5000
|
setp parport.0.reset-time 5000
|
||||||
loadrt stepgen step_type=0,0,0,0 ctrl_type=p,p,p,p
|
loadrt stepgen step_type=0,0,0,0,0 ctrl_type=p,p,p,p,v
|
||||||
loadrt ilowpass count=1
|
loadrt ilowpass count=1
|
||||||
loadrt timedelay count=2
|
loadrt timedelay count=2
|
||||||
loadrt not count=1
|
loadrt not count=1
|
||||||
loadrt or2 count=3
|
loadrt or2 count=3
|
||||||
loadrt xor2 count=2
|
loadrt xor2 count=2
|
||||||
loadrt mux2 count=1
|
loadrt mux_generic config="bb2"
|
||||||
loadrt and2 count=1
|
|
||||||
|
|
||||||
addf parport.0.read base-thread
|
addf parport.0.read base-thread
|
||||||
addf stepgen.make-pulses base-thread
|
addf stepgen.make-pulses base-thread
|
||||||
addf parport.0.write base-thread
|
addf parport.0.write base-thread
|
||||||
addf parport.0.reset base-thread
|
addf parport.0.reset base-thread
|
||||||
|
addf mux-gen.00 base-thread
|
||||||
|
|
||||||
addf stepgen.capture-position servo-thread
|
addf stepgen.capture-position servo-thread
|
||||||
addf motion-command-handler servo-thread
|
addf motion-command-handler servo-thread
|
||||||
|
@ -92,17 +92,34 @@ net max-home-z => joint.2.home-sw-in
|
||||||
net max-home-z => joint.2.pos-lim-sw-in
|
net max-home-z => joint.2.pos-lim-sw-in
|
||||||
|
|
||||||
#A-Axis
|
#A-Axis
|
||||||
|
|
||||||
|
#Absolute
|
||||||
setp stepgen.3.position-scale [JOINT_3]SCALE
|
setp stepgen.3.position-scale [JOINT_3]SCALE
|
||||||
setp stepgen.3.steplen 1
|
setp stepgen.3.steplen 1
|
||||||
setp stepgen.3.stepspace 0
|
setp stepgen.3.stepspace 0
|
||||||
setp stepgen.3.dirhold 36000
|
setp stepgen.3.dirhold 36000
|
||||||
setp stepgen.3.dirsetup 36000
|
setp stepgen.3.dirsetup 36000
|
||||||
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||||
net astep <= stepgen.3.step
|
|
||||||
net adir <= stepgen.3.dir
|
net astepAbs stepgen.3.step => mux-gen.00.in-bit-00
|
||||||
|
net adir stepgen.3.dir
|
||||||
net aenable joint.3.amp-enable-out => stepgen.3.enable
|
net aenable joint.3.amp-enable-out => stepgen.3.enable
|
||||||
#net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
|
net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
|
||||||
#net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
|
net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
|
||||||
|
|
||||||
|
net astep <= mux-gen.00.out-bit
|
||||||
|
|
||||||
|
#Velocity
|
||||||
|
setp stepgen.4.position-scale [JOINT_3]SCALE
|
||||||
|
setp stepgen.4.steplen 1
|
||||||
|
setp stepgen.4.stepspace 0
|
||||||
|
setp stepgen.4.dirhold 36000
|
||||||
|
setp stepgen.4.dirsetup 36000
|
||||||
|
setp stepgen.4.maxaccel [JOINT_3]STEPGEN_MAXACCEL
|
||||||
|
|
||||||
|
net spindle-1-enable <= spindle.1.on => mux-gen.00.sel-bit-00 stepgen.4.enable
|
||||||
|
net spindle-1-cmd spindle.1.speed-out => stepgen.4.velocity-cmd
|
||||||
|
net astepVel <= stepgen.4.step => mux-gen.00.in-bit-01
|
||||||
|
|
||||||
net estop-out <= iocontrol.0.user-enable-out
|
net estop-out <= iocontrol.0.user-enable-out
|
||||||
net estop-ext => iocontrol.0.emc-enable-in
|
net estop-ext => iocontrol.0.emc-enable-in
|
||||||
|
@ -120,20 +137,8 @@ loadusr -Wn cncextension ./cncextension
|
||||||
#Amp enable
|
#Amp enable
|
||||||
net amp-enable halui.machine.is-on => cncextension.wr0
|
net amp-enable halui.machine.is-on => cncextension.wr0
|
||||||
|
|
||||||
#Spindle Control
|
#Main Spindle Control
|
||||||
|
net spindle-main-fwd spindle.0.forward
|
||||||
addf mux2.0 servo-thread
|
|
||||||
net spindle-select => mux2.0.sel
|
|
||||||
sets spindle-select 1
|
|
||||||
net spindle-cmd-rpm <= spindle.0.speed-out
|
|
||||||
net spindle-cmd-rpm => mux2.0.in0
|
|
||||||
setp mux2.0.in1 0
|
|
||||||
net spindle-axis-rpm mux2.0.out => stepgen.3.velocity-cmd
|
|
||||||
|
|
||||||
addf and2.0 servo-thread
|
|
||||||
net spindle-fwd-and spindle.0.forward => and2.0.in0
|
|
||||||
net spindle-select => and2.0.in1
|
|
||||||
net spindle-main-fwd <= and2.0.out
|
|
||||||
net spindle-main-fwd => cncextension.ch0
|
net spindle-main-fwd => cncextension.ch0
|
||||||
net spindle-main-fwd => cncextension.opt
|
net spindle-main-fwd => cncextension.opt
|
||||||
|
|
||||||
|
@ -163,10 +168,8 @@ net spindle-main-inhibit => or2.1.in1
|
||||||
net spindle-inhibit <= or2.1.out
|
net spindle-inhibit <= or2.1.out
|
||||||
net spindle-inhibit => spindle.0.at-speed
|
net spindle-inhibit => spindle.0.at-speed
|
||||||
|
|
||||||
net spindle-position <= stepgen.3.position-fb
|
|
||||||
net spindle-position => spindle.0.revs
|
net spindle-position => spindle.0.revs
|
||||||
net spindle-axis-rpm => spindle.0.speed-in
|
net spindle-axis-rpm => spindle.0.speed-in
|
||||||
net spindle-index-enable encoder.3.index-enable <=> spindle.0.index-enable
|
|
||||||
|
|
||||||
#MPG
|
#MPG
|
||||||
setp joint.0.jog-vel-mode 0
|
setp joint.0.jog-vel-mode 0
|
||||||
|
|
13
3040T.ini
13
3040T.ini
|
@ -29,7 +29,7 @@ INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
|
||||||
PYVCP=pannel.xml
|
PYVCP=pannel.xml
|
||||||
OPEN_FILE =""
|
OPEN_FILE =""
|
||||||
PROGRAM_PREFIX=/home/philipp/linuxcnc/nc_files
|
PROGRAM_PREFIX=/home/philipp/linuxcnc/nc_files
|
||||||
|
GEOMETRY=XYZA
|
||||||
|
|
||||||
[FILTER]
|
[FILTER]
|
||||||
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
|
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
|
||||||
|
@ -50,7 +50,6 @@ REMAP=M600 modalgroup=6 ngc=tool-job-begin
|
||||||
FEATURES=12
|
FEATURES=12
|
||||||
|
|
||||||
[EMCMOT]
|
[EMCMOT]
|
||||||
|
|
||||||
EMCMOT = motmod
|
EMCMOT = motmod
|
||||||
COMM_TIMEOUT = 1.0
|
COMM_TIMEOUT = 1.0
|
||||||
BASE_PERIOD = 35000
|
BASE_PERIOD = 35000
|
||||||
|
@ -77,7 +76,7 @@ MDI_COMMAND = M400
|
||||||
MDI_COMMAND = o<rectangle_probe> call
|
MDI_COMMAND = o<rectangle_probe> call
|
||||||
|
|
||||||
[TRAJ]
|
[TRAJ]
|
||||||
|
SPINDLES = 2
|
||||||
COORDINATES = XYZA
|
COORDINATES = XYZA
|
||||||
LINEAR_UNITS = mm
|
LINEAR_UNITS = mm
|
||||||
ANGULAR_UNITS = degree
|
ANGULAR_UNITS = degree
|
||||||
|
@ -170,17 +169,17 @@ HOME_SEQUENCE = 0
|
||||||
[AXIS_A]
|
[AXIS_A]
|
||||||
MIN_LIMIT = -99999
|
MIN_LIMIT = -99999
|
||||||
MAX_LIMIT = 99999
|
MAX_LIMIT = 99999
|
||||||
MAX_VELOCITY = 3.33
|
MAX_VELOCITY = 500
|
||||||
MAX_ACCELERATION = 2000.0
|
MAX_ACCELERATION = 2000.0
|
||||||
|
|
||||||
[JOINT_3]
|
[JOINT_3]
|
||||||
TYPE = ANGULAR
|
TYPE = ANGULAR
|
||||||
HOME = 0.0
|
HOME = 0.0
|
||||||
MAX_VELOCITY = 3.33
|
MAX_VELOCITY = 500
|
||||||
MAX_ACCELERATION = 2000.0
|
MAX_ACCELERATION = 2000.0
|
||||||
STEPGEN_MAXACCEL = 2500.0
|
STEPGEN_MAXACCEL = 2500.0
|
||||||
#SCALE = 4.6296 #old scale maybe accurate for absolute positon mode?
|
SCALE = 4.6296
|
||||||
SCALE = 27.7776
|
#SCALE = 4.86
|
||||||
FERROR = 1
|
FERROR = 1
|
||||||
MIN_FERROR = .25
|
MIN_FERROR = .25
|
||||||
MIN_LIMIT = -99999
|
MIN_LIMIT = -99999
|
||||||
|
|
|
@ -3,9 +3,6 @@
|
||||||
|
|
||||||
net mpg pyvcp.mpg-chkbtn => cncextension.enableMpg
|
net mpg pyvcp.mpg-chkbtn => cncextension.enableMpg
|
||||||
|
|
||||||
#spindle
|
|
||||||
net spindle-select <= pyvcp.spindle-select.Milling
|
|
||||||
|
|
||||||
# Vacuume and coolant
|
# Vacuume and coolant
|
||||||
addf xor2.0 servo-thread
|
addf xor2.0 servo-thread
|
||||||
net sigVacuumeBtn pyvcp.vacuume-chkbtn => xor2.0.in0
|
net sigVacuumeBtn pyvcp.vacuume-chkbtn => xor2.0.in0
|
||||||
|
|
Loading…
Reference in a new issue