W axis with gantry kins hal/ini configuration

More
11 Dec 2015 21:44 #66851 by guymalpass
Sorry, forgot all about the files. I'll post them in the morning, promise!

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

More
12 Dec 2015 17:37 #66879 by guymalpass
Later than promised, but here you go:
# This config file was created 2015-12-01 09:00:32.737957 by the update_ini script
# The original config files may be found in the /home/guy/linuxcnc-dev/configs/Gicam/Gicam.old directory

# Generated by PNCconf at Mon Nov 30 19:55:47 2015
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

[EMC]
# The version string for this INI file.
VERSION = 1.0

MACHINE = CNC JA9
DEBUG = 0

[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.500000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/guy/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 25.0000
MAX_LINEAR_VELOCITY = 200.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = mousepad
GEOMETRY = XYZW
PROGRAM_PREFIX = /media

[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

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[HAL]
HALUI = halui
HALFILE = LinuxCNCJA9.hal

[HALUI]

[TRAJ]
AXES = 4
COORDINATES = XYZw
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.50
MAX_LINEAR_VELOCITY = 200.00

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

[KINS]
JOINTS = 5
KINEMATICS = gentrivkins coordinates=xyyzw
AUTO_TELEOP = 20


[AXIS_X]

HOME = 0
MIN_LIMIT = -0.01
MAX_LIMIT = 1470.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0

[JOINT_0]

TYPE = LINEAR
HOME = 0
FERROR = 1.0
MIN_FERROR = 0.1
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250.0
STEPGEN_MAXACCEL = 937.50
P = 199.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0047
BIAS = 0.0
DEADBAND = 0.0016
MAX_OUTPUT = 20000
ENCODER_SCALE = 763.9437
# these are in nanoseconds
DIRSETUP   = 25000
DIRHOLD    = 26600
STEPLEN    = 1600
STEPSPACE  = 1600
STEP_SCALE = -636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 1470.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0


[AXIS_Y]

HOME = 0.0
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0

[JOINT_1]

TYPE = LINEAR
HOME = 0.0
FERROR = 1.0
MIN_FERROR = 0.100
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250.0
STEPGEN_MAXACCEL = 937.50
P = 199.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0047
BIAS = 0.0
DEADBAND = 0.003
MAX_OUTPUT = 20000
ENCODER_SCALE = -763.9437
# these are in nanoseconds
DIRSETUP   = 25000
DIRHOLD    = 26600
STEPLEN    = 1600
STEPSPACE  = 1600
STEP_SCALE = 636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1

[JOINT_2]

TYPE = LINEAR
HOME = 0.0
FERROR = 1.000
MIN_FERROR = 0.100
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 250.0
STEPGEN_MAXACCEL = 937.50
P = 199.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0047
BIAS = 0.0
DEADBAND = 0.003
MAX_OUTPUT = 20000
ENCODER_SCALE = 763.9437
# these are in nanoseconds
DIRSETUP   = 25000
DIRHOLD    = 26600
STEPLEN    = 1600
STEPSPACE  = 1600
STEP_SCALE = -636.6198
MIN_LIMIT = -0.01
MAX_LIMIT = 2500.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 10
HOME_LATCH_VEL = 10
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1

[AXIS_Z]

HOME = 0.0
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0

[JOINT_3]

TYPE = LINEAR
HOME = 0.0
FERROR = 2.0
MIN_FERROR = 0.2
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125.0
STEPGEN_MAXACCEL = 937.50
# these are in nanoseconds
DIRSETUP   = 25000
DIRHOLD    = 26600
STEPLEN    = 1600
STEPSPACE  = 1600
STEP_SCALE = -256
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 2

[AXIS_W]

HOME = 0.0
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0

[JOINT_4]

TYPE = LINEAR
HOME = 0.0
FERROR = 2.0
MIN_FERROR = 0.2
MAX_VELOCITY = 100.0
MAX_ACCELERATION = 750.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 125.0
STEPGEN_MAXACCEL = 937.50
# these are in nanoseconds
DIRSETUP   = 25000
DIRHOLD    = 26600
STEPLEN    = 1600
STEPSPACE  = 1600
STEP_SCALE = -256
MIN_LIMIT = -335.0
MAX_LIMIT = 0.01
HOME_OFFSET = 0.0
HOME_SEQUENCE = 2

#********************
# Spindle 
#********************
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25

[SPINDLE_9]
OUTPUT_SCALE = 24000.0
OUTPUT_MIN_LIMIT = 3000.0
OUTPUT_MAX_LIMIT = 24000.0
# Generated by PNCconf at Mon Nov 30 19:55:47 2015
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_stepgens=5 sserial_port_0=10000x" 
setp    hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y1,pid.y2
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50
loadrt axisswap count=1
loadrt conv_float_s32 count=2
loadrt mult2 count=2
loadrt sum2 count=1

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.y1.do-pid-calcs       servo-thread
addf pid.y2.do-pid-calcs       servo-thread
addf classicladder.0.refresh servo-thread
addf hm2_5i25.0.write         servo-thread
addf axisswap.0 servo-thread
addf conv-float-s32.0 servo-thread 
addf conv-float-s32.1 servo-thread
addf mult2.0 servo-thread
addf mult2.1 servo-thread
addf sum2.0 servo-thread

# external output signals


# external input signals

# --- HOME-X ---
net home-x     <=  hm2_5i25.0.7i76.0.3.input-16

# --- HOME-Y ---
net home-y     <=  hm2_5i25.0.7i76.0.3.input-18

# --- SPINDLE-AT-SPEED ---
net spindle-at-speed     <=  hm2_5i25.0.7i76.0.3.input-15

# --- FEED OVERRIDE ---
setp halui.feed-override.count-enable TRUE
setp halui.feed-override.direct-value TRUE
setp halui.feed-override.scale 0.01
setp mult2.0.in0 8.216134
net feed-float-in mult2.0.in1 <= hm2_5i25.0.7i77.0.0.analogin1
net feed-mult-out mult2.0.out => conv-float-s32.0.in
net feed-s32-out conv-float-s32.0.out => halui.feed-override.counts

# --- RAPID OVERRIDE ---
setp halui.rapid-override.count-enable TRUE
setp halui.rapid-override.direct-value TRUE
setp halui.rapid-override.scale 0.02
net feed-s32-out => halui.rapid-override.counts

# --- SPINDLE OVERRIDE ---
setp halui.spindle-override.count-enable TRUE
setp halui.spindle-override.direct-value TRUE
setp halui.spindle-override.scale 0.01
setp mult2.1.in0 4.156682
setp sum2.0.in0 50
net spindle-pot-in mult2.1.in1 <= hm2_5i25.0.7i77.0.0.analogin0
net spindle-mult-out mult2.1.out => sum2.0.in1
net spindle-sum2-out sum2.0.out => conv-float-s32.1.in
net spindle-s32-out conv-float-s32.1.out => halui.spindle-override.counts

# --- DRIVE FAULT FEEDBACK ---
net drive-fault <= hm2_5i25.0.7i76.0.3.input-17-not
net drive-fault => joint.0.amp-fault-in
net drive-fault => joint.1.amp-fault-in
net drive-fault => joint.2.amp-fault-in
net drive-fault => joint.3.amp-fault-in
net drive-fault => joint.4.amp-fault-in

#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [JOINT_0]P
setp   pid.x.Igain     [JOINT_0]I
setp   pid.x.Dgain     [JOINT_0]D
setp   pid.x.bias      [JOINT_0]BIAS
setp   pid.x.FF0       [JOINT_0]FF0
setp   pid.x.FF1       [JOINT_0]FF1
setp   pid.x.FF2       [JOINT_0]FF2
setp   pid.x.deadband  [JOINT_0]DEADBAND
setp   pid.x.maxoutput [JOINT_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

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [JOINT_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        0
setp   hm2_5i25.0.stepgen.00.control-type     1
setp   hm2_5i25.0.stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.00.maxvel           [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= joint.0.motor-pos-cmd
net x-vel-cmd    <= joint.0.vel-cmd
net x-output     <= hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb     => joint.0.motor-pos-fb
net x-enable     <= joint.0.amp-enable-out
net x-enable     => hm2_5i25.0.stepgen.00.enable

# ---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  [JOINT_0]ENCODER_SCALE

net x-pos-fb               <=  hm2_5i25.0.encoder.02.position
net x-vel-fb               <=  hm2_5i25.0.encoder.02.velocity
net x-index-enable    joint.0.index-enable  <=>  hm2_5i25.0.encoder.02.index-enable
net x-pos-rawcounts        <=  hm2_5i25.0.encoder.02.rawcounts

# ---setup home / limit switch signals---

net home-x     =>  joint.0.home-sw-in
net x-neg-limit     =>  joint.0.neg-lim-sw-in
net x-pos-limit     =>  joint.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

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

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

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.02.dirsetup        [JOINT_1]DIRSETUP
setp   hm2_5i25.0.stepgen.02.dirhold         [JOINT_1]DIRHOLD
setp   hm2_5i25.0.stepgen.02.steplen         [JOINT_1]STEPLEN
setp   hm2_5i25.0.stepgen.02.stepspace       [JOINT_1]STEPSPACE
setp   hm2_5i25.0.stepgen.02.position-scale  [JOINT_1]STEP_SCALE
setp   hm2_5i25.0.stepgen.02.step_type        0
setp   hm2_5i25.0.stepgen.02.control-type     1
setp   hm2_5i25.0.stepgen.02.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.02.maxvel           [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y1-pos-cmd    <= joint.1.motor-pos-cmd
net y1-vel-cmd    <= joint.1.vel-cmd
net y1-output     => hm2_5i25.0.stepgen.02.velocity-cmd
net y1-pos-fb     => joint.1.motor-pos-fb
net y1-enable     <= joint.1.amp-enable-out
net y1-enable     => hm2_5i25.0.stepgen.02.enable

# ---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  [JOINT_1]ENCODER_SCALE

net y1-pos-fb               <=  hm2_5i25.0.encoder.01.position
net y1-vel-fb               <=  hm2_5i25.0.encoder.01.velocity
net y1-index-enable    joint.1.index-enable  <=>  hm2_5i25.0.encoder.01.index-enable
net y1-pos-rawcounts        <=  hm2_5i25.0.encoder.01.rawcounts

# ---setup home / limit switch signals---

net home-y     =>  joint.1.home-sw-in
net y1-neg-limit     =>  joint.1.neg-lim-sw-in
net y1-pos-limit     =>  joint.1.pos-lim-sw-in


# ---SECOND Y JOINT---


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

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

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.03.dirsetup        [JOINT_2]DIRSETUP
setp   hm2_5i25.0.stepgen.03.dirhold         [JOINT_2]DIRHOLD
setp   hm2_5i25.0.stepgen.03.steplen         [JOINT_2]STEPLEN
setp   hm2_5i25.0.stepgen.03.stepspace       [JOINT_2]STEPSPACE
setp   hm2_5i25.0.stepgen.03.position-scale  [JOINT_2]STEP_SCALE
setp   hm2_5i25.0.stepgen.03.step_type        0
setp   hm2_5i25.0.stepgen.03.control-type     1
setp   hm2_5i25.0.stepgen.03.maxaccel         [JOINT_2]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.03.maxvel           [JOINT_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y2-pos-cmd    <= joint.2.motor-pos-cmd
net y2-vel-cmd    <= joint.2.vel-cmd
net y2-output     => hm2_5i25.0.stepgen.03.velocity-cmd
net y2-pos-fb     => joint.2.motor-pos-fb
net y2-enable     <= joint.2.amp-enable-out
net y2-enable     => hm2_5i25.0.stepgen.03.enable

# ---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  [JOINT_2]ENCODER_SCALE

net y2-pos-fb               <=  hm2_5i25.0.encoder.00.position
net y2-vel-fb               <=  hm2_5i25.0.encoder.00.velocity
net y2-index-enable    joint.2.index-enable  <=>  hm2_5i25.0.encoder.00.index-enable
net y2-pos-rawcounts        <=  hm2_5i25.0.encoder.00.rawcounts

# ---setup home / limit switch signals---

net home-y     =>  joint.2.home-sw-in
net y1-neg-limit     =>  joint.2.neg-lim-sw-in
net y1-pos-limit     =>  joint.2.pos-lim-sw-in


#*******************
#  AXIS Z
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.01.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_5i25.0.stepgen.01.dirhold         [JOINT_3]DIRHOLD
setp   hm2_5i25.0.stepgen.01.steplen         [JOINT_3]STEPLEN
setp   hm2_5i25.0.stepgen.01.stepspace       [JOINT_3]STEPSPACE
setp   hm2_5i25.0.stepgen.01.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_5i25.0.stepgen.01.step_type        0
setp   hm2_5i25.0.stepgen.01.control-type     0
setp   hm2_5i25.0.stepgen.01.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.01.maxvel           [JOINT_3]STEPGEN_MAXVEL

# ---stepper signals---

net z-pos-cmd-in             joint.3.motor-pos-cmd => axisswap.0.inz
net z-pos-cmd-out	          axisswap.0.outz => hm2_5i25.0.stepgen.01.position-cmd
net z-pos-fb-in hm2_5i25.0.stepgen.01.position-fb => axisswap.0.inzfb
net z-pos-fb-out                axisswap.0.outzfb => joint.3.motor-pos-fb
net z-enable     <= joint.3.amp-enable-out
net z-enable     => hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net z-home-sw     =>  joint.3.home-sw-in
net z-neg-limit     =>  joint.3.neg-lim-sw-in
net z-pos-limit     =>  joint.3.pos-lim-sw-in

#*******************
#  AXIS W
#*******************

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.04.dirsetup        [JOINT_4]DIRSETUP
setp   hm2_5i25.0.stepgen.04.dirhold         [JOINT_4]DIRHOLD
setp   hm2_5i25.0.stepgen.04.steplen         [JOINT_4]STEPLEN
setp   hm2_5i25.0.stepgen.04.stepspace       [JOINT_4]STEPSPACE
setp   hm2_5i25.0.stepgen.04.position-scale  [JOINT_4]STEP_SCALE
setp   hm2_5i25.0.stepgen.04.step_type        0
setp   hm2_5i25.0.stepgen.04.control-type     0
setp   hm2_5i25.0.stepgen.04.maxaccel         [JOINT_4]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.04.maxvel           [JOINT_4]STEPGEN_MAXVEL

# ---stepper signals---

net w-pos-cmd-in             joint.4.motor-pos-cmd => axisswap.0.inw
net w-pos-cmd-out	          axisswap.0.outw => hm2_5i25.0.stepgen.04.position-cmd
net w-pos-fb-in hm2_5i25.0.stepgen.04.position-fb => axisswap.0.inwfb
net w-pos-fb-out                axisswap.0.outwfb => joint.4.motor-pos-fb
net w-enable     <= joint.4.amp-enable-out
net w-enable     => hm2_5i25.0.stepgen.04.enable

# ---setup home / limit switch signals---

net w-home-sw     =>  joint.4.home-sw-in
net w-neg-limit     =>  joint.4.neg-lim-sw-in
net w-pos-limit     =>  joint.4.pos-lim-sw-in

#*******************
#  SPINDLE S
#*******************

# ---digital potentionmeter output signals/setup---

setp   hm2_5i25.0.7i76.0.3.spinout-minlim    [SPINDLE_9]OUTPUT_MIN_LIMIT
setp   hm2_5i25.0.7i76.0.3.spinout-maxlim    [SPINDLE_9]OUTPUT_MAX_LIMIT
setp   hm2_5i25.0.7i76.0.3.spinout-scalemax  [SPINDLE_9]OUTPUT_SCALE

net spindle-vel-cmd-rpm     => hm2_5i25.0.7i76.0.3.spinout
net machine-is-enabled      => hm2_5i25.0.7i76.0.3.spinena
net spindle-ccw         => hm2_5i25.0.7i76.0.3.spindir

# ---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
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


#******************************
# 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.4.select
net z-is-homed            halui.joint.4.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

#  ---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-out     =>  iocontrol.0.emc-enable-in

#  ---signals for spindle control---

net tool-number      iocontrol.0.tool-number => classicladder.0.s32in-00
net tool-change      iocontrol.0.tool-change => classicladder.0.in-05
net tool-changed      classicladder.0.out-04 => iocontrol.0.tool-changed
net tool-prepare    iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net spindle-cw                               => classicladder.0.in-00
net cwconfirmed       classicladder.0.out-00 => hm2_5i25.0.7i76.0.3.output-00
net spindle-ccw                              => classicladder.0.in-01
net ccwconfirmed      classicladder.0.out-01 => hm2_5i25.0.7i76.0.3.output-01
net during-run  hm2_5i25.0.7i76.0.3.input-14 => classicladder.0.in-02
net c1-in       hm2_5i25.0.7i76.0.3.input-04 => classicladder.0.in-03
net c2-in       hm2_5i25.0.7i76.0.3.input-05 => classicladder.0.in-04
net c1-out            classicladder.0.out-02 => hm2_5i25.0.7i76.0.3.output-14
net c2-out            classicladder.0.out-03 => hm2_5i25.0.7i76.0.3.output-15
net swapper           classicladder.0.out-05 => axisswap.0.sel
net y2-vel-cmd                               => classicladder.0.floatin-00 

# Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI

loadusr classicladder --nogui custom.clp

The following user(s) said Thank You: TurBoss

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

Time to create page: 0.074 seconds
Powered by Kunena Forum