# Generated by PNCconf at Thu Feb 8 19:12:44 2018 # Все изменения в этом файле будут перезаписаны # 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_eth config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=0xxxxx" setp hm2_7i92.0.watchdog.timeout_ns 5000000 loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 numBits=50 numWords=50 loadrt mux16 names=jogincr,foincr,mvoincr,soincr addf hm2_7i92.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.a.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf classicladder.0.refresh servo-thread addf jogincr servo-thread addf foincr servo-thread addf mvoincr servo-thread addf soincr servo-thread addf hm2_7i92.0.write servo-thread # external output signals # --- DOUT-00 --- net dout-00 hm2_7i92.0.7i76.0.0.output-01 # --- SPINDLE-ON --- net spindle-on hm2_7i92.0.7i76.0.0.output-02 # --- DOUT-01 --- net dout-01 hm2_7i92.0.7i76.0.0.output-03 # --- COOLANT-FLOOD --- net coolant-flood hm2_7i92.0.7i76.0.0.output-04 # --- DOUT-02 --- net dout-02 hm2_7i92.0.7i76.0.0.output-05 # external input signals # --- ESTOP-EXT --- net estop-ext <= hm2_7i92.0.7i76.0.0.input-01 # --- HOME-X --- net home-x <= hm2_7i92.0.7i76.0.0.input-02 # --- HOME-Z --- net home-z <= hm2_7i92.0.7i76.0.0.input-04 # --- HOME-A --- net home-a <= hm2_7i92.0.7i76.0.0.input-05 # --- MIN-X --- net min-x <= hm2_7i92.0.7i76.0.0.input-07 # --- MAX-X --- net max-x <= hm2_7i92.0.7i76.0.0.input-08 # --- DIN-00 --- net din-00 <= hm2_7i92.0.7i76.0.0.input-09 # --- DIN-01 --- net din-01 <= hm2_7i92.0.7i76.0.0.input-10 # --- DIN-02 --- net din-02 <= hm2_7i92.0.7i76.0.0.input-11 # --- DIN-03 --- net din-03 <= hm2_7i92.0.7i76.0.0.input-12 #******************* # 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 # Step Gen signals/setup setp hm2_7i92.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP setp hm2_7i92.0.stepgen.00.dirhold [AXIS_0]DIRHOLD setp hm2_7i92.0.stepgen.00.steplen [AXIS_0]STEPLEN setp hm2_7i92.0.stepgen.00.stepspace [AXIS_0]STEPSPACE setp hm2_7i92.0.stepgen.00.position-scale [AXIS_0]STEP_SCALE setp hm2_7i92.0.stepgen.00.step_type 0 setp hm2_7i92.0.stepgen.00.control-type 1 setp hm2_7i92.0.stepgen.00.maxaccel [AXIS_0]STEPGEN_MAXACCEL setp hm2_7i92.0.stepgen.00.maxvel [AXIS_0]STEPGEN_MAXVEL # ---closedloop stepper signals--- net x-pos-cmd <= axis.0.motor-pos-cmd net x-vel-cmd <= axis.0.joint-vel-cmd net x-output <= hm2_7i92.0.stepgen.00.velocity-cmd net x-pos-fb <= hm2_7i92.0.stepgen.00.position-fb net x-pos-fb => axis.0.motor-pos-fb net x-enable <= axis.0.amp-enable-out net x-enable => hm2_7i92.0.stepgen.00.enable # ---setup home / limit switch signals--- net home-x => axis.0.home-sw-in net min-x => axis.0.neg-lim-sw-in net max-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 # Step Gen signals/setup setp hm2_7i92.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP setp hm2_7i92.0.stepgen.01.dirhold [AXIS_1]DIRHOLD setp hm2_7i92.0.stepgen.01.steplen [AXIS_1]STEPLEN setp hm2_7i92.0.stepgen.01.stepspace [AXIS_1]STEPSPACE setp hm2_7i92.0.stepgen.01.position-scale [AXIS_1]STEP_SCALE setp hm2_7i92.0.stepgen.01.step_type 0 setp hm2_7i92.0.stepgen.01.control-type 1 setp hm2_7i92.0.stepgen.01.maxaccel [AXIS_1]STEPGEN_MAXACCEL setp hm2_7i92.0.stepgen.01.maxvel [AXIS_1]STEPGEN_MAXVEL # ---closedloop stepper signals--- net y-pos-cmd <= axis.1.motor-pos-cmd net y-vel-cmd <= axis.1.joint-vel-cmd net y-output <= hm2_7i92.0.stepgen.01.velocity-cmd net y-pos-fb <= hm2_7i92.0.stepgen.01.position-fb net y-pos-fb => axis.1.motor-pos-fb net y-enable <= axis.1.amp-enable-out net y-enable => hm2_7i92.0.stepgen.01.enable # ---setup home / limit switch signals--- net y-home-sw => axis.1.home-sw-in net y-neg-limit => axis.1.neg-lim-sw-in net y-pos-limit => 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 # Step Gen signals/setup setp hm2_7i92.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP setp hm2_7i92.0.stepgen.02.dirhold [AXIS_2]DIRHOLD setp hm2_7i92.0.stepgen.02.steplen [AXIS_2]STEPLEN setp hm2_7i92.0.stepgen.02.stepspace [AXIS_2]STEPSPACE setp hm2_7i92.0.stepgen.02.position-scale [AXIS_2]STEP_SCALE setp hm2_7i92.0.stepgen.02.step_type 0 setp hm2_7i92.0.stepgen.02.control-type 1 setp hm2_7i92.0.stepgen.02.maxaccel [AXIS_2]STEPGEN_MAXACCEL setp hm2_7i92.0.stepgen.02.maxvel [AXIS_2]STEPGEN_MAXVEL # ---closedloop stepper signals--- net z-pos-cmd <= axis.2.motor-pos-cmd net z-vel-cmd <= axis.2.joint-vel-cmd net z-output <= hm2_7i92.0.stepgen.02.velocity-cmd net z-pos-fb <= hm2_7i92.0.stepgen.02.position-fb net z-pos-fb => axis.2.motor-pos-fb net z-enable <= axis.2.amp-enable-out net z-enable => hm2_7i92.0.stepgen.02.enable # ---setup home / limit switch signals--- net home-z => 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 #******************* # AXIS A #******************* setp pid.a.Pgain [AXIS_3]P setp pid.a.Igain [AXIS_3]I setp pid.a.Dgain [AXIS_3]D setp pid.a.bias [AXIS_3]BIAS setp pid.a.FF0 [AXIS_3]FF0 setp pid.a.FF1 [AXIS_3]FF1 setp pid.a.FF2 [AXIS_3]FF2 setp pid.a.deadband [AXIS_3]DEADBAND setp pid.a.maxoutput [AXIS_3]MAX_OUTPUT setp pid.a.error-previous-target true setp pid.a.maxerror .0005 net a-index-enable <=> pid.a.index-enable net a-enable => pid.a.enable net a-pos-cmd => pid.a.command net a-vel-cmd => pid.a.command-deriv net a-pos-fb => pid.a.feedback net a-output => pid.a.output # Step Gen signals/setup setp hm2_7i92.0.stepgen.03.dirsetup [AXIS_3]DIRSETUP setp hm2_7i92.0.stepgen.03.dirhold [AXIS_3]DIRHOLD setp hm2_7i92.0.stepgen.03.steplen [AXIS_3]STEPLEN setp hm2_7i92.0.stepgen.03.stepspace [AXIS_3]STEPSPACE setp hm2_7i92.0.stepgen.03.position-scale [AXIS_3]STEP_SCALE setp hm2_7i92.0.stepgen.03.step_type 0 setp hm2_7i92.0.stepgen.03.control-type 1 setp hm2_7i92.0.stepgen.03.maxaccel [AXIS_3]STEPGEN_MAXACCEL setp hm2_7i92.0.stepgen.03.maxvel [AXIS_3]STEPGEN_MAXVEL # ---closedloop stepper signals--- net a-pos-cmd <= axis.3.motor-pos-cmd net a-vel-cmd <= axis.3.joint-vel-cmd net a-output <= hm2_7i92.0.stepgen.03.velocity-cmd net a-pos-fb <= hm2_7i92.0.stepgen.03.position-fb net a-pos-fb => axis.3.motor-pos-fb net a-enable <= axis.3.amp-enable-out net a-enable => hm2_7i92.0.stepgen.03.enable # ---setup home / limit switch signals--- net home-a => axis.3.home-sw-in net a-neg-limit => axis.3.neg-lim-sw-in net a-pos-limit => axis.3.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 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 # ---Setup spindle at speed signals--- sets spindle-at-speed true #****************************** # 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 joint-select-d halui.joint.3.select net a-is-homed halui.joint.3.is-homed net jog-a-pos halui.jog.3.plus net jog-a-neg halui.jog.3.minus net jog-a-analog halui.jog.3.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 # ---jog button signals--- sets jog-speed 1.000000 sets selected-jog-incr 0.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 100.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 max velocity overide increments - switches setp halui.max-velocity.count-enable true setp halui.max-velocity.direct-value true setp halui.max-velocity.scale 20.000000 net max-vel-override-incr => halui.max-velocity.counts net mvo-incr-a => mvoincr.sel0 net mvo-incr-b => mvoincr.sel1 net mvo-incr-c => mvoincr.sel2 net mvo-incr-d => mvoincr.sel3 net max-vel-override-incr <= mvoincr.out-s setp mvoincr.debounce-time 0.200000 setp mvoincr.use-graycode False setp mvoincr.suppress-no-input False setp mvoincr.in00 0.000000 setp mvoincr.in01 5.000000 setp mvoincr.in02 10.000000 setp mvoincr.in03 25.000000 setp mvoincr.in04 50.000000 setp mvoincr.in05 75.000000 setp mvoincr.in06 90.000000 setp mvoincr.in07 100.000000 setp mvoincr.in08 100.000000 setp mvoincr.in09 100.000000 setp mvoincr.in10 100.000000 setp mvoincr.in11 100.000000 setp mvoincr.in12 100.000000 setp mvoincr.in13 100.000000 setp mvoincr.in14 100.000000 setp mvoincr.in15 100.000000 # connect spindle overide increments - MPG setp halui.spindle-override.direct-value false setp halui.spindle-override.scale .01 net so-enable => halui.spindle-override.count-enable net joint-selected-count => halui.spindle-override.counts # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- net dout-00 <= motion.digital-out-00 net dout-01 <= motion.digital-out-01 net dout-02 <= motion.digital-out-02 net din-00 => motion.digital-in-00 net din-01 => motion.digital-in-01 net din-02 => motion.digital-in-02 net din-03 => motion.digital-in-03 # ---estop signals--- net estop-out <= iocontrol.0.user-enable-out net estop-ext => iocontrol.0.emc-enable-in # ---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 # Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI loadusr classicladder --nogui custom.clp