Lagunmatic 3516-SX Retrofit
03 Feb 2017 17:02 #87229
by giz
Replied by giz on topic Lagunmatic 3516-SX Retrofit
I agree, the wiring should go smoothly. I have a copy of the printed manual with all schematics and it has been a lifesaver so far. When I purchased my machine it was in pretty dire shape.
Pretty lucky to find a direct match! I found direct match for the Yaskawa fan motor/housing but they were about $350. I'm going to use an off the shelf fan (I believe 170MM) for about $50.
These old machines can be pretty stressful to update, you never know if something is going to cost $10 or $1000 to replace.
Pretty lucky to find a direct match! I found direct match for the Yaskawa fan motor/housing but they were about $350. I'm going to use an off the shelf fan (I believe 170MM) for about $50.
These old machines can be pretty stressful to update, you never know if something is going to cost $10 or $1000 to replace.
Please Log in or Create an account to join the conversation.
03 Feb 2017 17:30 #87233
by lunada
Replied by lunada on topic Lagunmatic 3516-SX Retrofit
yea they are stressful in general... i did the retrofit because i lost a board in the dynapath within a week of owning it. luckily they didn't seem to go too exotic or proprietary on the hardware in these things.
Please Log in or Create an account to join the conversation.
19 Dec 2017 04:35 #103329
by giz
Replied by giz on topic Lagunmatic 3516-SX Retrofit
Long time no updates!
I've set a goal to have this machine at least moving in XYZ by the end of the year, so here I am back at configuring LinuxCNC and waiting for some components to arrive so I can start wiring on the bench.
Lunada retrofitted an identical machine to mine, and was gracious enough to provide his config files. I've been scouring over them trying to reverse engineer the what was done and why. I have to admit, none of this is coming naturally but I'm trudging along.
I'm unsure about nearly everything, but I'm most unsure about the toolchanger right now. This set of files uses the classicladder "carousel pockets" component to handle the toolchanger. My basic plan right now is to use PNCconf to create my own set of config files (done) and then copy/paste the pertinent info from Lunada's files.
As I mentioned before, I replaced the original Yaskawa spindle drive with a Teco A510. I will tackle the spindle after I get the XYZ movement, but it's definitely on the back of my mind that I'll need to learn how to interface with the new spindle drive to orient, confirm speed, etc.
Any comments and advice would be appreciated. Here are the files:
lagunmatic.hal
lagunmatic.ini
shizuoka-pyvcp.hal
shizuoka.clp
And here is my current pin mapping based on the above hal file as a sanity check. I plan to do things a little bit different, such as using separate pins for limit +/-/home. I also don't quite know what some of the inputs are involving the magazine position and tool unclamping.
Outputs
Inputs
I've set a goal to have this machine at least moving in XYZ by the end of the year, so here I am back at configuring LinuxCNC and waiting for some components to arrive so I can start wiring on the bench.
Lunada retrofitted an identical machine to mine, and was gracious enough to provide his config files. I've been scouring over them trying to reverse engineer the what was done and why. I have to admit, none of this is coming naturally but I'm trudging along.
I'm unsure about nearly everything, but I'm most unsure about the toolchanger right now. This set of files uses the classicladder "carousel pockets" component to handle the toolchanger. My basic plan right now is to use PNCconf to create my own set of config files (done) and then copy/paste the pertinent info from Lunada's files.
As I mentioned before, I replaced the original Yaskawa spindle drive with a Teco A510. I will tackle the spindle after I get the XYZ movement, but it's definitely on the back of my mind that I'll need to learn how to interface with the new spindle drive to orient, confirm speed, etc.
Any comments and advice would be appreciated. Here are the files:
lagunmatic.hal
# Generated by PNCconf at Wed Dec 21 15:14:14 2016
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=4 num_pwmgens=1 num_stepgens=0 sserial_port_0=000xxx"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s
loadrt threads name1=classicladder-thread period1=2000000
loadrt classicladder_rt numS32in=3 numS32out=8 numRungs=60 numBits=90 numWords=55 numTimers=27 numCounters=15 numPhysInputs=50 numPhysOutputs=50 numArithmExpr=25 numSections=6 numSymbols=220 numS32in=3 numS32out=9
loadusr -w classicladder --nogui shizuoka.clp
loadrt modmath mod_dir=1
loadrt carousel pockets=18 encoding=index num_sense=1 dir=2
addf carousel.0 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 pid.s.do-pid-calcs servo-thread
addf hm2_5i25.0.write servo-thread
addf classicladder.0.refresh classicladder-thread
# external output signals
# --- SPINDLE-CW ---
net spindle-cw hm2_5i25.0.7i77.0.0.output-00
# --- SPINDLE-CCW ---
net spindle-ccw hm2_5i25.0.7i77.0.0.output-01
# --- COOLANT-FLOOD ---
net coolant-flood hm2_5i25.0.7i77.0.0.output-02
# --- MACHINE-IS-ENABLED ---
net machine-is-enabled hm2_5i25.0.7i77.0.0.output-03
# --- SPINDLE-INDEX-ENABLE ---
#net spindle-index-enable hm2_5i25.0.7i77.0.0.output-05
# --- LUBE ---
net lube hm2_5i25.0.7i77.0.0.output-13
# external input signals
# --- LUBE_LEVEL ---
net lube_level <= hm2_5i25.0.7i77.0.0.input-00
# --- BOTH-X ---
net both-x <= hm2_5i25.0.7i77.0.0.input-01-not
# --- BOTH-Y ---
net both-y <= hm2_5i25.0.7i77.0.0.input-02-not
# --- BOTH-Z ---
net both-z <= hm2_5i25.0.7i77.0.0.input-03-not
# --- HOME-X ---
net home-x <= hm2_5i25.0.7i77.0.0.input-04
# --- HOME-Y ---
net home-y <= hm2_5i25.0.7i77.0.0.input-05
# --- HOME-Z ---
net home-z <= hm2_5i25.0.7i77.0.0.input-06
# --- SPINDLE-AT-SPEED ---
net spindle-at-speed <= hm2_5i25.0.7i77.0.0.input-21
#setp hm2_5i25.0.7i77.0.1.analogout4-scalemax 5915
#setp hm2_[HOSTMOT2](BOARD).0.pwmgen.04.output-type 2
#net Spindle-rpm-cmd motion.spindle-speed-out => hm2_5i25.0.7i77.0.1.analogout4
# --- SPINDLE-INDEX-ENABLE ---
#net spindle-index-enable <= hm2_5i25.0.7i77.0.0.input-24
# --- ESTOP-EXT ---
#net estop-ext <= hm2_5i25.0.7i77.0.0.input-26
# --- CYCLE-START ---
net cycle-start <= hm2_5i25.0.7i77.0.0.input-28
# --- ABORT ---
net abort <= hm2_5i25.0.7i77.0.0.input-29
# --- FEED-HOLD ---
net feed-hold <= hm2_5i25.0.7i77.0.0.input-30
#*******************
# AXIS X
#*******************
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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout0-minlim [AXIS_0]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout0-maxlim [AXIS_0]OUTPUT_MAX_LIMIT
net x-output => hm2_5i25.0.7i77.0.1.analogout0
net x-pos-cmd axis.0.motor-pos-cmd
net x-enable axis.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable hm2_5i25.0.7i77.0.1.analogena
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.00.counter-mode 0
setp hm2_5i25.0.encoder.00.filter 1
setp hm2_5i25.0.encoder.00.index-invert 0
setp hm2_5i25.0.encoder.00.index-mask 0
setp hm2_5i25.0.encoder.00.index-mask-invert 0
setp hm2_5i25.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
net x-pos-fb <= hm2_5i25.0.encoder.00.position
net x-vel-fb <= hm2_5i25.0.encoder.00.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> hm2_5i25.0.encoder.00.index-enable
net x-pos-rawcounts <= hm2_5i25.0.encoder.00.rawcounts
# ---setup home / limit switch signals---
net home-x => axis.0.home-sw-in
net both-x => axis.0.neg-lim-sw-in
net both-x => axis.0.pos-lim-sw-in
#*******************
# AXIS Y
#*******************
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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_1]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_1]OUTPUT_MAX_LIMIT
net y-output => hm2_5i25.0.7i77.0.1.analogout1
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable axis.1.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.01.counter-mode 0
setp hm2_5i25.0.encoder.01.filter 1
setp hm2_5i25.0.encoder.01.index-invert 0
setp hm2_5i25.0.encoder.01.index-mask 0
setp hm2_5i25.0.encoder.01.index-mask-invert 0
setp hm2_5i25.0.encoder.01.scale [AXIS_1]ENCODER_SCALE
net y-pos-fb <= hm2_5i25.0.encoder.01.position
net y-vel-fb <= hm2_5i25.0.encoder.01.velocity
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts
# ---setup home / limit switch signals---
net home-y => axis.1.home-sw-in
net both-y => axis.1.neg-lim-sw-in
net both-y => axis.1.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
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
# ---PWM Generator signals/setup---
setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [AXIS_2]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [AXIS_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [AXIS_2]OUTPUT_MAX_LIMIT
net z-output => hm2_5i25.0.7i77.0.1.analogout2
net z-pos-cmd axis.2.motor-pos-cmd
net z-enable axis.2.amp-enable-out
# ---Encoder feedback signals/setup---
setp hm2_5i25.0.encoder.02.counter-mode 0
setp hm2_5i25.0.encoder.02.filter 1
setp hm2_5i25.0.encoder.02.index-invert 0
setp hm2_5i25.0.encoder.02.index-mask 0
setp hm2_5i25.0.encoder.02.index-mask-invert 0
setp hm2_5i25.0.encoder.02.scale [AXIS_2]ENCODER_SCALE
net z-pos-fb <= hm2_5i25.0.encoder.02.position
net z-vel-fb <= hm2_5i25.0.encoder.02.velocity
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable
net z-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts
# ---setup home / limit switch signals---
net home-z => axis.2.home-sw-in
net both-z => axis.2.neg-lim-sw-in
net both-z => axis.2.pos-lim-sw-in
#*******************
# SPINDLE S
#*******************
setp pid.s.Pgain [SPINDLE_9]P
setp pid.s.Igain [SPINDLE_9]I
setp pid.s.Dgain [SPINDLE_9]D
setp pid.s.bias [SPINDLE_9]BIAS
setp pid.s.FF0 [SPINDLE_9]FF0
setp pid.s.FF1 [SPINDLE_9]FF1
setp pid.s.FF2 [SPINDLE_9]FF2
setp pid.s.deadband [SPINDLE_9]DEADBAND
setp pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp pid.s.error-previous-target true
#setp pid.s.maxerror .0005
net spindle-index-enable <=> pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
#net spindle-vel-cmd-rpm <= motion.spindle-speed-out hm2_5i25.0.7i77.0.1.analogout4
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-enable <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb-rps => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
loadrt scale count=1
addf scale.0 servo-thread
setp scale.0.gain 0.002
net spindle-speed-scale motion.spindle-speed-out => scale.0.in
net spindle-speed-DAC scale.0.out => hm2_5i25.0.7i77.0.1.analogout4
#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
net joint-select-a halui.joint.0.select
net x-is-homed halui.joint.0.is-homed
net jog-x-pos halui.jog.0.plus
net jog-x-neg halui.jog.0.minus
net jog-x-analog halui.jog.0.analog
net joint-select-b halui.joint.1.select
net y-is-homed halui.joint.1.is-homed
net jog-y-pos halui.jog.1.plus
net jog-y-neg halui.jog.1.minus
net jog-y-analog halui.jog.1.analog
net joint-select-c halui.joint.2.select
net z-is-homed halui.joint.2.is-homed
net jog-z-pos halui.jog.2.plus
net jog-z-neg halui.jog.2.minus
net jog-z-analog halui.jog.2.analog
net jog-selected-pos halui.jog.selected.plus
net jog-selected-neg halui.jog.selected.minus
net spindle-manual-cw halui.spindle.forward
net spindle-manual-ccw halui.spindle.reverse
net spindle-manual-stop halui.spindle.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.jog-speed
net MDI-mode halui.mode.is-mdi
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---jogwheel signals to mesa encoder - shared MPG---
net joint-selected-count <= hm2_5i25.0.encoder.03.count
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
#net estop-out <= iocontrol.0.user-enable-out
#net estop-ext => iocontrol.0.emc-enable-in
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
# ---toolchange signals for custom tool changer---
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
#in
net magazine-CW-req-fetch carousel.0.motor-fwd classicladder.0.in-14
net magazine-CCW-req-fetch carousel.0.motor-rev classicladder.0.in-15
net tool-change iocontrol.0.tool-change classicladder.0.in-00
net magazine-fwd-switch hm2_5i25.0.7i77.0.0.input-11 classicladder.0.in-09
net magazine-back-switch hm2_5i25.0.7i77.0.0.input-10 classicladder.0.in-08
net magazine-home-switch hm2_5i25.0.7i77.0.0.input-15 carousel.0.sense-0
net magazine-position-switch hm2_5i25.0.7i77.0.0.input-14 carousel.0.sense-1
net magazine-up-switch hm2_5i25.0.7i77.0.0.input-12 classicladder.0.in-10
net magazine-dwn-switch hm2_5i25.0.7i77.0.0.input-13 classicladder.0.in-11
net orient-complete hm2_5i25.0.7i77.0.0.input-07 classicladder.0.in-07
net unclamp-tool hm2_5i25.0.7i77.0.0.input-18 classicladder.0.in-03
net unclamp-tool-position hm2_5i25.0.7i77.0.0.input-17 classicladder.0.in-02
net carousel-in-position classicladder.0.in-19 <= carousel.0.ready
#net reset classicladder.0.in-01 <= hm2_[HOSTMOT2](BOARD).0.gpio.039.in_not
#net program-running halui.program.is-running classicladder.0.in-07
#net program-is-auto halui.mode.is-auto classicladder.0.in-08
#net flood-coolant-out classicladder.0.out-07 hm2_[HOSTMOT2](BOARD).0.gpio.060.out
#net flood-coolant-io iocontrol.0.coolant-flood classicladder.0.in-09
#net flood-coolant-button hm2_[HOSTMOT2](BOARD).0.gpio.035.in classicladder.0.in-10
#out
net spindle-orient classicladder.0.out-04 hm2_5i25.0.7i77.0.0.output-04
net magazine-cw classicladder.0.out-12 hm2_5i25.0.7i77.0.0.output-09
net magazine-ccw classicladder.0.out-03 hm2_5i25.0.7i77.0.0.output-10
net tool-unclamp classicladder.0.out-05 hm2_5i25.0.7i77.0.0.output-06
net magazine-down classicladder.0.out-11 <= hm2_5i25.0.7i77.0.0.output-08
net magazine-fwd classicladder.0.out-06 <= hm2_5i25.0.7i77.0.0.output-07
net tool-changed iocontrol.0.tool-changed classicladder.0.out-07
#net magazine-position classicladder.0.s32out-01 mod-dir.0.actual
net mod-desired-position iocontrol.0.tool-prep-number carousel.0.pocket-number
net rotate-carousel carousel.0.enable classicladder.0.out-13
#net servo0-power-on classicladder.0.out-15 hm2_[HOSTMOT2](BOARD).0.pwmgen.00.enable
#net servo1-power-on classicladder.0.out-16 hm2_[HOSTMOT2](BOARD).0.pwmgen.01.enable
#net servo2-power-on classicladder.0.out-17 hm2_[HOSTMOT2](BOARD).0.pwmgen.02.enable
# "times 4 mode" one count per full quadrature cycle, instead of the usual one count per edge.
# mpg jog wheels often have a full quadrature cycle per "click". 0 for off and 1 for on.
#setp encoder.0.x4-mode 0
#setp axis.0.jog-vel-mode 1
#setp axis.1.jog-vel-mode 1
#setp axis.2.jog-vel-mode 1
#setp axis.3.jog-vel-mode 1
#setp mux4.0.in0 0.0001
#setp mux4.0.in1 0.001
#setp mux4.0.in2 0.01
#net pend-scale axis.0.jog-scale <= mux4.0.out
#net pend-scale axis.1.jog-scale
#net pend-scale axis.2.jog-scale
#net pend-scale axis.3.jog-scale
#net mpg-a encoder.0.phase-A <= hm2_[HOSTMOT2](BOARD).0.gpio.029.in
#net mpg-b encoder.0.phase-B <= hm2_[HOSTMOT2](BOARD).0.gpio.031.in
#net pend-counts axis.0.jog-counts <= encoder.0.counts
#net pend-counts axis.1.jog-counts
#net pend-counts axis.2.jog-counts
#net pend-counts axis.3.jog-counts
lagunmatic.ini
# Generated by PNCconf at Wed Dec 21 15:14:14 2016
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
MACHINE = lagunmatic
DEBUG = 0
[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/cncmill/linuxcnc/nc_files
PYVCP = shizuoka.xml
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 1.0000
MAX_LINEAR_VELOCITY = 6.6666666000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyz
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25
[HAL]
HALUI = halui
HALFILE = lagunmatic.hal
#HALFILE = custom.hal
#SHUTDOWN = shutdown.hal
POSTGUI_HALFILE = shizuoka-pyvcp.hal
[HALUI]
[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 1.0
MAX_LINEAR_VELOCITY = 6.66666600
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
TOOL_CHANGE_QUILL_UP = 1
# tool turret info
TOOL_TURRET_MAX = 17
TOOL_TURRET_WRAP = 1
#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.05
MIN_FERROR = 0.007
MAX_VELOCITY = 6.6666660
MAX_ACCELERATION = 20.0
P = 105
I = 0
D = 0
FF0 = 0
FF1 = 1.197
FF2 = 0.01
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 0
ENCODER_SCALE = -20320
OUTPUT_SCALE = 10
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10
MIN_LIMIT = -.001
MAX_LIMIT = 26.4
HOME_OFFSET = 2.8000000
HOME_SEARCH_VEL = -.2500
HOME_LATCH_VEL = -0.05000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 1
#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.05
MIN_FERROR = 0.005
MAX_VELOCITY = 6.66666660
MAX_ACCELERATION = 20.0
P = 30
I = 0
D = 0
FF0 = 0
FF1 = 0.395
FF2 = 0.0055
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 0
ENCODER_SCALE = 20320
OUTPUT_SCALE = -10
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10
MIN_LIMIT = -16.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = .5
HOME_LATCH_VEL = 0.050000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 2
#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0
FERROR = 0.1
MIN_FERROR = 0.02
MAX_VELOCITY = 6.6666660
MAX_ACCELERATION = 30.0
P = 60
I = 0
D = 0
FF0 = 0
FF1 = 1.155
FF2 = 0.01
BIAS = -0.0001
DEADBAND = 0
MAX_OUTPUT = 0
ENCODER_SCALE = -20320
OUTPUT_SCALE = 10
OUTPUT_MIN_LIMIT = -10
OUTPUT_MAX_LIMIT = 10
MIN_LIMIT = -20.50
MAX_LIMIT = 0.05
HOME_OFFSET = -0.030000
HOME_SEARCH_VEL = .5000
HOME_LATCH_VEL = 0.050000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 0
#********************
# Spindle
#********************
[SPINDLE_9]
P = 0.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 2000.0
shizuoka-pyvcp.hal
#net seconds classicladder.0.s32out-05 pyvcp.seconds-number
#net minutes classicladder.0.s32out-04 pyvcp.minutes-number
#net hours classicladder.0.s32out-06 pyvcp.hours-number
#linksp Spindle-rpm-cmd pyvcp.spindle-speed
net tool-num-display carousel.0.current-position pyvcp.tool-number
net tool-release-button pyvcp.tool-release-button classicladder.0.in-16
#net mpg-x axis.0.jog-enable <= pyvcp.axis-selection.X_AXIS
#net mpg-y axis.1.jog-enable <= pyvcp.axis-selection.Y_AXIS
#net mpg-z axis.2.jog-enable <= pyvcp.axis-selection.Z_AXIS
#net mpg-a-axis axis.3.jog-enable <= pyvcp.axis-selection.A_AXIS
#net scale1 mux4.0.sel0 <= pyvcp.feed-multiplier..0010in
#net scale2 mux4.0.sel1 <= pyvcp.feed-multiplier..0100in
net esc-button halui.program.stop pyvcp.stop-execution
shizuoka.clp
_FILES_CLASSICLADDER
_FILE-rung_7.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=2
#NEXTRUNG=1
1-0-0/11 , 9-0-60/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 2-0-50/1 , 9-0-0/0 , 50-0-60/4
0-0-0/0 , 0-0-50/0 , 1-1-50/7 , 9-0-0/9 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 2-0-0/32 , 9-0-0/0 , 50-0-60/6
0-0-60/0 , 0-0-0/29 , 0-0-50/3 , 1-1-50/9 , 9-0-0/0 , 9-0-0/0 , 9-0-0/7 , 2-0-0/33 , 9-0-0/0 , 50-0-0/19
0-0-60/9 , 0-0-50/0 , 0-0-0/35 , 0-0-50/0 , 1-1-60/5 , 9-0-0/0 , 9-0-0/0 , 2-0-0/34 , 9-0-0/9 , 50-0-60/11
1-0-0/19 , 9-0-0/50 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/1 , 9-0-0/0 , 9-0-0/0 , 50-0-60/5
1-0-50/16 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/10
_/FILE-rung_7.csv
_FILE-arithmetic_expressions.csv
#VER=2.0
0004,@280/4@=@251/2@
0005,@280/5@=@251/4@
0006,@280/6@=@251/0@
_/FILE-arithmetic_expressions.csv
_FILE-timers.csv
2,4
2,11
2,2
2,1
2,5
2,5
2,2
2,3
2,3
2,3
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-timers.csv
_FILE-modbusioconf.csv
#VER=1.0
_/FILE-modbusioconf.csv
_FILE-rung_2.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=-1
#NEXTRUNG=7
1-0-50/0 , 9-0-0/0 , 9-0-0/0 , 2-0-0/30 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/10
0-0-0/10 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 50-1-0/11
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 50-1-0/13
0-0-0/10 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/14
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_2.csv
_FILE-sections.csv
#VER=1.0
#NAME000=Prog1
000,0,-1,2,4,0
_/FILE-sections.csv
_FILE-com_params.txt
MODBUS_MASTER_SERIAL_PORT=
MODBUS_MASTER_SERIAL_SPEED=9600
MODBUS_MASTER_SERIAL_DATABITS=8
MODBUS_MASTER_SERIAL_STOPBITS=1
MODBUS_MASTER_SERIAL_PARITY=0
MODBUS_ELEMENT_OFFSET=0
MODBUS_MASTER_SERIAL_USE_RTS_TO_SEND=0
MODBUS_MASTER_TIME_INTER_FRAME=100
MODBUS_MASTER_TIME_OUT_RECEIPT=500
MODBUS_MASTER_TIME_AFTER_TRANSMIT=0
MODBUS_DEBUG_LEVEL=0
MODBUS_MAP_COIL_READ=0
MODBUS_MAP_COIL_WRITE=0
MODBUS_MAP_INPUT=0
MODBUS_MAP_HOLDING=0
MODBUS_MAP_REGISTER_READ=0
MODBUS_MAP_REGISTER_WRITE=0
_/FILE-com_params.txt
_FILE-sequential.csv
#VER=1.0
S50,79,1701669204,114,0,0
S57,79,1701669204,114,0,0
S64,79,1701669204,114,0,0
S71,79,1701669204,114,0,0
S78,79,1701669204,114,0,0
S85,79,1701669204,114,0,0
S92,79,1701669204,114,0,0
S99,79,1701669204,114,0,0
S106,79,1701669204,114,0,0
S113,79,1701669204,114,0,0
S120,78,1701669204,114,0,0
S127,78,1701669204,114,0,0
T1,21541,13389,-256,-1,-1,21541,13389,-256,-1,-1,25934,8311,26964,25965,114,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21541,13645,-256,-1,-1,37,84,77
C1,0,0/0
_/FILE-sequential.csv
_FILE-counters.csv
9999
59
59
9999
59
0
17
0
0
0
0
0
0
0
0
_/FILE-counters.csv
_FILE-rung_0.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=0
#NEXTRUNG=1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_0.csv
_FILE-rung_4.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=8
#NEXTRUNG=-1
1-0-0/31 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/30
2-0-0/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 13-0-0/0 , 0-0-0/0 , 50-1-60/7
9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 9-1-0/0 , 50-0-0/17
3-0-50/19 , 9-0-0/0 , 2-0-0/14 , 9-0-0/0 , 9-1-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/15
1-0-0/15 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 50-1-0/16
3-0-0/17 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/14
_/FILE-rung_4.csv
_FILE-symbols.csv
#VER=1.0
%I0,M6 SGNL,
%I1,TL CLMP P,
%I2,TL UNCL P,
%I3,TL UNCLPD,
%I4,,,
%I5,TARGET #,
%I6,,,
%I7,ORNT CPLT,no signal connected
%I8,MAG BK P,
%I9,MAG FWD P,
%I10,MAG UP P,
%I11,MAG DWN P,
%I12,POS CNT,
%I13,MAG HM SW,
%I14,%I14,
%I15,%I15,
%I16,%I16,
%I17,%I17,
%I18,%I18,
%I19,%I19,
%I20,%I20,
%I21,%I21,
%I22,%I22,
%I23,%I23,
%I24,%I24,
%I25,%I25,
%I26,%I26,
%I27,%I27,
%I28,%I28,
%I29,%I29,
%I30,%I30,no signal connected
%I31,%I31,
%I32,%I32,
%I33,%I33,
%I34,%I34,
%I35,%I35,
%I36,%I36,
%I37,%I37,
%I38,%I38,
%I39,%I39,
%I40,%I40,
%I41,%I41,
%I42,%I42,
%I43,%I43,
%I44,%I44,
%I45,%I45,
%I46,%I46,
%I47,%I47,
%I48,%I48,
%I49,%I49,
%Q0,OOOO,
%Q1,%Q1,
%Q2,%Q2,
%Q3,MAG CCW,
%Q4,ORIENT,
%Q5,TL UNCLP,
%Q6,MAG FWD,
%Q7,TCH CPLT,
%Q8,%Q8,
%Q9,TR DB,
%Q10,%Q10,
%Q11,MAG DWN,
%Q12,MAG CW,
%Q13,%Q13,
%Q14,%Q14,
%Q15,%Q15,
%Q16,%Q16,
%Q17,%Q17,
%Q18,%Q18,
%Q19,%Q19,
%Q20,%Q20,
%Q21,%Q21,
%Q22,%Q22,
%Q23,%Q23,
%Q24,%Q24,
%Q25,%Q25,
%Q26,%Q26,
%Q27,%Q27,
%Q28,%Q28,
%Q29,%Q29,
%Q30,%Q30,
%Q31,%Q31,
%Q32,%Q32,
%Q33,%Q33,
%Q34,%Q34,
%Q35,%Q35,
%Q36,%Q36,
%Q37,%Q37,
%Q38,%Q38,
%Q39,%Q39,
%B0,%B0,HOME LATCHED
%B1,MAG HM LA,INTERNAL COIL FOR MAG HOME LATCH
%B2,%B2,HOME LATCHED
%B3,%B3,HOME LATCHED
%B4,%B4,HOME LATCHED
%B5,%B5,HOME LATCHED
%B6,%B6,
%B7,%B7,
%B8,%B8,
%B9,%B9,
%B10,%B10,
%B11,%B11,
%B12,%B12,
%B13,%B13,
%B14,%B14,
%B15,%B15,
%B16,%B16,
%B17,%B17,
%B18,%B18,
%B19,%B19,
%B20,%B20,
%B21,%B21,
%B22,%B22,
%B23,%B23,
%B24,%B24,
%B25,%B25,
%B26,%B26,
%B27,%B27,
%B28,%B28,
%B29,%B29,
%B30,%B30,
%B31,%B31,
%B32,%B32,
%B33,%B33,
%B34,%B34,
%B35,%B35,
%B36,%B36,
%B37,%B37,
%B38,%B38,
%B39,%B39,
%B40,%B40,
%B41,%B41,
%B42,%B42,
%B43,%B43,
%B44,%B44,
%B45,%B45,
%B46,%B46,
%B47,%B47,
%B48,%B48,
%B49,%B49,
%W0,%W0,
%W1,%W1,
%W2,%W2,
%W3,%W3,
%W4,%W4,
%W5,%W5,
%W6,%W6,
%W7,%W7,
%IW0,%IW0,
%IW1,TOOL # RE,
%B50,%B50,
%B51,%B51,
%B52,%B52,
%B53,%B53,
%B54,%B54,
%B55,%B55,
%B56,%B56,
%B57,%B57,
%B58,%B58,
%B59,%B59,
%B60,%B60,
%B61,%B61,
%B62,%B62,
%B63,%B63,
%B64,%B64,
%B65,%B65,
%B66,%B66,
%B67,%B67,
%B68,%B68,
%B69,%B69,
%W8,%W8,
%W9,%W9,
%W10,%W10,
%W11,%W11,
%W12,%W12,
%W13,%W13,
%W14,%W14,
%W15,%W15,
%W16,%W16,
%W17,%W17,
%W18,%W18,
%W19,%W19,
%IW2,%IW2,
%QW0,%QW0,
%QW1,%QW1,
%QW2,%QW2,
%QW3,%QW3,
%QW4,%QW4,
%QW5,%QW5,
%QW6,%QW6,
%IF0,%IF0,
%IF1,%IF1,
%IF2,%IF2,
%IF3,%IF3,
%IF4,%IF4,
%IF5,%IF5,
%IF6,%IF6,
%IF7,%IF7,
%IF8,%IF8,
%IF9,%IF9,
%Q40,%Q40,
%Q41,%Q41,
%Q42,%Q42,
%Q43,%Q43,
%Q44,%Q44,
%Q45,%Q45,
%Q46,%Q46,
%Q47,%Q47,
%Q48,%Q48,
%Q49,%Q49,
%B70,%B70,
%B71,%B71,
%B72,%B72,
%B73,%B73,
%B74,%B74,
%B75,%B75,
%B76,%B76,
%B77,%B77,
%B78,%B78,
%B79,%B79,
_/FILE-symbols.csv
_FILE-general.txt
PERIODIC_REFRESH=2
SIZE_NBR_RUNGS=60
SIZE_NBR_BITS=90
SIZE_NBR_WORDS=55
SIZE_NBR_TIMERS=27
SIZE_NBR_MONOSTABLES=10
SIZE_NBR_COUNTERS=15
SIZE_NBR_TIMERS_IEC=10
SIZE_NBR_PHYS_INPUTS=50
SIZE_NBR_PHYS_OUTPUTS=50
SIZE_NBR_ARITHM_EXPR=25
SIZE_NBR_SECTIONS=6
SIZE_NBR_SYMBOLS=220
_/FILE-general.txt
_FILE-monostables.csv
1,5
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-monostables.csv
_FILE-timers_iec.csv
1,2,0
1,1,0
1,2,2
1,5,0
2,6,0
2,1,0
2,50,0
1,5,0
1,1,0
2,16,0
_/FILE-timers_iec.csv
_FILE-ioconf.csv
#VER=1.0
_/FILE-ioconf.csv
_FILE-rung_8.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=1
#NEXTRUNG=4
1-0-0/13 , 9-0-0/0 , 1-0-50/11 , 9-0-0/0 , 0-0-0/5 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/7
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-1-0/0 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/14
0-0-50/0 , 0-0-0/0 , 0-0-0/0 , 0-1-0/0 , 1-1-50/14 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/12
9-0-0/0 , 0-0-0/0 , 9-0-0/0 , 9-1-0/0 , 0-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-1-0/15
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 1-1-50/15 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/3
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-1-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/13
_/FILE-rung_8.csv
_FILE-rung_1.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=7
#NEXTRUNG=8
1-0-0/16 , 9-0-0/14 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/34
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/3 , 1-1-50/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/33
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-1-50/10 , 0-0-0/0 , 99-1-0/0 , 13-0-0/1 , 9-0-0/0 , 50-0-0/32
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-1-0/0 , 0-0-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-50/8 , 0-0-0/0 , 0-0-0/0 , 1-1-50/8 , 9-0-0/1 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-0/31
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_1.csv
_/FILES_CLASSICLADDER
And here is my current pin mapping based on the above hal file as a sanity check. I plan to do things a little bit different, such as using separate pins for limit +/-/home. I also don't quite know what some of the inputs are involving the magazine position and tool unclamping.
Outputs
0 | Spindle CW |
1 | Spindle CCW |
2 | Coolant Flood |
3 | Machine is Enabled |
4 | Spindle Orient |
5 | Spindle Index Enable |
6 | Tool Unclamp |
7 | Magazine Forward |
8 | Magazine Down |
9 | Magazine CW |
10 | Magazine CCW |
11 | |
12 | |
13 | Lube |
14 | |
15 | |
16 |
Inputs
0 | Lube Level |
1 | Both X |
2 | Both Y |
3 | Both Z |
4 | Home X |
5 | Home Y |
6 | Home Z |
7 | Spindle Orient Complete |
8 | |
9 | |
10 | Magazine Back Switch |
11 | Magazine FWD Switch |
12 | Magazine Down Switch |
13 | Magazine Position Switch |
14 | Magazine Home Switch |
15 | Magazine Home Switch |
16 | |
17 | Unclamp Tool Position |
18 | Tool Unclamped |
19 | |
20 | |
21 | Spindle Index Enable |
22 | |
23 | |
24 | Spindle Index Enable |
25 | |
26 | Estop Ext |
27 | |
28 | Cycle Start |
29 | Abort |
30 | Feed Hold |
31 | |
32 |
Please Log in or Create an account to join the conversation.
19 Dec 2017 10:46 #103335
by andypugh
Replied by andypugh on topic Lagunmatic 3516-SX Retrofit
If you just want XYZ then the Classic Ladder can wait. And if it worked on an identical machine then it should also work on yours.
So, what is the current obstacle to getting XYZ moving?
So, what is the current obstacle to getting XYZ moving?
Please Log in or Create an account to join the conversation.
19 Dec 2017 12:08 #103339
by giz
Replied by giz on topic Lagunmatic 3516-SX Retrofit
No real obstacle other than waiting for a few parts to arrive! I don't anticipate any huge issues getting to that point
Please Log in or Create an account to join the conversation.
25 Dec 2017 00:00 #103579
by lunada
Replied by lunada on topic Lagunmatic 3516-SX Retrofit
my spindle drive had an orient input and orient complete output on it, which was nice. not sure if yours does. If it does, it should be fairly simple. I'm not sure if our machines are identical, your pinout might be a bit different. But as long as you get your inputs and outputs right, you are probably better off just using my config files, unless you want to learn the hard way.
Please Log in or Create an account to join the conversation.
25 Dec 2017 00:44 #103580
by giz
I had to replace the original spindle drive, so I lost the Orient signals and others. I'm sure this can be overcome but not certain how yet.
I plan on redoing the config files and copying over what makes sense. Having your files to look at has helped IMMENSELY! But I want to learn as much as I can to ensure I can customize/expand the machine in the future.
Replied by giz on topic Lagunmatic 3516-SX Retrofit
my spindle drive had an orient input and orient complete output on it, which was nice. not sure if yours does. If it does, it should be fairly simple. I'm not sure if our machines are identical, your pinout might be a bit different. But as long as you get your inputs and outputs right, you are probably better off just using my config files, unless you want to learn the hard way.
I had to replace the original spindle drive, so I lost the Orient signals and others. I'm sure this can be overcome but not certain how yet.
I plan on redoing the config files and copying over what makes sense. Having your files to look at has helped IMMENSELY! But I want to learn as much as I can to ensure I can customize/expand the machine in the future.
Please Log in or Create an account to join the conversation.
25 Dec 2017 18:24 #103595
by lunada
Replied by lunada on topic Lagunmatic 3516-SX Retrofit
did you see any feedback from the spindle motor to the drive? I haven't really looked, but there should be a sensor or something of the sort on the spindle. I'm fairly certain there is not an encoder though. You can make a very simple encoder with a home made tone ring and some cheap emitter/collector pass through sensors... i did it on my old mill so i could do rigid tapping. Worked really well and it was cheap... probably 20 bucks in parts.
Please Log in or Create an account to join the conversation.
25 Dec 2017 19:37 - 25 Dec 2017 19:39 #103597
by giz
Yeah I do have some options here. My spindle motor has encoder feedback and I have an encoder feedback card for the Teco A510 spindle drive. There is also a 2000ppr encoder connected to the spindle cartridge (the spindle motor is connected to the cartridge at a 4:5 ratio).
I think my best option is to run the motor encoder to the spindle drive and close that loop in the drive, running in V/F+PG mode. Then run the cartridge encoder to the 7i77 and use it for rigid tapping, maybe RPM display in LinuxCNC, etc.
This method wouldn't require me to run any extra wiring between the two control cabinets, so that's a plus.
Replied by giz on topic Lagunmatic 3516-SX Retrofit
did you see any feedback from the spindle motor to the drive? I haven't really looked, but there should be a sensor or something of the sort on the spindle. I'm fairly certain there is not an encoder though. You can make a very simple encoder with a home made tone ring and some cheap emitter/collector pass through sensors... i did it on my old mill so i could do rigid tapping. Worked really well and it was cheap... probably 20 bucks in parts.
Yeah I do have some options here. My spindle motor has encoder feedback and I have an encoder feedback card for the Teco A510 spindle drive. There is also a 2000ppr encoder connected to the spindle cartridge (the spindle motor is connected to the cartridge at a 4:5 ratio).
I think my best option is to run the motor encoder to the spindle drive and close that loop in the drive, running in V/F+PG mode. Then run the cartridge encoder to the 7i77 and use it for rigid tapping, maybe RPM display in LinuxCNC, etc.
This method wouldn't require me to run any extra wiring between the two control cabinets, so that's a plus.
Last edit: 25 Dec 2017 19:39 by giz.
Please Log in or Create an account to join the conversation.
25 Dec 2017 22:48 #103605
by giz
Finished up the CAD design of the new pc panel. I 3D printed brackets for the DB15, DB25, and DB37 breakout boards as well as a piece to hold the computer components.
Just waiting for the wire raceway to show up, should have everything wired and installed by Friday.
Replied by giz on topic Lagunmatic 3516-SX Retrofit
Finished up the CAD design of the new pc panel. I 3D printed brackets for the DB15, DB25, and DB37 breakout boards as well as a piece to hold the computer components.
Just waiting for the wire raceway to show up, should have everything wired and installed by Friday.
Please Log in or Create an account to join the conversation.
Moderators: cncbasher
Time to create page: 0.180 seconds