Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .ini
- ***************************************************
- [EMC]
- VERSION = 1.1
- MACHINE = 5Axis Gantry Mill (xyyzbc)
- DEBUG = 0
- [DISPLAY]
- JOG_AXES = XYZBC
- GEOMETRY = XYZBCW
- DISPLAY = axis
- CYCLE_TIME = 0.200
- POSITION_OFFSET = RELATIVE
- POSITION_FEEDBACK = ACTUAL
- MAX_FEED_OVERRIDE = 2.0
- PROGRAM_PREFIX = ../../nc_files/
- INTRO_GRAPHIC = linuxcnc.gif
- INTRO_TIME = 5
- #EDITOR = gedit
- DEFAULT_LINEAR_VELOCITY = 40
- MIN_VELOCITY = .01
- MAX_LINEAR_VELOCITY = 60
- MIN_LINEAR_VELOCITY = .01
- DEFAULT_ANGULAR_VELOCITY = 20
- MIN_ANGULAR_VELOCITY = .01
- MAX_ANGULAR_VELOCITY = 15
- [HOSTMOT2]
- DRIVER=hm2_pci
- BOARD=6i25
- CONFIG="firmware=hm2/6i25/SVST4_8.BIT num_encoders=1 num_pwmgens=0 num_stepgens=6 sserial_port_0=00xxxx"
- [RS274NGC]
- PARAMETER_FILE = 5axis.var
- [EMCMOT]
- EMCMOT = motmod
- COMM_TIMEOUT = 1.0
- SERVO_PERIOD = 1000000
- [TASK]
- TASK = milltask
- CYCLE_TIME = 0.010
- [HAL]
- HALUI = halui
- HALFILE = gantry_5axis.hal
- HALCMD = loadusr -W ./5axisgui
- HALCMD = net :jx joint.0.pos-fb 5axisgui.jx
- HALCMD = net :jy joint.1.pos-fb 5axisgui.jy
- HALCMD = net :jz joint.2.pos-fb 5axisgui.jz
- HALCMD = net :jb joint.3.pos-fb 5axisgui.jb
- HALCMD = net :jc joint.4.pos-fb 5axisgui.jc
- HALCMD = net :tool-len motion.tooloffset.z 5axisgui.tool_length
- [TRAJ]
- COORDINATES = X Y Z B C Y W
- LINEAR_UNITS = 1.0
- ANGULAR_UNITS = 1.0
- DEFAULT_ANGULAR_VELOCITY = 200.0
- MAX_ANGULAR_VELOCITY = 346.0
- MAX_ANGULAR_ACCELERATION = 800.0
- DEFAULT_ANGULAR_ACCELERATION = 800.0
- DEFAULT_LINEAR_VELOCITY = 200.0
- MAX_LINEAR_VELOCITY = 346.0
- MAX_LINEAR_ACCELERATION = 800.0
- DEFAULT_LINEAR_ACCELERATION = 800.0
- [EMCIO]
- EMCIO = io
- CYCLE_TIME = 0.100
- TOOL_TABLE = 5axis.tbl
- [KINS]
- # 5axiskins misnomer 1 more joint for W
- KINEMATICS = 5axiskins
- JOINTS = 7
- /*************************************************************************************/
- # X is one-to-one to JOINT_0
- [AXIS_X]
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 350.0
- MIN_LIMIT = -1.0
- MAX_LIMIT = 1701.0
- # Y is one-to-one to JOINT_1
- [AXIS_Y]
- MAX_VELOCITY = 70.0
- MAX_ACCELERATION = 350.0
- MIN_LIMIT = -1.0
- MAX_LIMIT = 2261.0
- # Z is one-to-one to JOINT_2
- [AXIS_Z]
- MAX_VELOCITY = 70.0
- MAX_ACCELERATION = 950.0
- MIN_LIMIT = -600.0
- MAX_LIMIT = 1.00
- # B is one-to-one to JOINT_3
- [AXIS_B]
- MAX_VELOCITY = 60
- MAX_ACCELERATION = 200
- MIN_LIMIT = -120
- MAX_LIMIT = 120
- # C is one-to-one to JOINT_4
- [AXIS_C]
- MAX_VELOCITY = 60
- MAX_ACCELERATION = 200
- MIN_LIMIT = -36000
- MAX_LIMIT = 36000
- # W is one-to-one to JOINT_5
- [AXIS_W]
- MAX_VELOCITY = 70.0
- MAX_ACCELERATION = 350.0
- MIN_LIMIT = -1.0
- MAX_LIMIT = 2261.0
- # X AXIS
- [JOINT_0]
- TYPE = LINEAR
- HOME = 0.0
- FERROR = 50.0
- MIN_FERROR = 1.0
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = 25.477
- #STEP_SCALE = 2.53
- MIN_LIMIT = -1.0
- MAX_LIMIT = 1701.0
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -100.000000
- #HOME_LATCH_VEL = 10.00000
- #HOME_FINAL_VEL = 100.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #HOME_SEQUENCE = -1
- #******************************************
- # Y AXIS Gantry 1
- [JOINT_1]
- TYPE = LINEAR
- HOME = 0.0
- FERROR = 5.0
- MIN_FERROR = 0.1
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = -25.477
- MIN_LIMIT = -1.0000
- MAX_LIMIT = 2261.0000
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -100.000000
- #HOME_LATCH_VEL = 10.00000
- #HOME_FINAL_VEL = 100.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #HOME_SEQUENCE = -1
- #******************************************
- # Z AXIS
- [JOINT_2]
- TYPE = LINEAR
- HOME = 0.0
- FERROR = 5.0
- MIN_FERROR = 0.5
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = 25.477
- MIN_LIMIT = -500.0
- MAX_LIMIT = 1.0
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -100.000000
- #HOME_LATCH_VEL = 10.00000
- #HOME_FINAL_VEL = 100.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #HOME_SEQUENCE = 0
- # B AXIS
- [JOINT_3]
- TYPE = ANGULAR
- HOME = 0.0
- FERROR = 10.0
- MIN_FERROR = 1.0
- MAX_VELOCITY = 80.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = 20.0
- MIN_LIMIT = -120
- MAX_LIMIT = 120
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -1.000000
- #HOME_LATCH_VEL = -0.500000
- #HOME_FINAL_VEL = 0.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #******************************************
- #******************************************
- # C AXIS
- [JOINT_4]
- TYPE = ANGULAR
- HOME = 0.0
- FERROR = 0.5
- MIN_FERROR = 0.05
- MAX_VELOCITY = 15.0
- MAX_ACCELERATION = 1200.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 = 80.00
- STEPGEN_MAXACCEL = 1500.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = 20.0
- MIN_LIMIT = -36000
- MAX_LIMIT = 36000
- #HOME_OFFSET = 0.0
- # Y2 AXIS
- [JOINT_5]
- TYPE = LINEAR
- HOME = 0.0
- FERROR = 5.0
- MIN_FERROR = 0.1
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = -25.477
- MIN_LIMIT = -1.0000
- MAX_LIMIT = 2261.0000
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -100.000000
- #HOME_LATCH_VEL = 10.00000
- #HOME_FINAL_VEL = 100.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #HOME_SEQUENCE = -1
- #******************************************
- # W AXIS
- [JOINT_6]
- TYPE = LINEAR
- HOME = 0.0
- FERROR = 50.0
- MIN_FERROR = 1.0
- MAX_VELOCITY = 100.0
- MAX_ACCELERATION = 950.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 = 120.00
- STEPGEN_MAXACCEL = 1200.00
- P = 1000.0
- I = 0.0
- D = 0.0
- FF0 = 0.0
- FF1 = 1.0
- FF2 = 0.0
- BIAS = 0.0
- DEADBAND = 0.0
- MAX_OUTPUT = 0.0
- # these are in nanoseconds
- DIRSETUP = 15000
- DIRHOLD = 15000
- STEPLEN = 15000
- STEPSPACE = 15000
- STEP_SCALE = 25.477
- #STEP_SCALE = 2.53
- MIN_LIMIT = -2261.0
- MAX_LIMIT = 2261.0
- #HOME_OFFSET = 0.000000
- #HOME_SEARCH_VEL = -100.000000
- #HOME_LATCH_VEL = 10.00000
- #HOME_FINAL_VEL = 100.000000
- #HOME_USE_INDEX = NO
- #HOME_IGNORE_LIMITS = YES
- #HOME_SEQUENCE = -1
- #******************************************
- *************************************************
- .hal
- *************************************************
- loadrt [KINS]KINEMATICS
- loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
- loadrt hostmot2
- loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
- #loadrt 5axiskins
- #loadrt motmod servo_period_nsec=1000000 num_joints=6
- #loadrt hostmot2
- #loadrt hm2_pci config="firmware=hm2/6i25/SVST4_8.BIT num_encoders=1 num_pwmgens=0 num_stepgens=6 sserial_port_0=00xxxx"
- loadrt pid names=pid.x,pid.y1,pid.y2,pid.z,pid.b,pid.c
- 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.y2.do-pid-calcs servo-thread
- addf pid.y1.do-pid-calcs servo-thread
- addf pid.z.do-pid-calcs servo-thread
- addf pid.b.do-pid-calcs servo-thread
- addf pid.c.do-pid-calcs servo-thread
- addf hm2_5i25.0.write servo-thread
- # --- X-ENABLE ---
- net x-enable => hm2_5i25.0.7i76.0.0.output-00
- setp hm2_5i25.0.7i76.0.0.output-00-invert true
- # --- Y1-ENABLE ---
- net y1-enable => hm2_5i25.0.7i76.0.0.output-01
- setp hm2_5i25.0.7i76.0.0.output-01-invert true
- # --- Y2-ENABLE ---
- net y2-enable => hm2_5i25.0.7i76.0.0.output-02
- setp hm2_5i25.0.7i76.0.0.output-02-invert true
- # --- Z-ENABLE ---
- net z-enable => hm2_5i25.0.7i76.0.0.output-03
- setp hm2_5i25.0.7i76.0.0.output-03-invert true
- # --- B-ENABLE ---
- net b-enable => hm2_5i25.0.7i76.0.0.output-04
- setp hm2_5i25.0.7i76.0.0.output-04-invert true
- # --- C-ENABLE ---
- net c-enable => hm2_5i25.0.7i76.0.0.output-05
- setp hm2_5i25.0.7i76.0.0.output-05-invert true
- # external input signals
- # --- MIN-X ---
- net min-x <= hm2_5i25.0.7i76.0.0.input-00
- # --- MAX-X ---
- net max-x <= hm2_5i25.0.7i76.0.0.input-01
- # --- MIN-Y1 ---
- net min-y1 <= hm2_5i25.0.7i76.0.0.input-02
- # --- MAX-Y1 ---
- net max-y1 <= hm2_5i25.0.7i76.0.0.input-03
- # --- MIN-Y2 ---
- net min-y2 <= hm2_5i25.0.7i76.0.0.input-04
- # --- MAX-Y2 ---
- net max-y2 <= hm2_5i25.0.7i76.0.0.input-05
- # --- MIN-Z ---
- net min-z <= hm2_5i25.0.7i76.0.0.input-06
- # --- MAX-Z ---
- net max-z <= hm2_5i25.0.7i76.0.0.input-07
- # --- MIN-B ---
- net min-b <= hm2_5i25.0.7i76.0.0.input-08
- # --- MAX-B ---
- net max-b <= hm2_5i25.0.7i76.0.0.input-09
- # --- ESTOP-EXT ---
- #net estop-ext <= hm2_5i25.0.7i76.0.0.input-15
- net estop-ext <= hm2_5i25.0.7i76.0.0.input-15-not
- # --- PROBE-IN ---
- net probe-in <= hm2_5i25.0.7i76.0.0.input-14
- # *************************************************************************************************************
- # *************************************************************************************************************
- # *************************************************************************************************************
- # *************************************************************************************************************
- #*******************
- # AXIS X JOINT 0
- #*******************
- 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-enable => pid.x.enable
- net x-index-enable <=> pid.x.index-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 <= hm2_5i25.0.stepgen.00.position-fb
- 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
- # ---setup home / limit switch signals---
- net min-home-x => joint.0.home-sw-in
- net min-home-x => joint.0.neg-lim-sw-in
- net max-x => joint.0.pos-lim-sw-in
- #*******************
- # Tandem AXIS y1 JOINT 1
- #*******************
- 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 for tandem axis
- setp hm2_5i25.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
- setp hm2_5i25.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
- setp hm2_5i25.0.stepgen.01.steplen [JOINT_1]STEPLEN
- setp hm2_5i25.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
- setp hm2_5i25.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
- setp hm2_5i25.0.stepgen.01.step_type 0
- setp hm2_5i25.0.stepgen.01.control-type 1
- setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
- setp hm2_5i25.0.stepgen.01.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.01.velocity-cmd
- net y1-pos-fb <= hm2_5i25.0.stepgen.01.position-fb
- net y1-pos-fb => joint.1.motor-pos-fb
- net y1-enable <= joint.1.amp-enable-out
- net y1-enable => hm2_5i25.0.stepgen.01.enable
- # ---setup home / limit switch signals---
- net min-home-y1 => joint.1.home-sw-in
- net min-home-y1 => joint.1.neg-lim-sw-in
- net max-y1 => joint.1.pos-lim-sw-in
- #*******************
- # AXIS Z JOINT 2
- #*******************
- setp pid.z.Pgain [JOINT_2]P
- setp pid.z.Igain [JOINT_2]I
- setp pid.z.Dgain [JOINT_2]D
- setp pid.z.bias [JOINT_2]BIAS
- setp pid.z.FF0 [JOINT_2]FF0
- setp pid.z.FF1 [JOINT_2]FF1
- setp pid.z.FF2 [JOINT_2]FF2
- setp pid.z.deadband [JOINT_2]DEADBAND
- setp pid.z.maxoutput [JOINT_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
- # Step Gen signals/setup
- setp hm2_5i25.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
- setp hm2_5i25.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
- setp hm2_5i25.0.stepgen.02.steplen [JOINT_2]STEPLEN
- setp hm2_5i25.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
- setp hm2_5i25.0.stepgen.02.position-scale [JOINT_2]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_2]STEPGEN_MAXACCEL
- setp hm2_5i25.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
- # ---closedloop stepper signals---
- net z-pos-cmd <= joint.2.motor-pos-cmd
- net z-vel-cmd <= joint.2.vel-cmd
- net z-output <= hm2_5i25.0.stepgen.02.velocity-cmd
- net z-pos-fb <= hm2_5i25.0.stepgen.02.position-fb
- net z-pos-fb => joint.2.motor-pos-fb
- net z-enable <= joint.2.amp-enable-out
- net z-enable => hm2_5i25.0.stepgen.02.enable
- # ---setup home / limit switch signals---
- net max-home-z => joint.2.home-sw-in
- net min-z => joint.2.neg-lim-sw-in
- net max-home-z => joint.2.pos-lim-sw-in
- #*******************
- # AXIS B JOINT 3
- #*******************
- setp pid.b.Pgain [JOINT_3]P
- setp pid.b.Igain [JOINT_3]I
- setp pid.b.Dgain [JOINT_3]D
- setp pid.b.bias [JOINT_3]BIAS
- setp pid.b.FF0 [JOINT_3]FF0
- setp pid.b.FF1 [JOINT_3]FF1
- setp pid.b.FF2 [JOINT_3]FF2
- setp pid.b.deadband [JOINT_3]DEADBAND
- setp pid.b.maxoutput [JOINT_3]MAX_OUTPUT
- setp pid.b.error-previous-target true
- setp pid.b.maxerror .000
- net b-index-enable <=> pid.b.index-enable
- net b-enable => pid.b.enable
- net b-pos-cmd => pid.b.command
- net b-vel-cmd => pid.b.command-deriv
- net b-pos-fb => pid.b.feedback
- net b-output <= pid.b.output
- # Step Gen signals/setup
- setp hm2_5i25.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP
- setp hm2_5i25.0.stepgen.03.dirhold [JOINT_3]DIRHOLD
- setp hm2_5i25.0.stepgen.03.steplen [JOINT_3]STEPLEN
- setp hm2_5i25.0.stepgen.03.stepspace [JOINT_3]STEPSPACE
- setp hm2_5i25.0.stepgen.03.position-scale [JOINT_3]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_3]STEPGEN_MAXACCEL
- setp hm2_5i25.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
- # ---closedloop stepper signals---
- net b-pos-cmd <= joint.3.motor-pos-cmd
- net b-vel-cmd <= joint.3.vel-cmd
- net b-output <= hm2_5i25.0.stepgen.03.velocity-cmd
- net b-pos-fb <= hm2_5i25.0.stepgen.03.position-fb
- net b-pos-fb => joint.3.motor-pos-fb
- net b-enable <= joint.3.amp-enable-out
- net b-enable => hm2_5i25.0.stepgen.03.enable
- # ---setup home / limit switch signals---
- # net max-home-z => joint.2.home-sw-in
- # net min-z => joint.2.neg-lim-sw-in
- # net max-home-z => joint.2.pos-lim-sw-in
- #*******************
- # AXIS C JOINT 4
- #*******************
- setp pid.c.Pgain [JOINT_4]P
- setp pid.c.Igain [JOINT_4]I
- setp pid.c.Dgain [JOINT_4]D
- setp pid.c.bias [JOINT_4]BIAS
- setp pid.c.FF0 [JOINT_4]FF0
- setp pid.c.FF1 [JOINT_4]FF1
- setp pid.c.FF2 [JOINT_4]FF2
- setp pid.c.deadband [JOINT_4]DEADBAND
- setp pid.c.maxoutput [JOINT_4]MAX_OUTPUT
- setp pid.c.error-previous-target true
- setp pid.c.maxerror .0005
- net c-index-enable <=> pid.c.index-enable
- net c-enable => pid.c.enable
- net c-pos-cmd => pid.c.command
- net c-vel-cmd => pid.c.command-deriv
- net c-pos-fb => pid.c.feedback
- net c-output <= pid.c.output
- # 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 1
- setp hm2_5i25.0.stepgen.04.maxaccel [JOINT_4]STEPGEN_MAXACCEL
- setp hm2_5i25.0.stepgen.04.maxvel [JOINT_4]STEPGEN_MAXVEL
- # ---closedloop stepper signals---
- net c-pos-cmd <= joint.4.motor-pos-cmd
- net c-vel-cmd <= joint.4.vel-cmd
- net c-output <= hm2_5i25.0.stepgen.04.velocity-cmd
- net c-pos-fb <= hm2_5i25.0.stepgen.04.position-fb
- net c-pos-fb => joint.4.motor-pos-fb
- net c-enable <= joint.4.amp-enable-out
- net c-enable => hm2_5i25.0.stepgen.04.enable
- #*******************
- # Tandem AXIS y2 JOINT 5
- #*******************
- setp pid.y2.Pgain [JOINT_5]P
- setp pid.y2.Igain [JOINT_5]I
- setp pid.y2.Dgain [JOINT_5]D
- setp pid.y2.bias [JOINT_5]BIAS
- setp pid.y2.FF0 [JOINT_5]FF0
- setp pid.y2.FF1 [JOINT_5]FF1
- setp pid.y2.FF2 [JOINT_5]FF2
- setp pid.y2.deadband [JOINT_5]DEADBAND
- setp pid.y2.maxoutput [JOINT_5]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.05.dirsetup [JOINT_5]DIRSETUP
- setp hm2_5i25.0.stepgen.05.dirhold [JOINT_5]DIRHOLD
- setp hm2_5i25.0.stepgen.05.steplen [JOINT_5]STEPLEN
- setp hm2_5i25.0.stepgen.05.stepspace [JOINT_5]STEPSPACE
- setp hm2_5i25.0.stepgen.05.position-scale [JOINT_5]STEP_SCALE
- setp hm2_5i25.0.stepgen.05.step_type 0
- setp hm2_5i25.0.stepgen.05.control-type 1
- setp hm2_5i25.0.stepgen.05.maxaccel [JOINT_5]STEPGEN_MAXACCEL
- setp hm2_5i25.0.stepgen.05.maxvel [JOINT_5]STEPGEN_MAXVEL
- # ---closedloop stepper signals---
- net y2-pos-cmd <= joint.5.motor-pos-cmd
- net y2-vel-cmd <= joint.5.vel-cmd
- net y2-output <= hm2_5i25.0.stepgen.05.velocity-cmd
- net y2-pos-fb <= hm2_5i25.0.stepgen.05.position-fb
- net y2-pos-fb => joint.5.motor-pos-fb
- net y2-enable <= joint.5.amp-enable-out
- net y2-enable => hm2_5i25.0.stepgen.05.enable
- # ---setup home / limit switch signals---
- net min-home-y2 => joint.5.home-sw-in
- net min-home-y2 => joint.5.neg-lim-sw-in
- net max-y2 => joint.5.pos-lim-sw-in
- # *************************************************************************************************************
- # *************************************************************************************************************
- # *************************************************************************************************************
- # *************************************************************************************************************
- #******************************
- # connect miscellaneous signals
- #******************************
- # ---HALUI signals---
- net axis-select-x halui.axis.x.select
- net jog-x-pos halui.axis.x.plus
- net jog-x-neg halui.axis.x.minus
- net jog-x-analog halui.axis.x.analog
- net x-is-homed halui.joint.0.is-homed
- net axis-select-y halui.axis.y.select
- net jog-y-pos halui.axis.y.plus
- net jog-y-neg halui.axis.y.minus
- net jog-y-analog halui.axis.y.analog
- net y-is-homed halui.joint.1.is-homed
- net axis-select-z halui.axis.z.select
- net jog-z-pos halui.axis.z.plus
- net jog-z-neg halui.axis.z.minus
- net jog-z-analog halui.axis.z.analog
- net z-is-homed halui.joint.2.is-homed
- net axis-select-b halui.axis.b.select
- net jog-b-pos halui.axis.b.plus
- net jog-b-neg halui.axis.b.minus
- net jog-b-analog halui.axis.b.analog
- net b-is-homed halui.joint.3.is-homed
- net axis-select-c halui.axis.c.select
- net jog-c-pos halui.axis.c.plus
- net jog-c-neg halui.axis.c.minus
- net jog-c-analog halui.axis.c.analog
- net c-is-homed halui.joint.4.is-homed
- net axis-select-w halui.axis.w.select
- net jog-w-pos halui.axis.w.plus
- net jog-w-neg halui.axis.w.minus
- net jog-w-analog halui.axis.w.analog
- net w-is-homed halui.joint.5.is-homed
- net jog-selected-pos halui.axis.selected.plus
- net jog-selected-neg halui.axis.selected.minus
- net machine-is-on halui.machine.is-on
- net jog-speed halui.axis.jog-speed
- net MDI-mode halui.mode.is-mdi
- # ---motion control signals---
- net in-position <= motion.in-position
- net machine-is-enabled <= motion.motion-enabled
- # ---digital in / out signals---
- # ---manual tool change signals---
- loadusr -W hal_manualtoolchange
- net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
- net tool-change-confirmed 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
- # ---estop signals---
- #net estop-out <= iocontrol.0.user-enable-out
- net estop-ext => iocontrol.0.emc-enable-in
Advertisement
Add Comment
Please, Sign In to add comment