# Generated by PNCconf at Tue Jul 9 15:53:16 2013 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES #loadrt probe_parport loadrt hostmot2 loadrt hm2_pci config=" num_encoders=4 num_pwmgens=0 num_3pwmgens=0 num_stepgens=4 sserial_port_0=0xxxxxxx " setp hm2_5i25.0.watchdog.timeout_ns 10000000 #loadrt hal_parport cfg="0x0278 in" loadrt pid names=pid.x,pid.y,pid.z #loadrt abs names= #loadrt lowpass names= #loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10 #addf parport.0.read servo-thread #addf parport.0.write servo-thread 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.y.do-pid-calcs servo-thread addf pid.z.do-pid-calcs servo-thread #addf classicladder.0.refresh servo-thread addf hm2_5i25.0.write servo-thread #addf hm2_5i25.0.pet_watchdog servo-thread #******************* # 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-vel-fb => pid.x.feedback-deriv net x-pos-fb => pid.x.feedback # Step Gen signals/setup setp hm2_5i25.0.stepgen.00.dirsetup [AXIS_0]DIRSETUP setp hm2_5i25.0.stepgen.00.dirhold [AXIS_0]DIRHOLD setp hm2_5i25.0.stepgen.00.steplen [AXIS_0]STEPLEN setp hm2_5i25.0.stepgen.00.stepspace [AXIS_0]STEPSPACE setp hm2_5i25.0.stepgen.00.position-scale [AXIS_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 18 setp hm2_5i25.0.stepgen.00.maxvel 12.5 # ---closedloop stepper signals--- net x-pos-cmd axis.0.motor-pos-cmd net x-output => hm2_5i25.0.stepgen.00.velocity-cmd net x-enable axis.0.amp-enable-out => hm2_5i25.0.stepgen.00.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 [AXIS_0]ENCODER_SCALE net x-pos-fb <= hm2_5i25.0.encoder.00.position net x-vel-fb <= hm2_5i25.0.encoder.00.velocity net x-pos-fb => axis.0.motor-pos-fb net x-index-enable axis.0.index-enable <=> hm2_5i25.0.encoder.00.index-enable net x-pos-rawcounts <= hm2_5i25.0.encoder.00.rawcounts # ---setup home / limit switch signals--- #net min-home-x => axis.0.home-sw-in #net min-home-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 net y-index-enable <=> pid.y.index-enable net y-enable => pid.y.enable net y-output => pid.y.output net y-pos-cmd => pid.y.command net y-vel-fb => pid.y.feedback-deriv net y-pos-fb => pid.y.feedback # Step Gen signals/setup setp hm2_5i25.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP setp hm2_5i25.0.stepgen.01.dirhold [AXIS_1]DIRHOLD setp hm2_5i25.0.stepgen.01.steplen [AXIS_1]STEPLEN setp hm2_5i25.0.stepgen.01.stepspace [AXIS_1]STEPSPACE setp hm2_5i25.0.stepgen.01.position-scale [AXIS_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 18 setp hm2_5i25.0.stepgen.01.maxvel 12.5 # ---closedloop stepper signals--- net y-pos-cmd axis.1.motor-pos-cmd net y-output => hm2_5i25.0.stepgen.01.velocity-cmd net y-enable axis.1.amp-enable-out => hm2_5i25.0.stepgen.01.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 [AXIS_1]ENCODER_SCALE net y-pos-fb <= hm2_5i25.0.encoder.01.position net y-vel-fb <= hm2_5i25.0.encoder.01.velocity net y-pos-fb => axis.1.motor-pos-fb net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts # ---setup home / limit switch signals--- #net max-home-y => axis.1.home-sw-in #net min-y => axis.1.neg-lim-sw-in #net max-home-y => 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 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-vel-fb => pid.z.feedback-deriv net z-pos-fb => pid.z.feedback # Step Gen signals/setup setp hm2_5i25.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP setp hm2_5i25.0.stepgen.02.dirhold [AXIS_2]DIRHOLD setp hm2_5i25.0.stepgen.02.steplen [AXIS_2]STEPLEN setp hm2_5i25.0.stepgen.02.stepspace [AXIS_2]STEPSPACE setp hm2_5i25.0.stepgen.02.position-scale [AXIS_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 25 setp hm2_5i25.0.stepgen.02.maxvel 8 # ---closedloop stepper signals--- net z-pos-cmd axis.2.motor-pos-cmd net z-output => hm2_5i25.0.stepgen.02.velocity-cmd net z-enable axis.2.amp-enable-out => hm2_5i25.0.stepgen.02.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 [AXIS_2]ENCODER_SCALE net z-pos-fb <= hm2_5i25.0.encoder.02.position net z-vel-fb <= hm2_5i25.0.encoder.02.velocity net z-pos-fb => axis.2.motor-pos-fb net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable net z-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts # ---setup home / limit switch signals--- #net max-home-z => axis.2.home-sw-in #net min-z => axis.2.neg-lim-sw-in #net max-home-z => axis.2.pos-lim-sw-in #******************* # SPINDLE S #******************* # ---setup spindle control signals--- # ---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 # Load Classicladder without GUI (can reload LADDER GUI in AXIS GUI #loadusr classicladder --nogui custom.clp