# Generated by stepconf 1.1 at Tue Apr 26 14:11:35 2016 # Все изменения в этом файле будут перезаписаны # при следующем запуске stepconf loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt hal_parport cfg="0x378 out 0xc010 in" setp parport.0.reset-time 5000 #loadrt stepgen step_type=0,0,0 loadrt stepgen step_type=0,0,0 ctrl_type=v,v,v #loadrt stepgen step_type=0,0,0 ctrl_type=p,v,v #loadrt pwmgen output_type=1 loadrt encoder num_chan=3 #loadrt pid num_chan=3 loadrt at_pid num_chan=3 addf parport.0.read base-thread addf parport.1.read base-thread addf stepgen.make-pulses base-thread #addf pwmgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread addf parport.1.write base-thread #encoder addf encoder.update-counters base-thread addf stepgen.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf stepgen.update-freq servo-thread #addf pwmgen.update servo-thread addf encoder.capture-position servo-thread addf pid.0.do-pid-calcs servo-thread addf pid.1.do-pid-calcs servo-thread addf pid.2.do-pid-calcs servo-thread #-------- Encoder-X --------# setp encoder.0.position-scale 200.00 net Xpos-phase-a encoder.0.phase-A net Xpos-phase-b encoder.0.phase-B net Xpos-phase-a <= parport.1.pin-02-in net Xpos-phase-b <= parport.1.pin-03-in # Add feedback to motion. This replaces sepgen.0.position-fb net Xpos-fb <= encoder.0.position net Xpos-fb => axis.0.motor-pos-fb #-------- Encoder-X --------# #-------- Encoder-Y --------# setp encoder.1.position-scale 200.00 net Ypos-phase-a encoder.1.phase-A net Ypos-phase-b encoder.1.phase-B net Ypos-phase-a <= parport.1.pin-04-in net Ypos-phase-b <= parport.1.pin-05-in # Add feedback to motion. This replaces sepgen.1.position-fb net Ypos-fb <= encoder.1.position net Ypos-fb => axis.1.motor-pos-fb #-------- Encoder-Y --------# #-------- Encoder-Z --------# setp encoder.2.position-scale 200.00 net Zpos-phase-a encoder.2.phase-A net Zpos-phase-b encoder.2.phase-B net Zpos-phase-a <= parport.1.pin-06-in net Zpos-phase-b <= parport.1.pin-07-in # Add feedback to motion. This replaces sepgen.2.position-fb net Zpos-fb <= encoder.2.position net Zpos-fb => axis.2.motor-pos-fb #-------- Encoder-Z --------# #-------- PID-X --------# net Xpos-fb => pid.0.feedback net Xpos-cmd axis.0.motor-pos-cmd => pid.0.command net xenable <= axis.0.amp-enable-out => pid.0.enable net Xvel-cmd <= pid.0.output setp pid.0.Pgain 50.0 setp pid.0.Igain 0.0 setp pid.0.Dgain 0.0 setp pid.0.bias 0 setp pid.0.FF0 0 setp pid.0.FF1 1.018 setp pid.0.FF2 0.003 #setp pid.0.deadband 0.0025 #setp pid.0.tune-mode 4 #setp pid.N.tune-cycles 4 #-------- PID-X --------# #-------- PID-Y --------# net Ypos-fb => pid.1.feedback net Ypos-cmd axis.1.motor-pos-cmd => pid.1.command net yenable <= axis.1.amp-enable-out => pid.1.enable net Yvel-cmd <= pid.1.output setp pid.1.Pgain 50. setp pid.1.Igain 0.0 setp pid.1.Dgain 0.0 setp pid.1.bias 0 setp pid.1.FF0 0 setp pid.1.FF1 2.0 setp pid.1.FF2 0.015 #setp pid.1.deadband 0.005 #-------- PID-Y --------# #-------- PID-Z --------# net Zpos-fb => pid.2.feedback net Zpos-cmd axis.2.motor-pos-cmd => pid.2.command net zenable <= axis.2.amp-enable-out => pid.2.enable net Zvel-cmd <= pid.2.output setp pid.2.Pgain 30.0 setp pid.2.Igain 0.00 setp pid.2.Dgain 0.0 setp pid.2.bias 0.0 setp pid.2.FF0 0.0 setp pid.2.FF1 1.0 setp pid.2.FF2 0.03 #setp pid.2.deadband 0.005 #-------- PID-Z --------# loadrt debounce cfg=4 addf debounce.0 servo-thread #addf debounce.1 servo-thread #addf debounce.2 servo-thread setp debounce.0.delay 30 #debounce.0.delay=1000 net home-x debounce.0.0.in net xhome-x debounce.0.0.out net home-y debounce.0.1.in net yhome-y debounce.0.1.out net home-z debounce.0.2.in net zhome-z debounce.0.2.out net probe-in debounce.0.3.in net probe-out debounce.0.3.out net probe-out motion.probe-input net spindle-cmd <= motion.spindle-speed-out net spindle-at-speed => motion.spindle-at-speed net spindle-on <= motion.spindle-on setp parport.0.pin-02-out-invert 1 net ystep => parport.0.pin-02-out setp parport.0.pin-02-out-reset 1 net ydir => parport.0.pin-03-out setp parport.0.pin-04-out-invert 1 net xstep => parport.0.pin-04-out setp parport.0.pin-04-out-reset 1 net xdir => parport.0.pin-05-out setp parport.0.pin-06-out-invert 1 net zstep => parport.0.pin-06-out setp parport.0.pin-06-out-reset 1 net zdir => parport.0.pin-07-out setp parport.0.pin-08-out-invert 1 net astep => parport.0.pin-08-out setp parport.0.pin-08-out-reset 1 net adir => parport.0.pin-09-out net spindle-on => parport.0.pin-16-out net xenable => parport.0.pin-17-out net home-x <= parport.0.pin-11-in-not net home-y <= parport.0.pin-10-in-not net home-z <= parport.0.pin-12-in-not net probe-in <= parport.0.pin-13-in-not #net min-x <= parport.1.pin-02-in #net max-x <= parport.1.pin-03-in #net min-y <= parport.1.pin-04-in #net max-y <= parport.1.pin-05-in #net min-z <= parport.1.pin-06-in #net max-z <= parport.1.pin-07-in setp stepgen.0.position-scale [AXIS_0]SCALE setp stepgen.0.steplen 1 setp stepgen.0.stepspace 0 setp stepgen.0.dirhold 15000 setp stepgen.0.dirsetup 15000 setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL #net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd net Xvel-cmd => stepgen.0.velocity-cmd #net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb net xstep <= stepgen.0.step net xdir <= stepgen.0.dir #net xenable axis.0.amp-enable-out => stepgen.0.enable net xenable stepgen.0.enable #net min-x => axis.0.neg-lim-sw-in #net max-x => axis.0.pos-lim-sw-in net xhome-x => axis.0.home-sw-in setp stepgen.1.position-scale [AXIS_1]SCALE setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 15000 setp stepgen.1.dirsetup 15000 setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL #net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd net Yvel-cmd => stepgen.1.velocity-cmd #net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb net ystep <= stepgen.1.step net ydir <= stepgen.1.dir net yenable axis.1.amp-enable-out => stepgen.1.enable #net min-y => axis.1.neg-lim-sw-in #net max-y => axis.1.pos-lim-sw-in net yhome-y => axis.1.home-sw-in setp stepgen.2.position-scale [AXIS_2]SCALE setp stepgen.2.steplen 1 setp stepgen.2.stepspace 0 setp stepgen.2.dirhold 15000 setp stepgen.2.dirsetup 15000 setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL #net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd net Zvel-cmd => stepgen.2.velocity-cmd #net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb net zstep <= stepgen.2.step net zdir <= stepgen.2.dir net zenable axis.2.amp-enable-out => stepgen.2.enable #net min-z => axis.2.neg-lim-sw-in #net max-z => axis.2.pos-lim-sw-in net zhome-z => axis.2.home-sw-in net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in loadusr -W hal_manualtoolchange net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change net tool-changed 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