# Generated by PNCconf at Tue Dec 27 13:45:21 2011 # Edited 12/27/12 Jeff Johnson # overwritten when you run PNCconf again loadrt trivkins loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt probe_parport loadrt hostmot2 loadrt hm2_pci config="firmware=hm2/5i23/rmsvss6_8.bit num_resolvers=5 num_pwmgens=5 num_3pwmgens=0 num_stepgens=0" setp hm2_5i23.0.pwmgen.pwm_frequency 24000 setp hm2_5i23.0.pwmgen.pdm_frequency 6000 setp hm2_5i23.0.watchdog.timeout_ns 10000000 loadrt pid names=pid.x,pid.z loadrt abs names=abs.0,abs.1,abs.2,abs.3 loadrt lowpass names=lowpass.0,lowpass.1,lowpass.2,lowpass.3 loadrt scale names=scale.0,scale.1,scale.2,scale.3 loadrt classicladder_rt numPhysInputs=96 numPhysOutputs=48 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 numTimersIec=50 loadrt mux16 names=foincr,soincr loadrt and2 count=3 loadrt or2 count=1 loadrt gearchange addf hm2_5i23.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.z.do-pid-calcs servo-thread addf classicladder.0.refresh servo-thread addf foincr servo-thread addf soincr servo-thread addf hm2_5i23.0.write servo-thread addf hm2_5i23.0.pet_watchdog servo-thread addf lowpass.0 servo-thread addf abs.0 servo-thread addf scale.0 servo-thread addf and2.0 servo-thread addf and2.1 servo-thread addf and2.2 servo-thread addf or2.0 servo-thread addf gearchange.0 servo-thread # external output signals #net spindle-low-range-sol <=== hm2_5i23.0.7i71.0.3.output-00 #net spindle-high-range-sol <=== hm2_5i23.0.7i71.0.3.output-01 #net spindle-run-sol <=== hm2_5i23.0.7i71.0.3.output-02 #net spindle-brake-sol <=== hm2_5i23.0.7i71.0.3.output-03 #net spindle-free-sol <=== hm2_5i23.0.7i71.0.3.output-04 #net hydraulic-motor-on ===> hm2_5i23.0.7i71.0.3.output-05 #net electrics-on-rel <=== hm2_5i23.0.7i71.0.3.output-06 #net advance-tailstock-sol <=== hm2_5i23.0.7i71.0.3.output-07 #net retract-tailstock-sol <=== hm2_5i23.0.7i71.0.3.output-08 #net outer-tool-coolant-sol <=== hm2_5i23.0.7i71.0.3.output-09 #net inner-tool-coolant-sol <=== hm2_5i23.0.7i71.0.3.output-10 #net slide-lube-sol <=== hm2_5i23.0.7i71.0.3.output-11 #net spindle-motor-on-permission-rel <=== hm2_5i23.0.7i71.0.3.output-12 #net spindle-motor-on-command-rel <=== hm2_5i23.0.7i71.0.3.output-13 #net turret-unclamp-sol <=== hm2_5i23.0.7i71.0.3.output-14 #net turret-index-sol <=== hm2_5i23.0.7i71.0.3.output-15 #net tailstock-up-sol <=== hm2_5i23.0.7i71.0.3.output-16 #net tailstock-down-sol <=== hm2_5i23.0.7i71.0.3.output-17 #net feed-hold-light <=== hm2_5i23.0.7i71.0.3.output-18 #net in-cycle-light <=== hm2_5i23.0.7i71.0.3.output-19 #net master-control-relay-rel <=== hm2_5i23.0.7i71.0.3.output-20 # external input signals #net x-axis-select <=== hm2_5i23.0.7i70.0.0.input-00 #net plus-direction <=== hm2_5i23.0.7i70.0.0.input-01 #net minus-direction <=== hm2_5i23.0.7i70.0.0.input-02 #net z-axis-select <=== hm2_5i23.0.7i70.0.0.input-03 #net cycle-start <=== hm2_5i23.0.7i70.0.0.input-04 #net feedrate-percent-a <=== hm2_5i23.0.7i70.0.0.input-05 #net feedrate-percent-b <=== hm2_5i23.0.7i70.0.0.input-06 #net feedrate-percent-c <=== hm2_5i23.0.7i70.0.0.input-07 #net feedrate-percent-d <=== hm2_5i23.0.7i70.0.0.input-08 #net feed-hold <=== hm2_5i23.0.7i70.0.0.input-09 #net distance-00001 <=== hm2_5i23.0.7i70.0.0.input-10 #net distance-0001 <=== hm2_5i23.0.7i70.0.0.input-11 #net distance-001 <=== hm2_5i23.0.7i70.0.0.input-12 #net distance-01 <=== hm2_5i23.0.7i70.0.0.input-13 #net distance-1 <=== hm2_5i23.0.7i70.0.0.input-14 #net distance-cont <=== hm2_5i23.0.7i70.0.0.input-15 #net feed-rate-001 <=== hm2_5i23.0.7i70.0.0.input-16 #net feed-rate-01 <=== hm2_5i23.0.7i70.0.0.input-17 #net feed-rate-1 <=== hm2_5i23.0.7i70.0.0.input-18 #net <=== hm2_5i23.0.7i70.0.0.input-19 #net <=== hm2_5i23.0.7i70.0.0.input-20 #net turret-jog <=== hm2_5i23.0.7i70.0.0.input-21 #net coolant-on <=== hm2_5i23.0.7i70.0.0.input-22 #net coolant-off <=== hm2_5i23.0.7i70.0.0.input-23 #net tailstock-advance <=== hm2_5i23.0.7i70.0.0.input-24 #net tailstock-retract <=== hm2_5i23.0.7i70.0.0.input-25 #net tailstock-up <=== hm2_5i23.0.7i70.0.0.input-26 #net tailstock-down <=== hm2_5i23.0.7i70.0.0.input-27 #net e-stop <=== hm2_5i23.0.7i70.0.0.input-28 #net spindle-brake <=== hm2_5i23.0.7i70.0.0.input-29 #net spindle-neutral <=== hm2_5i23.0.7i70.0.0.input-30 #net rolling-guard-prox <=== hm2_5i23.0.7i70.0.0.input-31 #net servos-enabled <=== hm2_5i23.0.7i70.0.0.input-32 #net axis-feed-limit-overtravel <=== hm2_5i23.0.7i70.0.0.input-33 #net hydraulic-motor <=== hm2_5i23.0.7i70.0.0.input-34 #net coolant-motor <=== hm2_5i23.0.7i70.0.0.input-35 #net heat-exchanger-motor <=== hm2_5i23.0.7i70.0.0.input-36 #net chip-conveyor-motor <=== hm2_5i23.0.7i70.0.0.input-37 #net spindle-blower-motor <=== hm2_5i23.0.7i70.0.0.input-38 net up-to-speed <=== hm2_5i23.0.7i70.0.0.input-39 #net m-contactor <=== hm2_5i23.0.7i70.0.0.input-40 #net fault <=== hm2_5i23.0.7i70.0.0.input-41 #net motor-OL <=== hm2_5i23.0.7i70.0.0.input-42 #net low-speed <=== hm2_5i23.0.7i70.0.0.input-43 #net spindle-motor-temp <=== hm2_5i23.0.7i70.0.0.input-44 #net x-axis-motor-overload <=== hm2_5i23.0.7i70.0.0.input-45 #net z-axis-motor-overload <=== hm2_5i23.0.7i70.0.0.input-46 #net z-axis-motor-temp <=== hm2_5i23.0.7i70.0.0.input-47 #net hydraulic-pressure-over-600psi <=== hm2_5i23.0.7i70.0.1.input-00 #net spindle-lube-pressure-ok <=== hm2_5i23.0.7i70.0.1.input-01 #net spindle-lube-oil-temp <=== hm2_5i23.0.7i70.0.1.input-02 #net oil-in-resevoir <=== hm2_5i23.0.7i70.0.1.input-03 #net hydraulic-filter-bypassing <=== hm2_5i23.0.7i70.0.1.input-04 #net manual-slide-lube <=== hm2_5i23.0.7i70.0.1.input-05 #net turret-clamped <=== hm2_5i23.0.7i70.0.1.input-06 #net turret-unclamped <=== hm2_5i23.0.7i70.0.1.input-07 #net turret-in-final-position <=== hm2_5i23.0.7i70.0.1.input-08 #net turret-position-strobe <=== hm2_5i23.0.7i70.0.1.input-09 #net turret-position-bcd-1 <=== hm2_5i23.0.7i70.0.1.input-10 #net turret-position-bcd-2 <=== hm2_5i23.0.7i70.0.1.input-11 #net turret-position-bcd-4 <=== hm2_5i23.0.7i70.0.1.input-12 #net lube-cycle <=== hm2_5i23.0.7i70.0.1.input-13 #net x-motor-overtemp <=== hm2_5i23.0.7i70.0.1.input-14 #net tailstock-up-permission <=== hm2_5i23.0.7i70.0.1.input-15 #net tailstock-up-limit <=== hm2_5i23.0.7i70.0.1.input-16 #net tailstock-down-limit <=== hm2_5i23.0.7i70.0.1.input-17 #net spindle-running-in-low-range <=== hm2_5i23.0.7i70.0.1.input-18 net spindle-running-in-high-range <=== hm2_5i23.0.7i70.0.1.input-19 #net master-stop <=== hm2_5i23.0.7i70.0.1.input-20 net x-pos-overtravel <=== hm2_5i23.0.7i70.0.1.input-24 net x-neg-overtravel <=== hm2_5i23.0.7i70.0.1.input-25 net z-pos-overtravel <=== hm2_5i23.0.7i70.0.1.input-26 net z-neg-overtravel <=== hm2_5i23.0.7i70.0.1.input-27 #******************* # 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 net x-index-enable <=> pid.x.index-enable net x-enable => pid.x.enable net x-output => pid.x.output net x-pos-cmd => pid.x.command net x-pos-fb => pid.x.feedback # ---PWM Generator signals/setup--- setp hm2_5i23.0.pwmgen.04.output-type 2 setp hm2_5i23.0.pwmgen.04.scale [AXIS_0]OUTPUT_SCALE net x-output => hm2_5i23.0.pwmgen.04.value net x-pos-cmd axis.0.motor-pos-cmd net x-enable axis.0.amp-enable-out => hm2_5i23.0.pwmgen.04.enable # ---Reslover feedback signals/setup--- setp hm2_5i23.0.resolver.04.scale [AXIS_0]RESOLVER_SCALE net x-pos-fb <= hm2_5i23.0.resolver.04.position net x-pos-fb => axis.0.motor-pos-fb # ---setup home / limit switch signals--- #net x-home-sw => axis.0.home-sw-in #net x-neg-limit => axis.0.neg-lim-sw-in #net x-pos-limit => axis.0.pos-lim-sw-in #============================SRT===================== net x-neg-overtravel ===> axis.0.neg-lim-sw-in net x-pos-overtravel ===> axis.0.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 net z-index-enable <=> pid.z.index-enable net z-enable => pid.z.enable net z-output => pid.z.output net z-pos-cmd => pid.z.command net z-pos-fb => pid.z.feedback # ---PWM Generator signals/setup--- setp hm2_5i23.0.pwmgen.02.output-type 2 setp hm2_5i23.0.pwmgen.02.scale [AXIS_2]OUTPUT_SCALE net z-output => hm2_5i23.0.pwmgen.02.value net z-pos-cmd axis.2.motor-pos-cmd net z-enable axis.2.amp-enable-out => hm2_5i23.0.pwmgen.02.enable # ---Resolver feedback signals/setup--- setp hm2_5i23.0.resolver.02.scale [AXIS_2]RESOLVER_SCALE net z-pos-fb <= hm2_5i23.0.resolver.02.position net z-pos-fb => axis.2.motor-pos-fb # ---setup home / limit switch signals--- #net z-home-sw => axis.2.home-sw-in #net z-neg-limit => axis.2.neg-lim-sw-in #net z-pos-limit => axis.2.pos-lim-sw-in #============================SRT===================== net z-pos-overtravel ===> axis.2.pos-lim-sw-in net z-neg-overtravel ===> axis.2.neg-lim-sw-in #==================================================== #******************* # SPINDLE S #******************* # ---PWM Generator signals/setup--- setp hm2_5i23.0.pwmgen.00.output-type 2 setp hm2_5i23.0.pwmgen.00.scale [SPINDLE_9]OUTPUT_SCALE net spindle-vel-cmd => hm2_5i23.0.pwmgen.00.value net spindle-enable => hm2_5i23.0.pwmgen.00.enable # ---Resolver feedback signals/setup--- setp hm2_5i23.0.resolver.00.velocity-scale 1 # motor speed in RPS setp hm2_5i23.0.resolver.00.scale [SPINDLE_9]RESOLVER_SCALE #setp hm2_5i23.0.resolver.00.lowpass.0 #setp hm2_5i23.0.resolver.00.index-invert 0 #setp hm2_5i23.0.resolver.00.index-mask 0 #setp hm2_5i23.0.resolver.00.index-mask-invert 0 net spindle-revs <= hm2_5i23.0.resolver.00.position net spindle-vel-fb <= hm2_5i23.0.resolver.00.velocity net spindle-index-enable <=> hm2_5i23.0.resolver.00.index-enable # ---setup spindle control signals--- net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps net spindle-junk <= motion.spindle-speed-out 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 => motion.spindle-speed-in net spindle-index-enable <=> motion.spindle-index-enable #=========================================================================================== #--------------SRT ADDED net spindle-enable ===> hm2_5i23.0.7i71.0.3.output-13 #-------------Gearchange------------------------------ setp gearchange.0.min1 30 setp gearchange.0.max1 950 setp gearchange.0.min2 95 setp gearchange.0.max2 3000 setp gearchange.0.scale2 3.1 setp gearchange.0.sel 0 setp scale.3.gain 60 setp lowpass.3.gain .01 net spindle-vel-fb ===> lowpass.0.in net spindle-fb-filtered-rps ===> abs.3.in net spindle-fb-filtered-abs-rps ===> scale.3.in net spindle-junk gearchange.0.speed-in net spindle-vel-cmd gearchange.0.speed-out #net scaled-spindle-vel pyvcp.spindle-speed net spindle-running-in-high-range ===> gearchange.0.sel #net spindle-vel lowpass.3.out #============================================================================================ # ---Setup spindle at speed signals--- #sets spindle-at-speed true setp scale.0.gain 60 setp lowpass.0.gain .0009 net spindle-vel-fb lowpass.0.in net spindle-fb-filtered-rps <= lowpass.0.out => abs.0.in net spindle-fb-filtered-abs-rps <= abs.0.out => scale.0.in net scaled-spindle-vel scale.0.out #****************************** # 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-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 #============================================ # SRT ADDED LINES #=========================================== #net machine-is-on ===> hm2_5i23.0.7i71.0.3.output-05 #net hydraulic-pressure-over-600psi ===> hm2_5i23.0.7i71.0.3.output-06 # ---coolant signals--- net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood <= iocontrol.0.coolant-flood # ---probe signal--- net probe-in => motion.probe-input # ---jog button signals--- sets jog-speed 1.000000 # connect feed overide increments - switches setp halui.feed-override.count-enable true setp halui.feed-override.direct-value true setp halui.feed-override.scale .01 net feedoverride-incr => halui.feed-override.counts net fo-incr-a => foincr.sel0 net fo-incr-b => foincr.sel1 net fo-incr-c => foincr.sel2 net fo-incr-d => foincr.sel3 net feedoverride-incr <= foincr.out-s setp foincr.debounce-time 0.200000 setp foincr.use-graycode False setp foincr.suppress-no-input False setp foincr.in00 0.000000 setp foincr.in01 5.000000 setp foincr.in02 10.000000 setp foincr.in03 25.000000 setp foincr.in04 50.000000 setp foincr.in05 75.000000 setp foincr.in06 90.000000 setp foincr.in07 100.000000 setp foincr.in08 110.000000 setp foincr.in09 125.000000 setp foincr.in10 140.000000 setp foincr.in11 150.000000 setp foincr.in12 165.000000 setp foincr.in13 180.000000 setp foincr.in14 190.000000 setp foincr.in15 200.000000 # connect spindle overide increments setp halui.spindle-override.count-enable true setp halui.spindle-override.direct-value true setp halui.spindle-override.scale .01 net spindleoverride-incr => halui.spindle-override.counts net so-incr-a => soincr.sel0 net so-incr-b => soincr.sel1 net so-incr-c => soincr.sel2 net so-incr-d => soincr.sel3 net spindleoverride-incr <= soincr.out-s setp soincr.debounce-time 0.200000 setp soincr.use-graycode False setp soincr.suppress-no-input False setp soincr.in00 0.000000 setp soincr.in01 5.000000 setp soincr.in02 10.000000 setp soincr.in03 25.000000 setp soincr.in04 50.000000 setp soincr.in05 75.000000 setp soincr.in06 90.000000 setp soincr.in07 100.000000 setp soincr.in08 110.000000 setp soincr.in09 125.000000 setp soincr.in10 140.000000 setp soincr.in11 150.000000 setp soincr.in12 165.000000 setp soincr.in13 180.000000 setp soincr.in14 190.000000 setp soincr.in15 200.000000 # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled #========================================================================== net machine-is-enabled ===> hm2_5i23.0.7i71.0.3.output-12 #=========================================================================== # ---digital in / out signals--- # ---estop signals--- #net estop-out <= iocontrol.0.user-enable-out #net estop-out => iocontrol.0.emc-enable-in # ---toolchange signals for custom tool changer--- net tool-number <= iocontrol.0.tool-prep-number net tool-change-request <= iocontrol.0.tool-change net tool-change-confirmed => iocontrol.0.tool-changed net tool-prepare-request <= iocontrol.0.tool-prepare net tool-prepare-confirmed => iocontrol.0.tool-prepared # Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI loadusr classicladder --nogui estop.clp